:root{color:#17211c;background:#f6f7f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}a{color:inherit}button,input{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr}.topbar{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:24px 0}.brand-lockup{display:flex;align-items:center;gap:10px;width:fit-content;color:inherit;text-decoration:none}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:#10251b;color:#f7f8f5;font-weight:760}.brand-name{font-weight:760;letter-spacing:0}.content{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:28px 0 72px}.workspace{display:grid;grid-template-columns:minmax(0,.92fr) minmax(380px,500px);gap:56px;align-items:center;min-height:calc(100vh - 190px)}.intro{max-width:620px}.eyebrow{margin:0 0 12px;color:#4d6d5c;font-size:.78rem;font-weight:760;letter-spacing:.12em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{max-width:13ch;margin-bottom:20px;color:#10251b;font-size:clamp(3rem,6.6vw,5.9rem);line-height:.98;letter-spacing:0}h2{margin-bottom:4px;color:#10251b;font-size:1.15rem;line-height:1.25;letter-spacing:0}.lede{max-width:48ch;margin-bottom:0;color:#5d6962;font-size:1.14rem}.upload-panel,.transcript-panel,.status-card,.waiting-panel,.processing-panel{border:1px solid #dfe5dd;background:#ffffffd1;box-shadow:0 18px 45px #18261f14}.upload-panel{display:grid;gap:18px;padding:20px;border-radius:8px}.upload-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.upload-heading .eyebrow{margin-bottom:8px}.format-pill{display:inline-flex;align-items:center;min-height:30px;border:1px solid #d7e0d9;border-radius:999px;padding:5px 10px;background:#f4f8f1;color:#4f6258;font-size:.82rem;font-weight:720;white-space:nowrap}.dropzone{min-height:260px;display:grid;place-items:center;align-content:center;gap:12px;width:100%;border:1px dashed #b9c8bd;border-radius:8px;background:#fbfcfa;color:#17211c;cursor:pointer;padding:28px;text-align:center;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}.dropzone:hover,.dropzone.is-dragging{border-color:#5f8b72;background:#f3faf5;box-shadow:inset 0 0 0 1px #5f8b7247}.dropzone.is-dragging{transform:translateY(-1px)}.dropzone:disabled{cursor:progress;opacity:.72}.upload-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:999px;background:#dff2e5;color:#10251b;font-size:1.65rem;font-weight:720}.dropzone-title{max-width:100%;overflow-wrap:anywhere;color:#10251b;font-size:1.24rem;font-weight:760}.dropzone-meta,.upload-note,.waiting-panel p,.status-card span{color:#64736a}.upload-note{margin:-2px 0 0;font-size:.92rem}.action-row,.job-header,.transcript-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.button{min-height:44px;border:1px solid #cbd6ce;border-radius:8px;padding:10px 16px;background:#fff;color:#17211c;cursor:pointer;font-weight:720;text-decoration:none}.button:disabled{cursor:not-allowed;opacity:.5}.button-primary{flex:1;border-color:#10251b;background:#10251b;color:#fff}.button-secondary{background:#f4f6f2}.error{margin:0;color:#9f2f22;font-weight:680}.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}.job-shell{display:grid;gap:20px}.job-header{align-items:flex-start}.job-header h1{max-width:12ch;margin-bottom:14px;font-size:clamp(2.4rem,6vw,5rem)}.status-card{display:flex;align-items:center;gap:14px;width:fit-content;min-width:min(100%,280px);padding:16px;border-radius:8px}.status-card div{display:grid;gap:2px}.status-dot{width:12px;height:12px;flex:0 0 auto;border-radius:999px;background:#d5a021;box-shadow:0 0 0 7px #d5a02124}.status-dot.completed{background:#2f8f55;box-shadow:0 0 0 7px #2f8f5524}.status-dot.failed{background:#b43d30;box-shadow:0 0 0 7px #b43d3024}.status-dot.transcribing,.status-dot.resolving{background:#207a82;box-shadow:0 0 0 7px #207a8224}.transcript-panel{border-radius:8px;overflow:hidden}.transcript-toolbar{padding:18px;border-bottom:1px solid #e4e9e2}.transcript-body{display:grid;gap:18px;max-height:62vh;overflow:auto;padding:22px;color:#243029;font-size:1.02rem}.transcript-body p{margin:0}.waiting-panel{display:flex;align-items:center;gap:14px;width:fit-content;padding:18px;border-radius:8px}.waiting-panel p{margin:0}.processing-panel{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,.8fr);gap:24px;align-items:stretch;overflow:hidden;padding:18px;border-radius:8px}.processing-panel.is-loading{grid-template-columns:1fr}.processing-main{display:grid;gap:20px;min-width:0}.processing-main .status-card{width:100%;background:#fbfcfa;box-shadow:none}.progress-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none}.progress-step{position:relative;display:grid;gap:10px;min-width:0;padding-right:16px}.progress-step:before{content:"";position:absolute;top:9px;right:0;left:18px;height:2px;background:#dbe3dd}.progress-step:last-child:before{display:none}.progress-step.is-done:before{background:#2f8f55}.step-marker{position:relative;z-index:1;width:20px;height:20px;border:2px solid #c9d4cc;border-radius:999px;background:#fff}.progress-step.is-done .step-marker,.progress-step.is-active .step-marker{border-color:#207a82;background:#207a82}.progress-step.is-active .step-marker{box-shadow:0 0 0 6px #207a8221}.step-copy{display:grid;gap:2px;min-width:0}.step-copy strong,.job-meta-grid strong{color:#10251b}.step-copy span,.job-meta-grid span{color:#64736a;font-size:.86rem}.job-meta-grid{display:grid;grid-template-columns:1.35fr .7fr .7fr;gap:1px;overflow:hidden;border:1px solid #e0e7e2;border-radius:8px;background:#e0e7e2}.job-meta-grid div{display:grid;gap:4px;min-width:0;padding:13px;background:#fbfcfa}.job-meta-grid strong{overflow:hidden;font-size:.94rem;text-overflow:ellipsis;white-space:nowrap}.transcript-preview{display:grid;align-content:start;gap:20px;min-height:300px;max-height:430px;overflow:hidden;padding:18px;border:1px solid #e2e8e3;border-radius:8px;background:linear-gradient(180deg,#f7f9f6e6,#fffffff0),#fff}.transcript-preview.has-text{grid-template-rows:auto minmax(0,1fr)}.preview-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid #e4ebe5;padding-bottom:12px}.preview-title span:first-child{color:#10251b;font-weight:760}.preview-title span:last-child{color:#64736a;font-size:.84rem;text-align:right}.partial-transcript{display:grid;gap:14px;min-height:0;overflow:auto;padding-right:6px;color:#243029;font-size:.96rem;line-height:1.55}.partial-transcript p{margin:0}.preview-heading,.skeleton-lines{display:grid;gap:10px}.preview-heading span,.skeleton-lines span{display:block;height:12px;overflow:hidden;border-radius:999px;background:#e4ebe5}.preview-heading span:first-child{width:42%;height:16px;background:#cad8d0}.preview-heading span:last-child{width:64%}.skeleton-lines span{position:relative;height:10px}.skeleton-lines span:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.76),transparent);animation:shimmer 1.8s ease-in-out infinite}.skeleton-lines span:nth-child(2){width:88%}.skeleton-lines span:nth-child(3){width:94%}.skeleton-lines span:nth-child(4){width:72%}.skeleton-lines span:nth-child(5){width:90%}.skeleton-lines span:nth-child(6){width:54%}.loader{width:18px;height:18px;border:2px solid #ccd7cf;border-top-color:#10251b;border-radius:999px;animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{transform:translate(100%)}}@media(max-width:840px){.workspace{grid-template-columns:1fr;align-items:start;min-height:0}.intro,h1{max-width:none}.job-header,.transcript-toolbar,.action-row{align-items:stretch;flex-direction:column}.button-primary,.button{width:100%}.processing-panel{grid-template-columns:1fr}.progress-steps{grid-template-columns:1fr;gap:14px}.progress-step{grid-template-columns:20px minmax(0,1fr);column-gap:12px;padding-right:0}.progress-step:before{top:20px;right:auto;bottom:-14px;left:9px;width:2px;height:auto}.step-copy{grid-column:2}.job-meta-grid{grid-template-columns:1fr}.preview-title{display:grid}.preview-title span:last-child{text-align:left}}
