:root{font-family:Tahoma,Arial,sans-serif;color:#172033;background:#f6f7fb;line-height:1.7}*{box-sizing:border-box}body{margin:0;direction:rtl}.container{max-width:1450px;margin:0 auto;padding:0 18px}.site-header{background:#fff;border-bottom:1px solid #e3e7f0;position:sticky;top:0;z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:20px}.brand{font-weight:800;color:#243caa;text-decoration:none}.site-header nav{display:flex;gap:18px}.site-header nav a{color:#35405a;text-decoration:none}.page-space{padding-top:28px;padding-bottom:48px}.site-footer{border-top:1px solid #e3e7f0;background:#fff;padding:20px 0;color:#667085}.card{background:#fff;border:1px solid #e1e5ee;border-radius:16px;padding:22px;margin-bottom:20px;box-shadow:0 6px 22px rgba(40,55,90,.05)}.hero{padding:34px}.eyebrow{color:#3854c7;font-weight:700}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.choice-card{display:flex;flex-direction:column;align-items:flex-start}.choice-card .button{margin-top:auto}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:10px 16px;background:#2948c7;color:#fff;text-decoration:none;cursor:pointer;font:inherit}.button.secondary{background:#eef1f8;color:#24304b}.stack-form{display:grid;gap:18px}.file-field{display:grid;gap:8px;padding:16px;border:1px dashed #9da7bd;border-radius:12px;background:#fafbfe}.field-grid{display:grid;gap:14px}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}label{font-weight:700}input[type=text],input[type=number],input[type=file]{width:100%;padding:10px;border:1px solid #cbd1dd;border-radius:9px;background:#fff;font:inherit}.muted{color:#657085}.alert{padding:12px 14px;border-radius:9px;margin-bottom:16px}.alert.error{background:#ffe3e3;color:#8b1d1d}.alert.success{background:#e3f6e8;color:#176b32}.alert.warning{background:#fff7d6;color:#6f5600;border-right:4px solid #e3b341}.guide ol{padding-right:22px}.pattern{direction:ltr;text-align:left;background:#111827;color:#f8fafc;padding:14px;border-radius:9px;overflow:auto}.note{background:#fff7d6;border-right:4px solid #e3b341;padding:12px}.advanced{border:1px solid #dbe0eb;border-radius:12px;padding:14px}.advanced summary{font-weight:800;cursor:pointer}.base-choices{display:grid;gap:9px}.base-option{display:flex;gap:8px;align-items:center;padding:10px;border:1px solid #d8deea;border-radius:9px}.controls,.download-row,.legend{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.controls label{display:grid;gap:5px}.controls input{width:120px}.download-row{margin-top:14px}.tag{padding:4px 8px;border-radius:5px}.delete{background:#dce8ff;color:#0b57d0}.insert{background:#dff3e4;color:#137333}.replace{background:#ffe8c2;color:#8a4b00}.equal{background:transparent}.progress{height:14px;background:#e6e9f1;border-radius:999px;overflow:hidden}.progress div{height:100%;background:#2948c7;transition:width .3s}.hidden{display:none!important}.graph-wrap{overflow:auto}.reuse-svg{min-width:900px;width:100%;height:auto}.book-line{stroke:#8f98aa;stroke-width:8;stroke-linecap:round}.reuse-link{fill:none;stroke:#5167d8;opacity:.35;cursor:pointer}.reuse-link:hover{opacity:.9}.book-label{font-size:14px;fill:#172033}.reuse-mark{fill:#2948c7}.table-wrap{overflow:auto;max-height:760px}table{border-collapse:collapse;width:100%;min-width:1200px}th,td{border:1px solid #dfe3ec;padding:9px;vertical-align:top;text-align:right}th{position:sticky;top:0;background:#eef1f8;z-index:1}tr[data-index]{cursor:pointer}tr[data-index]:hover{background:#f2f5ff}.text-cell{min-width:380px;max-width:650px;line-height:1.9}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-text{white-space:pre-wrap;line-height:2;border:1px solid #e0e4ef;border-radius:10px;padding:14px}kbd{border:1px solid #c8cdd7;border-bottom-width:2px;border-radius:5px;padding:1px 6px;background:#f7f8fb}@media(max-width:900px){.choice-grid,.field-grid.two,.field-grid.three,.detail-grid{grid-template-columns:1fr}.header-inner{align-items:flex-start;flex-direction:column;padding-top:12px;padding-bottom:12px}.page-space{padding-top:14px}.container{padding-left:10px;padding-right:10px}}
.diagnostic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.65rem;margin:1rem 0;padding:.85rem;border:1px solid var(--border,#d9d9d9);border-radius:.7rem;background:rgba(127,127,127,.06)}
.checkbox-row{display:flex;gap:.55rem;align-items:flex-start;margin:.8rem 0}.checkbox-row input{width:auto;margin-top:.25rem}
/* v0.2.3: readable, anchored, word-level comparison */
.equal{background:#fff0a8;color:#172033;border-radius:3px;padding:1px 2px}.result-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:14px}.result-summary>span{background:#f7f8fc;border:1px solid #e1e5ee;border-radius:10px;padding:10px}.anchor-chip{display:inline-block;background:#e9ecff;color:#223da7;border-radius:999px;padding:4px 10px;font-weight:700;max-width:520px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.preview-cell{min-width:360px;max-width:560px;line-height:2;max-height:150px;overflow:hidden}.alignment-note{background:#f7f8fc;border:1px solid #e0e4ef;border-radius:10px;padding:12px;margin:12px 0}.alignment-wrap{overflow:auto;max-height:680px;border:1px solid #dfe3ec;border-radius:10px}.alignment-table{min-width:900px}.alignment-table th{top:0}.alignment-table td{width:50%;line-height:2;font-size:15px}.alignment-table tr.equal-row td{background:#fff9d9}.alignment-table tr.delete-row td:first-child{background:#dce8ff;color:#0b57d0}.alignment-table tr.insert-row td:last-child{background:#dff3e4;color:#137333}.alignment-table tr.replace-row td{background:#ffe8c2;color:#8a4b00}.empty-alignment{color:#8a94a6;text-align:center;font-style:italic}.detail-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.raw-details{margin-top:16px}.raw-details summary{cursor:pointer;font-weight:700}.raw-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}.raw-text{max-height:380px;overflow:auto;white-space:pre-wrap;line-height:2;border:1px solid #e0e4ef;border-radius:10px;padding:12px}.table-wrap.results-table{max-height:620px}.alignment-index{width:55px!important;text-align:center!important;color:#657085;background:#f7f8fc!important}
@media(max-width:900px){.raw-grid{grid-template-columns:1fr}.alignment-table{min-width:700px}.preview-cell{min-width:280px}}

/* Normalizer 0.2.4 */
.normalizer-fieldset{border:1px solid #dfe3ec;border-radius:14px;padding:16px;margin:0 0 16px;background:#fbfcff}.normalizer-fieldset legend{font-weight:700;padding:0 8px}.source-list{display:grid;gap:14px;margin-bottom:12px}.pasted-source{border:1px solid #dfe3ec;border-radius:12px;padding:14px;background:white;display:grid;gap:12px}.pasted-source-heading,.panel-heading,.switch-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.pasted-source label{display:grid;gap:6px}.pasted-source input,.pasted-source textarea,.exception-row input{width:100%;border:1px solid #c9cedc;border-radius:9px;padding:10px;font:inherit}.pasted-source textarea{resize:vertical;min-height:150px;direction:rtl}.switch-row{justify-content:flex-start;cursor:pointer}.switch-row input{width:20px;height:20px;margin-top:3px}.conditional-panel{margin-top:14px;border-top:1px solid #e2e5ef;padding-top:14px}.exception-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px}.exception-row{display:flex;gap:8px;align-items:center}.icon-button{border:1px solid #d6dbe7;background:#fff;color:#7a2630;border-radius:8px;padding:8px 10px;cursor:pointer;white-space:nowrap}.icon-button:hover{background:#fff2f3}.compact-info p{margin:.4rem 0}.normalizer-fieldset code{direction:ltr;display:inline-block;background:#eef1f8;border-radius:5px;padding:1px 5px}.hidden{display:none!important}@media(max-width:700px){.panel-heading,.pasted-source-heading{flex-direction:column}.exception-list{grid-template-columns:1fr}}

/* Readable cluster/sub-unit report 0.2.4 */
.report-structure{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;margin:16px 0}.report-structure>div{border:1px solid #dde3f0;border-radius:14px;background:#f8f9fd;padding:14px;display:grid;gap:3px}.report-structure strong{font-size:1.65rem;color:#2948c7}.report-structure span{color:#596276}.diagnostic-details{margin:14px 0}.diagnostic-details summary{cursor:pointer;font-weight:700}.result-summary small{display:block;color:#6b7384;margin-top:4px}.cluster-chip{display:inline-block;border-radius:999px;background:#eef1f8;color:#33405e;padding:3px 9px;font-weight:700}.unit-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin-bottom:10px}.unit-meta-grid span{background:white;border:1px solid #e1e5ee;border-radius:8px;padding:7px 9px}@media(max-width:700px){.report-structure{grid-template-columns:1fr}}

/* v0.2.5 comparison modes, proportional graph and matrix */
.comparison-mode-fieldset{border:1px solid #dfe3ec;border-radius:12px;padding:14px;display:grid;gap:10px;background:#fbfcff}.comparison-mode-fieldset legend{font-weight:800;padding:0 8px}.mode-option{display:flex;align-items:flex-start;gap:9px;padding:9px;border:1px solid #e1e5ee;border-radius:9px;background:#fff}.mode-option input{margin-top:6px}.report-structure-wide{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.graph-heading{align-items:center}.graph-mode-control{display:flex;gap:10px;flex-wrap:wrap}.graph-mode-control label{display:flex;gap:6px;align-items:center;background:#f7f8fc;border:1px solid #dfe3ec;border-radius:9px;padding:7px 10px}.graph-layout{display:grid;grid-template-columns:minmax(180px,250px) minmax(0,1fr);gap:16px;direction:ltr}.graph-label-column{position:relative;direction:rtl;border-left:1px solid #e1e5ee}.graph-book-label{position:absolute;left:0;right:0;padding:4px 8px;text-align:right;line-height:1.35;overflow:hidden}.graph-book-label strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.graph-book-label small{display:block;color:#657085;font-weight:400;margin-top:3px}.graph-wrap{direction:ltr}.book-size-label{font-size:12px;fill:#657085}.matrix-wrap{overflow:auto}.similarity-matrix{min-width:720px;width:max-content;max-width:none}.similarity-matrix th,.similarity-matrix td{min-width:125px;max-width:170px;text-align:center;vertical-align:middle}.similarity-matrix th span{display:block;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.similarity-matrix .matrix-corner{min-width:170px}.matrix-cell{height:84px;cursor:default}.matrix-cell.available{cursor:pointer;background:rgba(41,72,199,var(--matrix-intensity));color:#fff;transition:transform .12s,outline .12s}.matrix-cell.available:hover{transform:scale(1.025);outline:3px solid rgba(41,72,199,.35);position:relative;z-index:2}.matrix-cell.available.selected{outline:4px solid #ffb000}.matrix-cell.available strong,.matrix-cell.available small{display:block}.matrix-cell.available small{margin-top:4px}.matrix-cell.diagonal{background:#eef1f8;color:#667085;font-weight:800}.matrix-cell.unavailable{background:#fafbfe;color:#a0a8b8}.resource-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px}.resource-summary span{display:grid;gap:3px;border:1px solid #dfe3ec;border-radius:12px;background:#f8f9fd;padding:12px}.resource-summary strong{font-size:1.4rem;color:#2948c7}.resource-summary small{color:#657085}.resource-card .download-row a{font-weight:700}
@media(max-width:900px){.graph-layout{grid-template-columns:150px minmax(700px,1fr)}.graph-label-column{min-width:150px}.graph-mode-control{width:100%}.similarity-matrix th,.similarity-matrix td{min-width:110px}.panel-heading.graph-heading{align-items:flex-start}}

/* v0.2.6 queue, live progress and lazy result loading */
.progress-active{position:relative;overflow:hidden}.progress-active div{position:relative}.progress-active div::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:progress-shimmer 1.8s linear infinite}.progress-waiting div{min-width:2%;background:#8793b8}@keyframes progress-shimmer{from{transform:translateX(100%)}to{transform:translateX(-100%)}}
.queue-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px;margin:16px 0}.queue-status-grid>div{display:grid;gap:3px;border:1px solid #dfe3ec;border-radius:12px;background:#f8f9fd;padding:12px}.queue-status-grid strong{font-size:1.35rem;color:#2948c7}.queue-status-grid span{color:#657085}.pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px}.pagination button:disabled{opacity:.45;cursor:not-allowed}.page-size-label{display:flex;align-items:center;gap:8px}.page-size-label select{padding:8px;border:1px solid #cbd1dd;border-radius:8px;font:inherit;background:#fff}.loading-cell{text-align:center!important;padding:24px!important;color:#657085}.error-text{color:#8b1d1d!important}

.queue-status-grid-three{grid-template-columns:repeat(3,minmax(210px,1fr))}.queue-status-grid-three #queuePosition{font-size:1.2rem}@media(max-width:900px){.queue-status-grid-three{grid-template-columns:1fr}}

/* v0.2.9: IDHR production branding and contact footer */
.brand-lockup{display:flex;align-items:center;gap:12px;min-width:0}.brand-copy{display:grid;line-height:1.35;min-width:0}.brand-copy strong{color:#243caa;font-size:1rem}.brand-copy small{color:#69738a;font-size:.72rem;white-space:nowrap}.brand-acronym,.idhr-heading{display:inline-flex;direction:ltr;font-family:Arial,sans-serif;font-weight:900;letter-spacing:.06em}.brand-acronym{font-size:1.35rem}.brand-acronym span:nth-child(1),.idhr-heading span:nth-child(1){color:#243caa}.brand-acronym span:nth-child(2),.idhr-heading span:nth-child(2){color:#bb3e5c}.brand-acronym span:nth-child(3),.idhr-heading span:nth-child(3){color:#16806a}.brand-acronym span:nth-child(4),.idhr-heading span:nth-child(4){color:#c07a12}.idhr-hero{text-align:center;background:linear-gradient(145deg,#fff 0%,#f4f6ff 100%)}.idhr-heading{font-size:clamp(3.2rem,10vw,7.2rem);line-height:1;margin-bottom:-.1em}.idhr-expansion{margin:.1rem 0 .8rem;color:#273451;font-weight:700;letter-spacing:.025em}.idhr-hero .eyebrow{margin-bottom:.25rem}.idhr-hero h1{margin-top:.35rem}.footer-grid{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,2fr);gap:24px;align-items:center}.footer-brand{display:grid;gap:2px}.footer-brand>strong{font-size:1.2rem;color:#243caa}.footer-brand span{color:#47536b}.footer-brand small{color:#81899a}.contact-links{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.contact-links a{display:grid;gap:1px;padding:10px 12px;border:1px solid #e1e5ee;border-radius:11px;background:#f8f9fd;color:#273451;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s}.contact-links a:hover{transform:translateY(-2px);border-color:#aeb9e5;box-shadow:0 6px 16px rgba(40,55,90,.08)}.contact-label{font-size:.78rem;color:#69738a}.contact-links b{font-size:.88rem;overflow-wrap:anywhere}.site-footer{padding:26px 0}
@media(max-width:1050px){.contact-links{grid-template-columns:repeat(2,minmax(160px,1fr))}}
@media(max-width:700px){.footer-grid{grid-template-columns:1fr}.contact-links{grid-template-columns:1fr}.brand-copy small{white-space:normal}.idhr-expansion{font-size:.9rem}.site-header nav{width:100%;justify-content:space-between}}

/* v0.3.0: unified blue IDHR brand, compact contacts, four-tool home */
.brand-acronym,.idhr-heading{color:#243caa!important}
.brand-acronym{display:inline-block}
.idhr-heading{display:block}
.brand-expansion,.idhr-expansion{color:#596276!important;font-weight:600}
.brand-expansion b,.idhr-expansion b{color:#243caa;font-weight:900}
.idhr-expansion{font-size:1.05rem;letter-spacing:.015em}
.choice-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}
.site-header nav{flex-wrap:wrap;row-gap:6px}
.contact-links{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;justify-content:flex-start}
.contact-links a{display:inline;color:#536078;text-decoration:none;padding:0;border:0;border-radius:0;background:transparent;font-size:.82rem;box-shadow:none;transition:color .15s}
.contact-links a:hover{transform:none;border:0;box-shadow:none;color:#243caa;text-decoration:underline}
.contact-links a+a::before{content:"•";color:#b2b8c5;margin-left:16px;text-decoration:none}
.lexical-table{min-width:620px}.phrase-table{min-width:950px}.phrase-text{min-width:280px;text-align:right!important;white-space:normal;line-height:1.9}
@media(max-width:900px){.choice-grid-four{grid-template-columns:1fr}.header-inner{align-items:flex-start;padding-top:10px;padding-bottom:10px}.site-header nav{justify-content:flex-start}}
@media(max-width:700px){.contact-links{display:grid;gap:4px}.contact-links a+a::before{content:none}.brand-expansion{white-space:normal}}

/* v0.3.1: immediate upload feedback + one-line balanced desktop footer */
body.upload-busy{overflow:hidden}
.upload-overlay{position:fixed;inset:0;z-index:1000;background:rgba(17,24,39,.38);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:18px;direction:rtl}
.upload-progress-card{width:min(760px,100%);background:#fff;border:1px solid #dfe4ef;border-radius:18px;padding:22px;box-shadow:0 24px 70px rgba(24,34,60,.22)}
.upload-progress-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.upload-progress-heading strong{font-size:1.08rem;color:#24304b}.upload-progress-heading p{margin:3px 0 0;color:#657085;font-size:.9rem}.upload-percent{direction:ltr;color:#2948c7!important;font-size:1.35rem!important;min-width:64px;text-align:left}.upload-progress-track{height:16px;margin:8px 0 16px}.upload-progress-track>div{position:relative;background:#2948c7}.upload-finalizing .upload-progress-track>div::after{content:"";position:absolute;inset:0;width:38%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);animation:upload-shimmer 1.15s linear infinite}.upload-progress-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.upload-progress-meta>span{display:grid;gap:1px;background:#f7f8fc;border:1px solid #e3e7f0;border-radius:11px;padding:10px 12px}.upload-progress-meta b{font-size:.92rem;color:#2d3954;direction:ltr;text-align:right}.upload-progress-meta small{font-size:.75rem;color:#7a8498}.upload-progress-card .alert{margin-top:14px;margin-bottom:10px}.upload-progress-card>[data-upload-retry]{margin-top:4px}@keyframes upload-shimmer{from{transform:translateX(180%)}to{transform:translateX(-280%)}}

/* Keep the production footer genuinely one horizontal line on desktop. */
.site-footer{padding:15px 0}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px}.footer-brand{display:flex;align-items:center;gap:9px;white-space:nowrap;flex:0 0 auto}.footer-brand>strong{font-size:1rem}.footer-brand span{font-size:.83rem}.footer-brand small{font-size:.74rem}.footer-brand span::before,.footer-brand small::before{content:"•";color:#b2b8c5;margin-left:9px}.contact-links{display:flex;align-items:center;justify-content:space-evenly;gap:8px 18px;flex:1 1 auto;flex-wrap:nowrap;min-width:0}.contact-links a{font-size:.78rem;white-space:nowrap}.contact-links a+a::before{margin-left:12px}
@media(max-width:1050px){.footer-grid{gap:14px}.footer-brand span{display:none}.contact-links{gap:6px 10px}.contact-links a+a::before{margin-left:8px}}
@media(max-width:760px){.upload-progress-meta{grid-template-columns:1fr}.upload-progress-heading{align-items:center}.site-footer{padding:14px 0}.footer-grid{display:grid;grid-template-columns:1fr;gap:8px}.footer-brand{justify-content:center;flex-wrap:wrap}.footer-brand span{display:inline}.contact-links{justify-content:center;flex-wrap:wrap}.contact-links a+a::before{content:none}}
