body{background:var(--calc-bg-page);color:var(--calc-text-primary);min-height:100vh}.dashboard-container{max-width:1600px;margin:0 auto;padding:80px 1.5rem 2rem}.tool-hero{margin-bottom:1.5rem}.tool-hero__title{color:var(--calc-text-primary);margin:0 0 8px;font-size:2rem;font-weight:800;line-height:1.2}.tool-hero__accent{background:linear-gradient(135deg, var(--calc-color-tools), var(--calc-purple));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.tool-hero__subtitle{color:var(--calc-text-dim);max-width:640px;margin:0;font-size:1rem;line-height:1.6}@keyframes dropZonePulse{0%{border-color:rgba(var(--calc-color-tools-rgb,45, 212, 191), .3);box-shadow:none}50%{border-color:rgba(var(--calc-color-tools-rgb,45, 212, 191), .65);box-shadow:0 0 18px rgba(var(--calc-color-tools-rgb,45, 212, 191), .1)}to{border-color:rgba(var(--calc-color-tools-rgb,45, 212, 191), .3);box-shadow:none}}.tool-drop-zone--empty{animation:2.8s ease-in-out infinite dropZonePulse}.tool-drop-zone--empty.dragover{animation:none}.tool-drop-zone.is-loading{opacity:.65;pointer-events:none;cursor:wait}.tool-drop-zone:focus-visible{outline:2px solid var(--calc-color-tools);outline-offset:-4px}@media (width>=769px){.tool-drop-zone{min-height:280px}}.tool-drop-zone__title{font-size:1.25rem}.tool-drop-zone.dragover{border-color:var(--calc-color-tools);box-shadow:0 0 24px rgba(var(--calc-color-tools-rgb,45, 212, 191), .2)}.tool-option-label-container{cursor:pointer;align-items:center;gap:8px;margin-top:10px;display:flex}.tool-option-help-text{color:var(--calc-text-dim);margin-top:6px;font-size:.75rem;line-height:1.4}.tool-file-item{transition:background .2s,transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .2s;animation:.25s ease-out forwards itemFadeIn}@keyframes itemFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tool-file-item.drag-over{border:2px dashed var(--calc-color-tools);box-shadow:0 0 12px rgba(var(--calc-color-tools-rgb,45, 212, 191), .15);transition:transform .2s,border-color .2s;transform:translateY(2px)}.tool-file-item.drag-over *{pointer-events:none}.tool-file-item.dragging{opacity:.4;transform:scale(.98)}.tool-file-item__drag{cursor:grab;user-select:none}.tool-file-item.dragging .tool-file-item__drag{cursor:grabbing}.tool-file-item__index{color:var(--calc-text-muted);font-size:.72rem;font-weight:700;font-family:var(--calc-font-mono,monospace);text-align:center;flex-shrink:0;min-width:20px}.tool-file-item__reorder{border:1px solid var(--calc-border-default);color:var(--calc-text-muted);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;padding:3px 7px;font-size:.8rem;line-height:1;transition:color .2s,background .2s,border-color .2s}.tool-file-item__reorder:hover:not(:disabled){color:var(--calc-color-tools);border-color:rgba(var(--calc-color-tools-rgb,45, 212, 191), .3);background:rgba(var(--calc-color-tools-rgb,45, 212, 191), .06)}.tool-file-item__reorder:disabled{opacity:.2;cursor:not-allowed}.tool-file-item__reorder-wrap{gap:4px;display:flex}.tool-file-item__name-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.file-page-count{font-size:.65rem;font-family:var(--calc-font-mono,monospace);color:var(--calc-color-tools);background:rgba(var(--calc-color-tools-rgb,45, 212, 191), .1);white-space:nowrap;letter-spacing:.02em;border-radius:20px;flex-shrink:0;padding:2px 7px;font-weight:600}.file-page-range-row{align-items:center;gap:6px;display:flex}.file-page-range__label{color:var(--calc-text-muted);font-size:.7rem;font-family:var(--calc-font-mono,monospace);user-select:none;flex-shrink:0}.file-page-range{font-size:.75rem;font-family:var(--calc-font-mono,monospace);color:var(--calc-text-primary);background:var(--calc-bg-input,#0000000a);border:1px solid var(--calc-border-default);border-radius:6px;outline:none;width:160px;max-width:100%;padding:4px 8px;transition:border-color .2s,box-shadow .2s}.file-page-range::placeholder{color:var(--calc-text-muted);opacity:.5;font-size:.7rem}.file-page-range:focus{border-color:rgba(var(--calc-color-tools-rgb,45, 212, 191), .4);box-shadow:0 0 8px rgba(var(--calc-color-tools-rgb,45, 212, 191), .08)}.file-page-range.file-range-invalid{border-color:var(--calc-rose);box-shadow:0 0 8px rgba(var(--calc-rose-rgb,251, 113, 133), .15);color:var(--calc-rose)}.file-badge-warning{font-size:.65rem;font-family:var(--calc-font-mono,monospace);color:var(--calc-accent-warning);background:var(--calc-bg-warning-tint);white-space:nowrap;letter-spacing:.02em;border-radius:20px;flex-shrink:0;padding:2px 7px;font-weight:600}.file-badge-info{font-size:.65rem;font-family:var(--calc-font-mono,monospace);color:var(--calc-text-muted);background:var(--calc-bg-nested,#0000000f);border:1px solid var(--calc-border-default);white-space:nowrap;letter-spacing:.02em;border-radius:20px;flex-shrink:0;padding:2px 7px;font-weight:600}.tool-list-actions{flex-wrap:wrap;gap:8px;margin:12px 0 8px;display:flex}.tool-btn--small{min-height:32px;padding:6px 12px;font-size:.75rem}.tool-btn-helper{color:var(--calc-text-muted);font-size:.8rem;font-family:var(--calc-font-mono,monospace);margin-top:8px;display:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tool-stats,.tool-result-card{display:none}.tool-stats.visible{animation:.3s forwards fadeInUp;display:flex}.tool-result-card[data-result-state=computed],.tool-result-card.visible{animation:.3s forwards fadeInUp;display:block}.tool-filename-wrap{margin:14px 0 4px}.tool-filename-row{align-items:stretch;max-width:420px;display:flex}.tool-options-row{flex-wrap:wrap;gap:20px;display:flex}.tool-option-col{flex:1;min-width:250px}.tool-select{border-radius:8px;height:42px}.tool-filename-input{border-radius:8px 0 0 8px;flex:1;min-width:0}.tool-filename-ext{background:var(--calc-bg-nested,#0000000f);border:1px solid var(--calc-border-default);color:var(--calc-text-dim);font-size:.85rem;font-family:var(--calc-font-mono,monospace);white-space:nowrap;border-left:none;border-radius:0 8px 8px 0;flex-shrink:0;align-items:center;padding:0 12px;display:inline-flex}.tool-action-bar{margin-top:20px}.tool-result-card{background:rgba(var(--calc-color-tools-rgb,45, 212, 191), .04);border:1px solid rgba(var(--calc-color-tools-rgb,45, 212, 191), .2);border-left:3px solid var(--calc-color-tools);border-radius:10px;margin:12px 0;padding:16px 20px}.tool-result-card__row{flex-wrap:wrap;gap:24px;display:flex}.tool-result-card__stat{flex-direction:column;gap:3px;display:flex}.tool-result-card__label{text-transform:uppercase;letter-spacing:.5px;color:var(--calc-text-muted);font-size:.7rem}.tool-result-card__value{color:var(--calc-color-tools);font-size:1.15rem;font-weight:700;font-family:var(--calc-font-mono,monospace)}.tool-result-card__detail{color:var(--calc-text-dim);margin-top:10px;font-size:.8rem}.page-drag-overlay{z-index:10000;background:color-mix(in srgb, var(--calc-bg-page) 82%, transparent);backdrop-filter:blur(4px);opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.page-drag-overlay.visible{opacity:1;pointer-events:auto}.page-drag-overlay__inner{border:2px dashed rgba(var(--calc-color-tools-rgb,45, 212, 191), .5);background:rgba(var(--calc-color-tools-rgb,45, 212, 191), .04);box-shadow:0 0 48px rgba(var(--calc-color-tools-rgb,45, 212, 191), .1);border-radius:20px;flex-direction:column;align-items:center;gap:16px;padding:48px 64px;display:flex}.page-drag-overlay__icon{opacity:.8;font-size:3rem}.page-drag-overlay__text{color:var(--calc-color-tools);letter-spacing:.02em;font-size:1.3rem;font-weight:700}@media (width<=900px){.tool-hero__title{font-size:1.5rem}.page-drag-overlay__inner{padding:36px 32px}}@media (width<=768px){.tool-options-row{flex-direction:column;gap:12px}.tool-option-col{width:100%;min-width:0}.tool-filename-row{max-width:100%}.tool-filename-input{min-height:44px}.tool-select{width:100%;min-height:44px}.tool-file-item{grid-template-columns:auto auto 1fr auto;grid-template-areas:"index icon info remove""reorder reorder range range";align-items:center;gap:10px 6px;padding:12px;display:grid;position:relative}.tool-file-item__drag{display:none}.tool-file-item__index{grid-area:index}.tool-file-item__icon{grid-area:icon}.tool-file-item__info{flex:none;grid-area:info;width:100%}.tool-file-item__reorder-wrap{grid-area:reorder;gap:4px;display:flex}.file-page-range-row,.file-password-row{grid-area:range;align-items:center;gap:6px;margin-top:0;display:flex}.file-page-range-row{justify-content:flex-end}.file-password-row{justify-content:flex-start}.file-page-range{flex:0 140px;width:120px;min-height:38px;padding:6px 10px;font-size:.85rem}.tool-file-item__reorder{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:6px 10px;font-size:1rem;display:inline-flex}.tool-file-item__remove{grid-area:remove;justify-content:center;align-items:center;min-width:44px;min-height:44px;margin:0;padding:6px 10px;font-size:1.1rem;display:inline-flex;position:static;transform:none}}[data-theme=light] .tool-result-card{background:rgba(var(--calc-color-tools-rgb,45, 212, 191), .08);border-color:rgba(var(--calc-color-tools-rgb,45, 212, 191), .45)}[data-theme=light] .tool-file-item__reorder:hover:not(:disabled){background:rgba(var(--calc-color-tools-rgb,45, 212, 191), .12);border-color:rgba(var(--calc-color-tools-rgb,45, 212, 191), .5)}.tool-progress__bar{background:linear-gradient(90deg, var(--calc-color-tools), var(--calc-purple));box-shadow:0 0 12px rgba(var(--calc-color-tools-rgb,45, 212, 191), .5);background-size:200% 100%;animation:1.8s linear infinite progressBarGlow}@keyframes progressBarGlow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.tool-file-item__reorder:active:not(:disabled){background:rgba(var(--calc-color-tools-rgb,45, 212, 191), .15);transform:scale(.94)}.tool-file-item.removing{animation:.22s ease-in forwards itemFadeOut}@keyframes itemFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)translateY(-8px)}}.tool-stat__value{transition:transform .15s ease-out}.tool-stat__value.pulse{color:var(--calc-color-tools);transform:scale(1.12)}.tool-warning-text{color:var(--calc-rose);font-size:.75rem;font-family:var(--calc-font-mono,monospace);margin-top:8px;display:block}.tool-file-list.processing-active{pointer-events:none;opacity:.55;filter:grayscale(40%);transition:opacity .2s,filter .2s}.spinner{vertical-align:middle;width:16px;height:16px;margin-right:8px;animation:2s linear infinite rotate;display:inline-block}.spinner .path{stroke:currentColor;stroke-linecap:round;animation:1.5s ease-in-out infinite dash}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1 150;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-35px}to{stroke-dasharray:90 150;stroke-dashoffset:-124px}}.tool-progress,.tool-progress__label{transition:opacity .3s}.tool-progress.fade-out,.tool-progress__label.fade-out{opacity:0}@media (prefers-reduced-motion:reduce){.tool-drop-zone--empty,.tool-progress__bar{animation:none}.tool-file-item,.tool-file-item.removing{animation-duration:.01ms}.tool-stats.visible,.tool-result-card[data-result-state=computed],.tool-result-card.visible{animation:none}}@media (width<=360px){.tool-btn-helper{font-size:.72rem}}.tool-file-item__reorder:focus-visible,.tool-file-item__remove:focus-visible{outline:2px solid var(--calc-color-tools);outline-offset:2px;box-shadow:0 0 8px rgba(var(--calc-color-tools-rgb,45, 212, 191), .4)}.tool-file-item__name{white-space:nowrap;text-overflow:ellipsis;max-width:calc(100vw - 180px);overflow:hidden}@media (width>=769px){.tool-file-item__name{max-width:380px}}.tool-keyboard-tips{color:var(--calc-text-muted);font-size:.8rem;font-family:var(--calc-font-mono,monospace);margin:8px 0 14px;animation:.3s forwards fadeInUp}.file-password-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.file-password__label{color:var(--calc-rose);font-size:.7rem;font-family:var(--calc-font-mono,monospace);flex-shrink:0;font-weight:600}.file-password-input{border-radius:6px;width:140px;max-width:100%;height:32px;padding:4px 8px;font-size:.75rem}.file-password-unlock{height:32px;min-height:32px;padding:0 12px;font-size:.75rem}.file-page-count--locked{color:var(--calc-rose);background:var(--calc-rose-dim)}@media (width<=768px){.file-password-row{grid-column:1/-1;justify-content:flex-start;align-items:center;gap:8px;width:100%;margin-top:8px;display:flex}.file-password-input{flex:1;max-width:200px}}