:root{--font-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: Baskervville, Georgia, "Times New Roman", serif;color:#273240;background:#f5f7fa;font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;background:#f5f7fa}button,input{font:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid rgba(34,96,152,.28);outline-offset:3px}.app-shell{width:min(100%,1120px);min-height:100vh;margin:0 auto;padding:28px 28px 38vh}.app-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.app-header h1{margin:0;color:#19222d;font-family:var(--font-display);font-size:1.45rem;font-weight:400;line-height:1;letter-spacing:0}.start-over-button{min-height:36px;padding:0 4px;border:0;background:transparent;color:#667384;font-size:.82rem;font-weight:520;cursor:pointer}.start-over-button:hover{color:#226098}.upload-section{width:min(100%,720px);margin:13vh auto 0}.section-heading{margin-bottom:24px}.section-heading h2{margin:0 0 8px;color:#19222d;font-family:var(--font-display);font-size:1.95rem;font-weight:400;line-height:1.08;letter-spacing:0}.section-heading p{margin:0;color:#697687;font-size:.92rem;line-height:1.55}.upload-form{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,.72fr) auto;align-items:end;gap:14px}.file-control{display:grid;gap:7px;color:#4d5a69;font-size:.82rem;font-weight:540}.file-control input{width:100%;min-height:42px;padding:7px;border:1px solid #c8d0da;border-radius:6px;background:#fff;color:#273240}.file-control input::file-selector-button{min-height:28px;margin:-2px 10px -2px -2px;padding:0 11px;border:0;border-right:1px solid #d8dee6;background:#eef2f6;color:#3f4c5b;font:inherit;font-weight:540;cursor:pointer}.selected-file{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:8px 11px;border:1px solid #d8dee6;border-radius:6px;background:#fff;color:#748091;font-size:.82rem}.file-name{min-width:0;color:#273240;font-weight:540;overflow-wrap:anywhere}.file-size{flex:0 0 auto;color:#8791a0}.form-actions{display:flex;gap:8px}.form-actions button,.download-link,.return-current{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;border:1px solid #226098;border-radius:6px;background:#226098;color:#fff;font-size:.84rem;font-weight:570;text-decoration:none;cursor:pointer}.form-actions button:disabled{border-color:#d6dce3;background:#e9edf1;color:#929ba6;cursor:not-allowed}.form-actions .secondary-button{border-color:#c8d0da;background:transparent;color:#4d5a69}.message{margin:14px 0 0;font-size:.86rem;line-height:1.45}.error-message{color:#a33c3c}.progress-error{width:min(100%,720px);margin:28px auto 0;text-align:center}.job-route-state{width:min(100%,720px);margin:13vh auto 0;text-align:center}.job-route-state h2{margin:0 0 8px;color:#19222d;font-family:var(--font-display);font-size:1.95rem;font-weight:400;line-height:1.08;letter-spacing:0}.route-link-button{margin-top:14px}.job-progress{width:min(100%,760px);margin:7vh auto 0}.activity-history{display:grid;gap:48px}.activity-phase{animation:activity-enter .42s cubic-bezier(.2,.8,.2,1) both}.activity-phase.is-receded{opacity:.68}.activity-phase h2{width:min(100%,650px);margin:0 auto;color:#5f6d7d;font-size:.78rem;font-weight:650;line-height:1.3;letter-spacing:0;text-align:left;text-transform:uppercase}.activity-phase.is-current h2{color:#273240}.activity-phase.is-receded h2{font-size:.72rem}.activity-items{display:grid;gap:16px;width:min(100%,650px);margin:18px auto 0}.activity-item{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;opacity:0;transform:translateY(10px);animation:activity-enter .4s cubic-bezier(.2,.8,.2,1) forwards}.activity-item.is-child{margin-left:34px;padding-left:15px}.activity-item.is-child:before{position:absolute;left:0;top:2px;bottom:2px;width:1px;background:#d7dee7;content:""}.activity-item.is-job-status{margin-top:8px;padding-top:18px;border-top:1px solid #e0e5eb}.activity-item:nth-child(2){animation-delay:40ms}.activity-item:nth-child(3){animation-delay:80ms}.activity-item:nth-child(4){animation-delay:.12s}.activity-item:nth-child(5){animation-delay:.16s}.activity-item:nth-child(6){animation-delay:.2s}.activity-marker{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:currentColor;font-size:.75rem;font-weight:650}.activity-icon{width:18px;height:18px}.activity-copy{min-width:0;text-align:left}.activity-title{font-size:.96rem;font-weight:480;line-height:1.3;overflow-wrap:anywhere}.activity-detail{margin-top:4px;color:#6f7d8d;font-size:.79rem;font-weight:400;line-height:1.4}.tone-complete{color:#27845b}.tone-skipped{color:#8793a2}.tone-review{color:#9a6a00}.tone-failed{color:#a33c3c}.tone-active{color:#687586}.tone-active .activity-title{animation:activity-pulse 1.45s ease-in-out infinite}.tone-active .activity-marker{width:9px;height:9px;margin-left:5px;border-radius:50%;background:#9ca6b2;animation:marker-pulse 1.45s ease-in-out infinite}.download-link{min-height:34px;padding:0 12px;font-size:.78rem;white-space:nowrap}.source-download{grid-column:2 / -1;margin-top:-2px}.source-download-link{color:#5d6875;font-size:.72rem;font-weight:500;line-height:1.4;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.source-download-link:hover{color:#226098}.revision-dropzone{position:relative;display:grid;grid-column:2 / -1;grid-template-columns:24px minmax(0,1fr);column-gap:10px;width:100%;margin-top:2px;padding:13px 15px;border:1px dashed #aebbc8;border-radius:6px;background:#f8fafc;color:#4d5a69;cursor:pointer;transition:border-color .14s ease,background-color .14s ease}.revision-dropzone:hover,.revision-dropzone.is-dragging{border-color:#5e88ad;background:#f1f6fa}.revision-dropzone-icon{grid-row:1 / 3;align-self:center;width:20px;height:20px;color:#64809a}.revision-dropzone-title{font-size:.8rem;font-weight:580;line-height:1.35}.revision-dropzone-detail{margin-top:2px;color:#778493;font-size:.72rem;line-height:1.35}.revision-dropzone input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.revision-dropzone:focus-within{outline:3px solid rgba(34,96,152,.28);outline-offset:3px}.revision-dropzone.is-uploading,.revision-dropzone:has(input:disabled){cursor:wait;opacity:.68}.review-groups{display:grid;grid-column:2 / -1;gap:18px;margin-top:8px;color:#273240}.review-category{display:grid;gap:12px;padding-left:14px;border-left:2px solid #d6ad52}.review-group h3{margin:0;color:#5e460f;font-size:.9rem;font-weight:620;line-height:1.35}.review-group>p{margin:3px 0 0;color:#70674f;font-size:.79rem;line-height:1.45}.review-group ul{display:grid;gap:9px;margin:10px 0 0;padding:0;list-style:none}.review-group li{padding:9px 11px;border:1px solid #e2d7bd;border-radius:6px;background:#fffdf8}.review-message{color:#3f3a2d;font-size:.82rem;line-height:1.45}.review-context{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:5px;color:#7a7059;font-size:.72rem;line-height:1.4}.revision-error{width:min(100%,650px);margin:14px auto 0;padding-left:34px}.return-current{position:fixed;right:22px;bottom:22px;box-shadow:0 10px 28px #1f2f3f29}.current-anchor{width:1px;height:1px;margin:0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes activity-enter{to{opacity:1;transform:translateY(0)}}@keyframes activity-pulse{0%,to{opacity:.58}50%{opacity:1}}@keyframes marker-pulse{0%,to{opacity:.5;transform:scale(.86)}50%{opacity:1;transform:scale(1)}}@media(max-width:760px){.app-shell{padding:20px 16px 32vh}.upload-section,.job-progress{margin-top:8vh}.upload-form{grid-template-columns:1fr}.form-actions button{flex:1}.activity-history{gap:42px}.activity-phase h2{font-size:.76rem}.activity-items{gap:15px}.activity-item{grid-template-columns:22px minmax(0,1fr)}.activity-item.is-child{margin-left:20px;padding-left:12px}.download-link{grid-column:2;justify-self:start;margin-top:2px;white-space:normal}.source-download,.revision-dropzone,.review-groups{grid-column:2}.return-current{right:14px;bottom:14px;max-width:calc(100vw - 28px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.activity-phase,.activity-item,.tone-active .activity-title,.tone-active .activity-marker{animation:none;opacity:1;transform:none}}
