:root{--color-bg: #f4f5f7;--color-surface: #ffffff;--color-text: #1b1f24;--color-text-muted: #5b6270;--color-border: #d8dbe1;--color-primary: #1a6fd1;--color-primary-hover: #145dae;--color-primary-text: #ffffff;--color-secondary-bg: #eceef2;--color-secondary-bg-hover: #dfe2e8;--color-danger-bg: #fdecea;--color-danger-text: #8a2a20;--color-warning-bg: #fff6e0;--color-warning-text: #6b4c00;--color-progress-track: #e4e7ec;--shadow-card: 0 1px 3px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .06);--radius: 14px}@media(prefers-color-scheme:dark){:root{--color-bg: #14171c;--color-surface: #1d2127;--color-text: #eef0f3;--color-text-muted: #a3aab5;--color-border: #333944;--color-primary: #4c9aeb;--color-primary-hover: #6badf0;--color-primary-text: #0b0f14;--color-secondary-bg: #262b33;--color-secondary-bg-hover: #2f353f;--color-danger-bg: #3a1f1c;--color-danger-text: #f4a89e;--color-warning-bg: #3a3013;--color-warning-text: #f0d685;--color-progress-track: #2a2f37;--shadow-card: 0 1px 3px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .4)}}*{box-sizing:border-box}html,body{height:100%}body{display:flex;flex-direction:column;min-height:100vh;margin:0;background:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased}.app{display:flex;align-items:flex-start;justify-content:center;flex:1;padding:6vh 20px 40px}.site-footer{display:flex;justify-content:center;padding:24px 20px 40px}.site-footer__logo{width:150px;height:auto;opacity:.7}@media(prefers-color-scheme:dark){.site-footer__logo{filter:invert(1);opacity:.6}}@media(max-width:480px){.site-footer__logo{width:120px}}.card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:40px;width:100%;max-width:560px;display:flex;flex-direction:column;gap:20px}.title{margin:0;font-size:1.7rem;font-weight:700;text-align:center}.banner{background:var(--color-warning-bg);color:var(--color-warning-text);padding:14px 20px;text-align:center;font-size:.95rem;border-bottom:1px solid var(--color-border)}.drop-zone{border:2px dashed var(--color-border);border-radius:var(--radius);padding:48px 24px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;transition:border-color .15s ease,background-color .15s ease}.drop-zone-active{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.drop-zone-label{margin:0;font-size:1.1rem;font-weight:600}.drop-zone-or{margin:0;color:var(--color-text-muted);font-size:.9rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reassurance{margin:0;text-align:center;color:var(--color-text-muted);font-size:.95rem}.btn{font:inherit;border:none;border-radius:10px;padding:14px 22px;cursor:pointer;font-weight:600;min-height:52px;transition:background-color .15s ease,opacity .15s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-large{width:100%;font-size:1.05rem}.btn-primary{background:var(--color-primary);color:var(--color-primary-text)}.btn-primary:not(:disabled):hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-secondary-bg);color:var(--color-text)}.btn-secondary:not(:disabled):hover{background:var(--color-secondary-bg-hover)}.btn-link{background:transparent;color:var(--color-primary);padding:8px 10px;min-height:auto;font-weight:600}.btn-link:hover{text-decoration:underline}.actions{display:flex;flex-direction:column;gap:12px}.actions-stacked{align-items:stretch}.summary-line{margin:0;font-size:1.05rem;text-align:center}.output-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;color:var(--color-text-muted);font-size:.95rem;text-align:center}.skip-details{background:var(--color-secondary-bg);border-radius:10px;padding:12px 16px}.skip-details summary{cursor:pointer;font-weight:600}.reason-list{margin:12px 0 0;padding-left:20px;max-height:240px;overflow-y:auto}.reason-list li{margin-bottom:6px;font-size:.95rem}.modal-overlay{position:fixed;inset:0;background:#0f121680;display:flex;align-items:center;justify-content:center;padding:20px;z-index:10}.modal{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:32px;width:100%;max-width:440px;display:flex;flex-direction:column;gap:16px}.modal h2{margin:0;font-size:1.3rem}.progress-bar{background:var(--color-progress-track);border-radius:999px;height:16px;overflow:hidden}.progress-fill{background:var(--color-primary);height:100%;border-radius:999px;transition:width .2s ease}.progress-count{margin:0;text-align:center;font-size:1.4rem;font-weight:700}.current-file{margin:0;text-align:center;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timing{margin:0;text-align:center;color:var(--color-text-muted);font-size:.95rem}.running-issues{margin:0;text-align:center;color:var(--color-warning-text);font-size:.9rem}.done-stats{margin:0;text-align:center;font-size:1.15rem;font-weight:600}@media(max-width:480px){.card{padding:28px 20px}body{font-size:17px}}
