:root{--color-bg-primary:#0f172a;--color-bg-secondary:#1e293b;--color-bg-tertiary:#334155;--color-bg-card:#1e293bb3;--color-bg-card-hover:#334155cc;--color-bg-dropzone:#6366f10f;--color-bg-dropzone-active:#6366f126;--color-text-primary:#f1f5f9;--color-text-secondary:#94a3b8;--color-text-muted:#64748b;--color-accent:#6366f1;--color-accent-hover:#818cf8;--color-accent-glow:#6366f140;--color-success:#22c55e;--color-warning:#f59e0b;--color-error:#ef4444;--color-border:#94a3b826;--color-border-hover:#94a3b84d;--gradient-accent:linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a78bfa 100%);--gradient-bg:linear-gradient(180deg, #0f172a 0%, #1e293b 100%);--gradient-card:linear-gradient(135deg, #6366f114 0%, #8b5cf60a 100%);--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--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:2rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height:1.6;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--radius-full:9999px;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 32px #0006;--shadow-glow:0 0 20px var(--color-accent-glow);--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--header-height:60px;--footer-height:72px;--max-width:960px;--ad-banner-height:50px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height);color:var(--color-text-primary);background:var(--gradient-bg);min-height:100vh;overflow-x:hidden}a{color:var(--color-accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent-hover)}button{cursor:pointer;border:none;outline:none;font-family:inherit}input{font-family:inherit}img{max-width:100%;display:block}#app{flex-direction:column;min-height:100vh;display:flex}.main-content{width:100%;max-width:var(--max-width);padding:var(--space-lg) var(--space-md);padding-bottom:calc(var(--footer-height) + var(--space-xl));flex:1;margin:0 auto}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-slide-up{animation:slideUp var(--transition-slow) ease-out}.header{z-index:100;height:var(--header-height);padding:0 var(--space-lg);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);background:#0f172ad9;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header__logo{align-items:center;gap:var(--space-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);cursor:pointer;transition:opacity var(--transition-fast);display:flex}.header__logo:hover{opacity:.85}.header__logo-icon{font-size:var(--font-size-xl)}.header__badge{color:var(--color-success);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);background:#22c55e26;border:1px solid #22c55e40;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.nav-tabs{gap:var(--space-xs);padding:0 var(--space-md);scrollbar-width:none;-ms-overflow-style:none;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);display:flex;overflow-x:auto}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;display:flex}.nav-tab:hover{color:var(--color-text-primary);background:#6366f10f}.nav-tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.nav-tab__icon{font-size:var(--font-size-base)}.footer{z-index:100;height:var(--footer-height);padding:var(--space-sm);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--color-border);background:#0f172af2;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0}.footer__ad-placeholder{width:320px;height:var(--ad-banner-height);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.footer__label{color:var(--color-text-muted);letter-spacing:.5px;font-size:10px}.dropzone{justify-content:center;align-items:center;gap:var(--space-md);min-height:200px;padding:var(--space-2xl);border:2px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-dropzone);cursor:pointer;transition:all var(--transition-base);flex-direction:column;display:flex;position:relative}.dropzone:hover,.dropzone--active{border-color:var(--color-accent);background:var(--color-bg-dropzone-active);box-shadow:var(--shadow-glow)}.dropzone__icon{opacity:.6;transition:transform var(--transition-base);font-size:3rem}.dropzone:hover .dropzone__icon,.dropzone--active .dropzone__icon{opacity:.9;transform:scale(1.1)}.dropzone__text{text-align:center;color:var(--color-text-secondary)}.dropzone__text strong{color:var(--color-text-primary);font-size:var(--font-size-lg);margin-bottom:var(--space-xs);display:block}.dropzone__input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;display:inline-flex}.btn--primary{color:#fff;background:var(--gradient-accent);box-shadow:var(--shadow-sm), 0 0 16px var(--color-accent-glow)}.btn--primary:hover:not(:disabled){box-shadow:var(--shadow-md), 0 0 24px var(--color-accent-glow);transform:translateY(-1px)}.btn--primary:active:not(:disabled){transform:translateY(0)}.btn--primary:disabled{opacity:.5;cursor:not-allowed}.btn--secondary{color:var(--color-text-primary);background:var(--color-bg-tertiary);border:1px solid var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-bg-card-hover);border-color:var(--color-border-hover)}.btn--danger{color:var(--color-error);background:#ef44441a;border:1px solid #ef444433}.btn--danger:hover:not(:disabled){background:#ef444433}.btn--icon{padding:var(--space-sm);border-radius:var(--radius-sm);color:var(--color-text-secondary);background:0 0}.btn--icon:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.btn--full{width:100%}.btn--lg{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-base)}.file-list{gap:var(--space-sm);flex-direction:column;display:flex}.file-item{align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast);animation:fadeIn var(--transition-base) ease-out;display:flex}.file-item:hover{background:var(--color-bg-card-hover);border-color:var(--color-border-hover)}.file-item--dragging{opacity:.5;box-shadow:var(--shadow-lg)}.file-item__handle{cursor:grab;color:var(--color-text-muted);font-size:var(--font-size-lg);padding:var(--space-xs);align-items:center;display:flex}.file-item__handle:active{cursor:grabbing}.file-item__icon{font-size:var(--font-size-xl)}.file-item__info{flex:1;min-width:0}.file-item__name{font-weight:var(--font-weight-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.file-item__size{font-size:var(--font-size-xs);color:var(--color-text-muted)}.file-item__remove{flex-shrink:0}.thumbnail-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.thumbnail-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:grab;transition:all var(--transition-fast);animation:fadeIn var(--transition-base) ease-out;flex-direction:column;display:flex;position:relative;overflow:hidden}.thumbnail-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.thumbnail-card--deleted{opacity:.35;pointer-events:auto}.thumbnail-card--deleted .thumbnail-card__image{filter:grayscale()}.thumbnail-card__image-wrapper{padding:var(--space-sm);background:#ffffff08;justify-content:center;align-items:center;min-height:160px;display:flex;position:relative}.thumbnail-card__image{object-fit:contain;border-radius:var(--radius-sm);max-width:100%;max-height:160px;transition:transform var(--transition-base)}.thumbnail-card__page-num{top:var(--space-xs);left:var(--space-xs);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-sm);background:#000000a6;padding:2px 6px;position:absolute}.thumbnail-card__actions{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-xs);border-top:1px solid var(--color-border);display:flex}.thumbnail-card__btn{font-size:var(--font-size-sm);color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:4px 8px}.thumbnail-card__btn:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.thumbnail-card__btn--delete:hover{color:var(--color-error);background:#ef44441a}.thumbnail-card__btn--restore{color:var(--color-success)!important}.toast-container{top:calc(var(--header-height) + var(--space-md));right:var(--space-md);z-index:1000;gap:var(--space-sm);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);pointer-events:auto;animation:fadeIn var(--transition-base) ease-out;max-width:360px;display:flex}.toast--success{border-color:#22c55e4d}.toast--error{border-color:#ef44444d}.toast--info{border-color:#6366f14d}.toast__icon{font-size:var(--font-size-lg);flex-shrink:0}.toast__message{flex:1}.toast--exiting{animation:fadeOut var(--transition-fast) ease-in forwards}.progress-bar{background:var(--color-bg-tertiary);border-radius:var(--radius-full);width:100%;height:6px;overflow:hidden}.progress-bar__fill{background:var(--gradient-accent);border-radius:var(--radius-full);height:100%;transition:width var(--transition-base)}.progress-bar__fill--indeterminate{background-size:200% 100%;background-image:linear-gradient(90deg, var(--color-accent) 25%, var(--color-accent-hover) 50%, var(--color-accent) 75%);animation:1.5s infinite shimmer;width:30%!important}.modal-overlay{z-index:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--transition-fast) ease-out;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{width:90%;max-width:480px;padding:var(--space-xl);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);animation:slideUp var(--transition-base) ease-out}.modal__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-md)}.modal__body{color:var(--color-text-secondary);margin-bottom:var(--space-lg)}.modal__actions{justify-content:flex-end;gap:var(--space-sm);display:flex}.input-group{gap:var(--space-xs);flex-direction:column;display:flex}.input-group__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.input{padding:var(--space-sm) var(--space-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);transition:border-color var(--transition-fast);outline:none}.input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.input--error{border-color:var(--color-error)}.page-header{align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);display:flex}.page-header__back{width:36px;height:36px;font-size:var(--font-size-lg);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.page-header__back:hover{color:var(--color-text-primary);background:var(--color-bg-card-hover)}.page-header__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.page-header__icon{font-size:var(--font-size-2xl)}.section{margin-bottom:var(--space-xl)}.section__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-md)}.status-bar{padding:var(--space-sm) var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);justify-content:space-between;align-items:center;display:flex}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}.empty-state{padding:var(--space-2xl);text-align:center;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state__icon{margin-bottom:var(--space-md);opacity:.4;font-size:3rem}.empty-state__text{font-size:var(--font-size-sm)}.home{text-align:center;animation:fadeIn var(--transition-slow) ease-out}.home__hero{padding:var(--space-2xl) 0}.home__title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-sm);background:var(--gradient-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.home__subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:500px;margin:0 auto var(--space-md)}.home__privacy-badge{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);color:var(--color-success);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:#22c55e14;border:1px solid #22c55e33;display:inline-flex}.tool-grid{gap:var(--space-md);grid-template-columns:repeat(2,1fr);max-width:560px;margin:0 auto;display:grid}.tool-card{align-items:center;gap:var(--space-sm);padding:var(--space-xl) var(--space-md);background:var(--gradient-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-base);text-align:center;flex-direction:column;display:flex}.tool-card:hover{border-color:var(--color-accent);background:var(--color-bg-card-hover);box-shadow:var(--shadow-lg), var(--shadow-glow);transform:translateY(-4px)}.tool-card__icon{margin-bottom:var(--space-xs);font-size:2.5rem}.tool-card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.tool-card__desc{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.4}.merge-page .file-list{margin:var(--space-lg) 0}.merge-page .add-more-btn{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-md);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;display:flex}.merge-page .add-more-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-bg-dropzone)}.split-page .split-mode-tabs{gap:var(--space-xs);margin-bottom:var(--space-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:4px;display:flex}.split-page .split-mode-tab{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);text-align:center;background:0 0;border:none;flex:1}.split-page .split-mode-tab:hover{color:var(--color-text-primary)}.split-page .split-mode-tab--active{color:var(--color-text-primary);background:var(--color-bg-secondary);box-shadow:var(--shadow-sm)}.split-page .range-input-group{gap:var(--space-sm);margin:var(--space-md) 0 var(--space-lg);flex-direction:column;display:flex}.split-page .range-help{font-size:var(--font-size-xs);color:var(--color-text-muted)}.thumbnail-card--selectable{cursor:pointer;-webkit-user-select:none;user-select:none}.thumbnail-card--selected{box-shadow:0 0 0 2px var(--color-accent-glow), var(--shadow-md);border-color:var(--color-accent)!important}.thumbnail-card__badge-check{top:var(--space-xs);right:var(--space-xs);background:var(--color-accent);color:#fff;width:22px;height:22px;box-shadow:var(--shadow-sm);z-index:5;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;position:absolute}.split-grid-wrapper{gap:var(--space-lg);margin:var(--space-lg) 0;flex-direction:column;display:flex}.split-group-box{align-items:center;gap:var(--space-sm);padding:var(--space-md);padding-top:var(--space-lg);border-radius:var(--radius-lg);background:#6366f108;border:2px dashed #6366f14d;flex-wrap:wrap;display:flex;position:relative}.split-group-box__title{background:var(--color-accent);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);padding:2px 10px;position:absolute;top:-12px;left:16px}.cut-line-btn{border:1px dashed var(--color-border);border-radius:var(--radius-md);cursor:pointer;width:36px;height:140px;color:var(--color-text-muted);font-size:var(--font-size-base);transition:all var(--transition-fast);margin:0 var(--space-xs);background:#94a3b814;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;display:inline-flex}.cut-line-btn:hover{border-color:var(--color-error);color:var(--color-error);background:#ef444426;transform:scale(1.08);box-shadow:0 0 12px #ef444433}.cut-line-btn--active{box-shadow:0 0 16px #ef444459;border:2px solid var(--color-error)!important;color:var(--color-error)!important;background:#ef444440!important}.cut-line-btn__label{writing-mode:vertical-rl;letter-spacing:1px;font-size:10px;font-weight:700}.organize-page .thumbnail-grid{margin:var(--space-lg) 0}.unlock-page .password-section{gap:var(--space-md);margin:var(--space-lg) 0;flex-direction:column;max-width:400px;display:flex}.unlock-page .password-input-wrapper{position:relative}.unlock-page .password-toggle{right:var(--space-sm);padding:var(--space-xs);color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-base);background:0 0;border:none;position:absolute;top:50%;transform:translateY(-50%)}.processing-overlay{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-2xl);text-align:center;flex-direction:column;display:flex}.processing-overlay__text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}@media (width<=600px){.home__title{font-size:var(--font-size-2xl)}.tool-grid{gap:var(--space-sm);grid-template-columns:repeat(2,1fr)}.tool-card{padding:var(--space-lg) var(--space-sm)}.tool-card__icon{font-size:2rem}.thumbnail-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.page-header__title{font-size:var(--font-size-xl)}}@media (width>=768px){.tool-grid{grid-template-columns:repeat(2,1fr);max-width:560px}}
