@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Source+Serif+4:wght@400;600&display=swap";:root{--font-ui:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-reading:"Source Serif 4", ui-serif, Georgia, serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:12px;--radius-md:16px;--radius-full:999px;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 4px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 12px 40px #0000001f;--trans-fast:.12s;--trans-med:.2s;--trans-slow:.35s;--bg-primary:#f6f8fb;--bg-secondary:#fff;--bg-tertiary:#eef2f7;--bg-elevated:#fff;--bg-sunken:#e6ebf2;--text-primary:#0b1220;--text-secondary:#3d4f6c;--text-muted:#475569;--border-color:#d7dee9;--border-subtle:#e6ebf2;--accent:#2d5bff;--accent-hover:#1a4aee;--accent-soft:#2d5bff14;--accent-medium:#2d5bff26;--accent-start:#2d5bff;--accent-end:#1a4aee;--highlight-bg:#6c5ce7;--highlight-blend:normal;--sentence-bg:#e8e6ff;--sentence-blend:multiply;--success:#16a34a;--warning:#d97706;--error:#dc2626;--info:#2563eb;--focus-ring:#2d5bff59;--glass-bg:#fffc;--glass-border:#d7dee980;--shadow-color:#0000000f;--scrollbar-thumb:#c4ccd9;--scrollbar-track:#eef2f7;--skeleton-base:#eef2f7;--skeleton-shine:#d7dee9;--progress-track:#0000000f;--dock-bg:#fff;--dock-border:#d7dee9}[data-theme=dark]{--bg-primary:#070a12;--bg-secondary:#0e1424;--bg-tertiary:#131c33;--bg-elevated:#1a2340;--bg-sunken:#060810;--text-primary:#eaf0ff;--text-secondary:#b0bdd6;--text-muted:#a9b6d3;--border-color:#243255;--border-subtle:#1a2540;--accent:#7aa2ff;--accent-hover:#9bbaff;--accent-soft:#7aa2ff14;--accent-medium:#7aa2ff26;--accent-start:#7aa2ff;--accent-end:#5b88f0;--highlight-bg:#6c5ce7;--highlight-blend:normal;--sentence-bg:#6c5ce726;--sentence-blend:normal;--success:#22c55e;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--focus-ring:#7aa2ff59;--glass-bg:#0e1424d9;--glass-border:#24325580;--shadow-color:#0006;--scrollbar-thumb:#2a3555;--scrollbar-track:#0e1424;--skeleton-base:#1a2540;--skeleton-shine:#243255;--progress-track:#ffffff0f;--dock-bg:#0e1424;--dock-border:#243255}[data-theme=sepia]{--bg-primary:#fbf3e6;--bg-secondary:#fff9f0;--bg-tertiary:#f3e7d6;--bg-elevated:#fffbf2;--bg-sunken:#ebd9be;--text-primary:#231a12;--text-secondary:#5a4b3a;--text-muted:#6b5a4b;--border-color:#e4d3bd;--border-subtle:#ebd9be;--accent:#2d5bff;--accent-hover:#1a4aee;--accent-soft:#2d5bff14;--accent-medium:#2d5bff1f;--accent-start:#2d5bff;--accent-end:#1a4aee;--highlight-bg:#6c5ce7;--highlight-blend:normal;--sentence-bg:#e8e6ff;--sentence-blend:multiply;--success:#16a34a;--warning:#d97706;--error:#dc2626;--info:#2563eb;--focus-ring:#2d5bff4d;--glass-bg:#fbf3e6cc;--glass-border:#e4d3bd80;--shadow-color:#231a1214;--scrollbar-thumb:#c4a882;--scrollbar-track:#ebd9be;--skeleton-base:#f3e7d6;--skeleton-shine:#e4d3bd;--progress-track:#0000000f;--dock-bg:#fff9f0;--dock-border:#e4d3bd}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-ui);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--trans-slow) ease, color var(--trans-slow) ease;cursor:default;caret-color:#0000;height:100dvh;font-size:14px;line-height:1.5;overflow:hidden}input,textarea,[contenteditable=true]{caret-color:auto}.no-select{-webkit-user-select:none;user-select:none}#root{text-align:left;max-width:none;height:100dvh;margin:0;padding:0;overflow:hidden}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}a,button{transition:transform var(--trans-fast) ease, background var(--trans-fast) ease, box-shadow var(--trans-fast) ease, border-color var(--trans-fast) ease, color var(--trans-fast) ease, opacity var(--trans-fast) ease}::selection{background:var(--accent-soft);color:var(--text-primary)}.gradient-text{color:var(--accent);-webkit-text-fill-color:var(--accent);background:0 0;-webkit-background-clip:unset;background-clip:unset}.word-highlight{background-color:var(--highlight-bg);mix-blend-mode:multiply;box-shadow:none;border-radius:2px;outline:none;margin:0 -2px;padding:0 2px;transition:background-color .1s;animation:none;color:#0000!important}.sentence-highlight{background-color:var(--sentence-bg);mix-blend-mode:var(--sentence-blend);border-radius:6px;transition:background-color .15s}.waveform-bar{background:var(--accent);border-radius:3px;width:3px;margin:0 1.5px;animation:1s ease-in-out infinite wave;display:inline-block}.waveform-bar:first-child{height:8px;animation-delay:0s}.waveform-bar:nth-child(2){height:14px;animation-delay:.1s}.waveform-bar:nth-child(3){height:10px;animation-delay:.2s}.waveform-bar:nth-child(4){height:18px;animation-delay:.3s}.waveform-bar:nth-child(5){height:12px;animation-delay:.15s}@keyframes wave{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1.2)}}@media (prefers-reduced-motion:reduce){.waveform-bar,.word-highlight{animation:none!important}}.btn-gradient{background:var(--accent);color:#fff;border-radius:var(--radius-sm);height:44px;font-family:var(--font-ui);letter-spacing:-.01em;cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--trans-med) ease;border:none;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:14px;font-weight:600;display:inline-flex}.btn-gradient:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-gradient:active{transform:translateY(0)}.btn-gradient:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn-icon{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;transition:all var(--trans-fast) ease;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.btn-icon:hover{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}.btn-icon:active{background:var(--bg-sunken)}.tooltip-wrapper{position:relative}.tooltip-wrapper:after{content:attr(data-tooltip);white-space:normal;text-align:center;background:var(--text-primary);width:max-content;max-width:240px;color:var(--bg-primary);pointer-events:none;opacity:0;transition:opacity var(--trans-fast) ease, transform var(--trans-fast) ease;z-index:9999;box-shadow:var(--shadow-md);border-radius:8px;padding:6px 12px;font-size:11px;font-weight:500;line-height:1.4;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)scale(.9)}.tooltip-wrapper:hover:after{opacity:1;transform:translate(-50%)scale(1)}.tooltip-wrapper.tooltip-bottom:after{top:calc(100% + 8px);bottom:auto;left:50%;transform:translate(-50%)scale(.9)}.tooltip-wrapper.tooltip-bottom:hover:after{opacity:1;transform:translate(-50%)scale(1)}.tooltip-wrapper.tooltip-right:after{top:50%;bottom:auto;left:calc(100% + 10px);transform:translateY(-50%)scale(.9)}.tooltip-wrapper.tooltip-right:hover:after{opacity:1;transform:translateY(-50%)scale(1)}.skeleton{background:linear-gradient(90deg, var(--skeleton-base) 25%, var(--skeleton-shine) 50%, var(--skeleton-base) 75%);border-radius:var(--radius-sm);opacity:.5;background-size:200% 100%;animation:1.8s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toast-enter{animation:.35s forwards toast-in}.toast-exit{animation:.3s forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(120%)}}.modal-overlay{animation:.25s forwards overlay-in}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal-content{animation:.35s cubic-bezier(.16,1,.3,1) forwards modal-in}@keyframes modal-in{0%{opacity:0;transform:scale(.96)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes overlay-out{0%{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}to{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}}@keyframes modal-out-dramatic{0%{opacity:1;transform:scale(1)translateY(0)rotate(0)}30%{transform:scale(1.02)translateY(-10px)rotate(.5deg)}to{opacity:0;transform:scale(.85)translateY(40px)rotate(-2deg)}}.pdf-text-layer{line-height:1;position:absolute;inset:0;overflow:hidden}.pdf-text-layer .pdf-word{color:#0000;cursor:pointer;white-space:pre;z-index:2;box-sizing:content-box;border-radius:3px;transition:background-color .1s,filter .2s,opacity .2s;position:absolute}.pdf-text-layer .pdf-word:focus-visible{outline:2px solid var(--accent);background-color:var(--accent-medium);opacity:1}.pdf-text-layer .pdf-word:hover{background-color:var(--accent-soft)}.pdf-text-layer .pdf-word.word-highlight:hover{opacity:1;cursor:default;background-color:var(--highlight-bg)!important}.progress-bar{background:var(--accent);border-radius:0 2px 2px 0;height:3px;transition:width .3s}.global-progress-fill{position:relative}.global-progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:80px;height:100%;animation:2s ease-in-out infinite progress-shimmer;position:absolute;top:0;right:0}@keyframes progress-shimmer{0%{opacity:0;transform:translate(-80px)}50%{opacity:1}to{opacity:0;transform:translate(80px)}}.fab{z-index:40;animation:.3s cubic-bezier(.16,1,.3,1) forwards fab-in;position:fixed;bottom:80px;right:24px}@keyframes fab-in{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes jump-error-in{0%{opacity:0;transform:translate(-50%)translateY(-4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}@media (width<=1280px){.mobile-hide-1280{display:none!important}}@media (width<=768px){.btn-icon{width:36px;height:36px}}@media (width<=900px){.toolbar-metadata{display:none!important}}@media (hover:none) and (pointer:coarse){.pdf-text-layer .pdf-word:hover{background-color:#0000!important}}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slide-out-right{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes slide-in-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slide-out-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes dock-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.glass-panel{-webkit-backdrop-filter:blur(20px);background:#ffffffbf}[data-theme=dark] .glass-panel{background:#0a0e17bf}.stagger-appear{opacity:0;animation:.5s cubic-bezier(.16,1,.3,1) forwards fade-slide-up;transform:translateY(10px)}@keyframes fade-slide-up{to{opacity:1;transform:translateY(0)}}.segmented-control{background:var(--bg-tertiary);border-radius:12px;gap:4px;padding:4px;display:flex}.segmented-tab{text-align:center;cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:8px;flex:1;padding:8px;font-size:13px;font-weight:600;transition:all .2s}.segmented-tab.active{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 1px 3px #0000000d}[data-theme=dark] .segmented-tab.active{background:var(--bg-elevated)}
