/* Murch OCR — Murch brand guideline 2026: Bright Indigo #0041FF, Persian Blue #0035C1, Onyx #131212, Pumpkin Spice #FF7300, Cera Pro */
:root{color-scheme:light;--indigo:#0041ff;--persian:#0035c1;--onyx:#131212;--pumpkin:#ff7300;--sky:#80a0ff;--ink:var(--onyx);--muted:#5a6072;--line:#e2e6f3;--blue:var(--indigo);--blue-soft:#eef2ff;--canvas:#f5f7fd;--amber:#b04f00;--radius:16px;font-family:"Cera Pro","CeraPro",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);line-height:1.5}button,input,select,textarea{font:inherit}button,a,label[role=button],select{touch-action:manipulation}button,a{transition:background .15s,color .15s,border-color .15s}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--blue)}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible,label[role=button]:focus-visible{outline:3px solid var(--sky);outline-offset:3px}[hidden]{display:none!important}.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}svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* Header: Persian Blue band with the white submark and footprint trail */
.topbar{position:relative;overflow:hidden;height:80px;padding:0 4%;background:var(--persian);display:flex;align-items:center;justify-content:space-between;color:#fff}
.topbar>*{position:relative;z-index:1}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.brand-mark{width:30px;height:37px;fill:currentColor;stroke:none}
.brand-name{font-weight:700;font-size:1.45rem;letter-spacing:.02em;line-height:1}
.brand-tag{font-weight:700;font-size:.9rem;letter-spacing:.04em;line-height:1;background:var(--indigo);color:#fff;border:1px solid #ffffff40;border-radius:7px;padding:5px 9px 4px}
.footprints{position:absolute!important;z-index:0!important;right:13%;top:-8px;width:460px;height:96px;fill:var(--indigo);stroke:none;pointer-events:none}
.local-badge{display:flex;align-items:center;gap:9px;color:#dce5ff;font-size:.875rem}.local-badge svg{width:19px;height:19px}

main{max-width:1600px;margin:0 auto;padding:40px 4% 24px}
.page-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:28px}
.eyebrow{font-size:.75rem;letter-spacing:.16em;font-weight:700;color:var(--pumpkin);margin:0 0 6px}
h1{font-size:2.5rem;line-height:1.15;letter-spacing:-.01em;margin:0;font-weight:300;color:var(--persian)}
.heading-note{font-size:.9375rem;color:var(--muted);margin:0;font-weight:300}
.workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:24px;align-items:start}
.upload-panel,.result-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 6px 24px #0035c10a}
.upload-panel{padding:24px}
.section-heading{display:flex;gap:10px;align-items:center}
h2{font-size:1.05rem;font-weight:700;margin:0}
.step{font-size:.75rem;font-weight:700;background:var(--blue-soft);color:var(--indigo);padding:3px 7px;border-radius:6px}
.dropzone{display:flex;flex-direction:column;align-items:center;text-align:center;border:1.5px dashed #b3c4ff;border-radius:12px;padding:25px 10px 20px;margin-top:22px;background:#f8faff;cursor:pointer;gap:10px}
.dropzone:hover,.dropzone.dragging{border-color:var(--indigo);background:var(--blue-soft)}.dropzone.dragging{outline:3px solid #0041ff22}
.dropzone strong{font-size:.9375rem;max-width:205px;line-height:1.6;font-weight:500}
.upload-icon{width:43px;height:43px;color:var(--indigo);margin-bottom:3px}
.muted{font-size:.875rem;color:var(--muted)}
.select-file{color:var(--indigo);font-weight:700;padding:7px 17px;background:#fff;border:1px solid #c2d0ff;border-radius:999px;font-size:.875rem}
.dropzone small{margin-top:6px;color:var(--muted);font-size:.75rem;line-height:1.7}
.text-button{background:none;border:0;padding:0;color:var(--indigo);font-size:.875rem;font-weight:700}.text-button:hover{color:var(--persian)}
#sampleButton{display:block;margin:15px auto 0;padding:4px}
.file-card{display:flex;gap:10px;align-items:center;margin-top:15px;padding:12px 10px;background:var(--blue-soft);border-radius:12px}.file-card>div{flex:1;min-width:0}.file-card strong{display:block;overflow-wrap:anywhere;font-size:.875rem;line-height:1.4;font-weight:500}.file-card small{display:block;color:var(--muted);font-size:.75rem;margin-top:4px}
.file-type{font-size:.7rem;font-weight:700;background:var(--indigo);color:#fff;padding:7px 6px;border-radius:6px}
.icon-button{display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;min-width:32px;height:34px;color:var(--ink);font-size:1.5rem;line-height:1}.icon-button:hover:enabled{border-color:var(--indigo);color:var(--indigo)}
.file-card .icon-button{background:transparent;border:0}
.settings{display:grid;gap:8px;margin-top:22px}.settings label{font-size:.875rem;font-weight:500}.settings select{margin-bottom:8px}
select{width:100%;min-height:42px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;color:var(--ink);font-size:.875rem}
select option:checked{background:var(--blue-soft);color:var(--persian)}
.primary-button{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--indigo);color:#fff;border:0;border-radius:999px;padding:14px 20px;width:100%;font-size:1rem;font-weight:700;margin-top:17px}
.primary-button:hover:enabled{background:var(--persian)}.primary-button svg{width:18px;height:18px;stroke-width:2}
.local-note{display:flex;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted)}.local-note svg{width:19px;height:19px;margin-top:2px;color:var(--indigo)}.local-note p{font-size:.8125rem;margin:0;line-height:1.7}
.error-box{background:#fff1f0;color:#a4221c;border:1px solid #f6cbc7;padding:12px;border-radius:10px;margin-top:14px;font-size:.875rem;overflow-wrap:anywhere}

.result-panel{overflow:hidden;min-width:0;min-height:650px}
.result-top{min-height:72px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}
.status-pill{background:#f0f2f8;color:#626a80;border-radius:999px;font-size:.75rem;font-weight:500;padding:5px 12px;white-space:nowrap}
.status-pill.done{background:#e9f7ec;color:#1f6b33}.status-pill.busy{background:var(--blue-soft);color:var(--indigo)}
.empty-state{min-height:575px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}
.empty-symbol{display:grid;place-items:center;background:var(--blue-soft);width:92px;height:92px;border-radius:50%;color:var(--indigo);margin-bottom:24px}
.empty-symbol svg{width:50px;height:50px;stroke-width:1.5}
h3{font-size:1rem;margin:0;font-weight:700}
.empty-state h3{font-size:1.5rem;font-weight:300;color:var(--persian)}
.empty-state p{color:var(--muted);font-size:.9375rem;line-height:1.9;margin:12px 0 0}.empty-state p strong{font-weight:700;color:var(--ink)}
.empty-tags{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:28px}
.empty-tags span{font-size:.75rem;color:var(--persian);background:var(--blue-soft);border-radius:999px;padding:5px 12px}
.spinner{width:48px;height:48px;border:3px solid #dfe6ff;border-top-color:var(--indigo);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:24px}@keyframes spin{to{transform:rotate(360deg)}}
progress{display:block;width:260px;max-width:100%;height:7px;margin-top:28px;accent-color:var(--indigo)}
.document-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px 16px}
.document-info{min-width:0}.document-info strong{font-size:1rem;display:block;overflow-wrap:anywhere;font-weight:700}.document-info span{font-size:.8125rem;color:var(--muted);display:block;margin-top:3px}
.download-menu{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;flex-shrink:0;max-width:300px}
.secondary-button{border:1px solid var(--indigo);background:#fff;color:var(--indigo);border-radius:999px;font-size:.875rem;padding:8px 16px;font-weight:700;white-space:nowrap}
.secondary-button:hover:enabled{background:var(--indigo);color:#fff}
.small-link{font-size:.8125rem;text-decoration:none;white-space:nowrap;font-weight:500}.small-link:hover{text-decoration:underline;color:var(--persian)}
.page-controls{display:flex;align-items:center;gap:8px;padding:0 24px 16px;font-size:.875rem;flex-wrap:wrap}
.page-controls label{margin-right:4px;color:var(--muted)}.page-controls select{width:auto;min-height:34px;padding:4px 22px 4px 9px}
.review-count{margin-left:auto;color:var(--amber);font-size:.8125rem;font-weight:500}
.document-split{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.source-pane{min-width:0;border-right:1px solid var(--line);background:#eef1fa}
.text-pane{min-width:0;display:flex;flex-direction:column}
.pane-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#fafbff;border-bottom:1px solid var(--line);min-height:49px}
.pane-heading h3,.pane-heading label{font-size:.875rem;font-weight:700}.pane-heading>span{font-size:.75rem;color:var(--muted)}
.image-scroll{height:450px;overflow:auto;padding:20px;display:block}
.image-wrap{position:relative;width:100%;box-shadow:0 2px 12px #0035c118;line-height:0}.image-wrap img{width:100%;height:auto;display:block;background:#fff}
.word-highlight{position:absolute;background:#ff730030;border:2px solid var(--pumpkin);border-radius:3px;pointer-events:none;box-shadow:0 0 0 3px #ff730026}
textarea{resize:vertical;width:100%;flex:1;min-height:385px;border:0;padding:20px;font-size:1rem;line-height:1.85;color:var(--ink);background:#fff;outline-offset:-3px!important}
.edit-hint{margin:0;padding:10px 18px;font-size:.75rem;color:var(--muted);background:#fbfcff;border-top:1px solid #edf0f8}
.review-panel{padding:20px 24px}
.review-heading{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}.review-heading h3{font-size:.9375rem}.review-heading span{color:var(--muted);font-size:.75rem}
.review-words{display:flex;flex-wrap:wrap;gap:8px;max-height:160px;overflow:auto;margin-top:12px}
.review-words button{background:#fff4ea;color:#9a4300;border:1px solid #ffd2ad;border-radius:999px;font-size:.875rem;font-weight:500;padding:4px 12px}
.review-words button:hover{border-color:var(--pumpkin)}
.review-words button.active{background:var(--pumpkin);border-color:var(--pumpkin);color:#fff}
.review-words>span{font-size:.875rem;color:var(--muted)}
.review-note{font-size:.75rem;line-height:1.7;color:var(--muted);margin:13px 0 0}
footer{display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:#6b7186;margin-top:28px}
.footer-brand{font-weight:700;letter-spacing:.08em;color:var(--persian)}
.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--onyx);color:#fff;border-radius:999px;padding:12px 22px;box-shadow:0 6px 24px #13121230;font-size:.875rem;z-index:10;max-width:90%;text-align:center}

@media(min-width:1500px){.workspace{grid-template-columns:330px minmax(0,1fr)}.image-scroll{height:520px}}
@media(max-width:1100px){.workspace{grid-template-columns:280px minmax(0,1fr);gap:18px}.upload-panel{padding:20px}.document-bar{align-items:flex-start;flex-direction:column}.download-menu{max-width:none}.document-split{grid-template-columns:1fr}.source-pane{border-right:0;border-bottom:1px solid var(--line)}.image-scroll{height:300px}.image-wrap{max-width:600px;margin:auto}textarea{min-height:300px}.review-count{margin-left:0}.footprints{right:22%}}
@media(max-width:760px){.topbar{height:64px;padding:0 16px}.brand{gap:10px}.brand-mark{width:25px;height:31px}.brand-name{font-size:1.2rem}.brand-tag{font-size:.8rem}.footprints{display:none}.local-badge{font-size:.75rem}.local-badge svg{display:none}main{padding:26px 16px 20px}.page-heading{display:block;margin-bottom:22px}h1{font-size:2rem}.heading-note{margin-top:12px}.desktop-break{display:none}.workspace{grid-template-columns:1fr}.upload-panel{padding:20px}.dropzone{margin-top:16px;padding:22px 14px}.dropzone strong{max-width:none}.settings select{min-width:0}.local-note{margin-top:18px;padding-top:15px}.result-panel{min-height:420px}.empty-state{min-height:350px;padding:30px 20px}.result-top{padding:18px}.document-bar{padding:18px}.page-controls{padding:0 18px 16px}.review-panel{padding:18px}.status-pill{white-space:normal;text-align:center}.result-top .section-heading{flex-shrink:0}footer{display:block}footer span{display:block;margin-top:5px}.image-scroll{height:350px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.spinner{animation-duration:3s}}

.extensions{border-top:1px solid var(--line);padding:0 24px 12px}.extensions details{border-bottom:1px solid var(--line);padding:16px 0}.extensions details:last-child{border-bottom:0}
.extensions summary{cursor:pointer;font-weight:700;font-size:.9375rem}.extensions summary::marker{color:var(--indigo)}.extensions summary span{font-weight:400;color:var(--muted);font-size:.8125rem;margin-left:8px}
.extension-note{font-size:.875rem;line-height:1.7;color:var(--muted);margin:12px 0;white-space:pre-line;overflow-wrap:anywhere}
.structure-list{max-height:240px;overflow:auto;display:flex;flex-direction:column;gap:8px}
.structure-item{background:#f7f9ff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:.875rem}.structure-item strong{display:block;color:var(--indigo);font-size:.75rem;margin-bottom:3px}.structure-item p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.table-wrap{overflow:auto;margin-top:15px;max-height:350px}table{border-collapse:collapse;width:100%;font-size:.875rem;margin:10px 0}td,th{border:1px solid var(--line);padding:8px 10px;text-align:left;min-width:90px}th{background:var(--blue-soft);color:var(--persian);font-weight:700}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:15px 0}.form-grid label,.extensions>details>label{font-size:.875rem;display:block}
.form-grid input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;color:var(--ink);margin-top:6px}.form-grid select{margin-top:6px}
.reference-editor{display:block;min-height:180px;border:1px solid var(--line);border-radius:12px;margin:10px 0;font-size:.9375rem;padding:14px}
.check-label{display:flex!important;align-items:flex-start;gap:9px;margin:15px 0}.check-label input{width:18px;height:18px;margin-top:2px;accent-color:var(--indigo)}
.extensions .text-button,.extensions .small-link{margin-left:12px}
.generated-result{padding:15px;background:#f5f7ff;border:1px solid #d3ddff;border-left:3px solid var(--indigo);border-radius:8px;white-space:pre-wrap;line-height:1.8;font-size:.9375rem;margin-top:15px;overflow-wrap:anywhere}
@media(max-width:760px){.extensions{padding:0 18px 10px}.extensions .text-button,.extensions .small-link{display:inline-block;margin:10px 8px 0 0}}
/* Text / Structure view */
.view-switch{display:inline-flex;background:var(--blue-soft);border-radius:999px;padding:3px;gap:2px}
.view-tab{border:0;background:transparent;color:var(--persian);font-size:.8125rem;font-weight:700;padding:4px 14px;border-radius:999px}
.view-tab.active{background:#fff;color:var(--indigo);box-shadow:0 1px 3px #0035c11f}
.structure-view{flex:1;min-height:385px;max-height:640px;overflow:auto;padding:22px 24px;background:#fff;line-height:1.6}
.structure-view>*:first-child{margin-top:0}
.slide-header{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.structure-view h2.slide-h1{font-size:1.6rem;font-weight:700;line-height:1.2;margin:4px 0 10px;color:var(--onyx)}
.structure-view h3.slide-h2{font-size:1.2rem;font-weight:700;margin:18px 0 8px;color:var(--onyx)}
.structure-view h4.slide-h3{font-size:1rem;font-weight:700;margin:16px 0 4px;color:var(--persian)}
.structure-view p{margin:6px 0}
.slide-lead{color:var(--persian);font-size:1.02rem}
.slide-emphasis{color:var(--persian)}
.slide-note{font-size:.8rem;color:var(--muted);border-left:3px solid var(--line);padding-left:10px}
.structure-view figure{margin:14px 0}
.structure-view figure img{max-width:100%;border-radius:8px;display:block}
.structure-view figcaption{font-size:.78rem;color:var(--muted);margin-top:6px}
.structure-list-items{list-style:none;padding:0;margin:10px 0}
.structure-list-items li{display:grid;grid-template-columns:34px 1fr;gap:6px;margin:10px 0}
.item-marker{font-weight:700;color:var(--indigo)}
.structure-empty{color:var(--muted)}

