:root { color-scheme: light; --ink:#2C1810; --copper:#795035; --gold:#D4A017; --cream:#FFFDF5; --line:#E8D5B7; --soft:#FFF8E1; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); font-family:Inter,Arial,sans-serif; font-size:15px; line-height:1.6; background:linear-gradient(#fffdf5ed,#fffdf5ed),url('../images/bg.jpg') center/cover fixed; min-height:100vh; display:flex; flex-direction:column; }
[hidden] { display:none !important; }
a { color:var(--copper); text-underline-offset:3px; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea,summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #9A6F08; outline-offset:3px; }
button { cursor:pointer; }
button:disabled { cursor:wait; opacity:.65; }
h1,h2 { font-family:Amiri,Georgia,serif; line-height:1.25; margin:0 0 10px; }
h1 { font-size:36px; } h2 { font-size:28px; } h3 { font-size:15px; margin:0 0 10px; }
p { margin:0 0 16px; }
.page { width:min(1100px,100%); padding:40px 24px 60px; margin:0 auto; flex:1; }
.input-page { max-width:860px; }
.page-heading { margin-bottom:28px; }
.page-heading p { color:var(--copper); max-width:65ch; }
.context { font-size:13px; font-weight:600; color:var(--copper); margin:0 0 5px; }
.heading-row { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.heading-row .button { flex-shrink:0; }
.panel { background:var(--cream); border:1px solid var(--line); border-radius:12px; padding:28px; }
label,legend { display:block; font-weight:600; font-size:14px; margin-bottom:7px; }
.optional { color:var(--copper); font-weight:400; }
input,select,textarea { width:100%; color:var(--ink); background:#fff; border:1px solid #cbb48c; border-radius:6px; padding:10px 12px; }
textarea { resize:vertical; min-height:85px; line-height:1.7; }
textarea[lang="ar"],.translation-table [lang="ar"],#modal-source[lang="ar"] { font-family:Amiri,serif; font-size:20px; }
.form-row { margin-bottom:24px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:24px; }
fieldset { padding:0; border:0; margin:0 0 24px; min-width:0; }
.tabs { display:flex; gap:6px; margin:4px 0 18px; border-bottom:1px solid var(--line); }
.tabs button { padding:10px 18px; border:0; border-bottom:3px solid transparent; color:var(--copper); background:transparent; }
.tabs [aria-selected="true"] { color:var(--ink); border-bottom-color:var(--gold); background:var(--soft); font-weight:600; }
.help { font-size:13px; color:var(--copper); margin:7px 0 0; }
.storage-note { margin-top:20px; }
.form-actions,.dialog-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.button { display:inline-flex; align-items:center; justify-content:center; text-align:center; gap:6px; padding:9px 16px; border:1px solid #bda37a; border-radius:6px; background:var(--cream); color:var(--ink); font-size:13px; font-weight:600; line-height:1.5; text-decoration:none; }
.button:hover { background:#FFF0BF; }
.button.primary { background:#9A6F08; border-color:#9A6F08; color:#fff; }
.button.primary:hover { background:#7C5906; }
.notice { background:var(--soft); border-left:3px solid var(--gold); padding:10px 14px; font-size:13px; color:var(--copper); }
.message { margin-bottom:20px; padding:12px 16px; border-radius:6px; }
.error { background:#fff0eb; border:1px solid #c7664a; color:#822c19; }
.empty-state { padding:48px 24px; text-align:center; border:1px dashed #bda37a; border-radius:10px; background:var(--cream); }
.project-table { width:100%; border-collapse:collapse; background:var(--cream); }
.project-table th,.project-table td { padding:15px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top; }
.project-table th { font-size:12px; color:var(--copper); background:var(--soft); }
.project-table td { font-size:14px; }
.project-table small { display:block; color:var(--copper); margin-top:3px; }
.table-scroll { overflow-x:auto; }
.editor-page { flex:1; width:100%; }
.editor-error { margin:20px 24px; }
.workspace-toolbar { position:sticky; top:calc(var(--arbsq-header-height) + var(--arbsq-tool-nav-height)); z-index:5; background:var(--cream); border-bottom:1px solid var(--line); padding:18px max(24px,calc((100vw - 1200px)/2)); }
.document-heading,.toolbar-actions { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.document-heading h1 { font-family:Inter,Arial,sans-serif; font-size:20px; line-height:1.4; overflow-wrap:anywhere; margin:0; }
.save-state { flex-shrink:0; font-size:12px; color:var(--copper); text-align:right; }
.save-state span { display:block; }
.toolbar-actions { margin-top:14px; }
.language-pair { font-size:13px; font-weight:600; }
.project-settings,.editor-hint,.translation-table { width:calc(100% - 48px); max-width:1200px; margin-left:auto; margin-right:auto; }
.project-settings { padding:12px 0 0; font-size:13px; }
.project-settings summary { cursor:pointer; color:var(--copper); }
.project-settings dl { display:flex; gap:32px; flex-wrap:wrap; margin:10px 0; }
.project-settings dt { font-weight:600; } .project-settings dd { margin:0; max-width:70ch; white-space:pre-wrap; overflow-wrap:anywhere; }
.editor-hint { color:var(--copper); font-size:13px; margin-top:18px; margin-bottom:12px; }
.translation-table { table-layout:fixed; border-collapse:collapse; margin-bottom:40px; border:1px solid var(--line); }
.translation-table th { padding:10px 16px; background:#4A2C1A; color:var(--cream); font-size:13px; text-align:left; }
.translation-table th.number-column { width:46px; text-align:center; }
.translation-table td { padding:0; vertical-align:top; border-bottom:1px solid var(--line); background:#fffdf5; }
.translation-table tr:nth-child(even) td { background:#fff8e1; }
.translation-table td+td { border-left:1px solid var(--line); }
.translation-table .segment-number { padding:15px 6px; text-align:center; color:var(--copper); font-size:12px; }
.cell-text { display:block; width:100%; min-height:70px; padding:15px 18px; border:0; background:transparent; color:inherit; text-align:start; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.7; }
.cell-text:hover { background:#d4a01710; }
.target-placeholder { color:#795035; font-style:italic; font-size:13px; }
.translation-table tr.active td { background:#fff0bf; }
.translation-table tr.active .xl8-target { box-shadow:inset 3px 0 #9A6F08; }
.inline-editor { padding:12px; font-family:Inter,Arial,sans-serif; }
.segment-menu { display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; align-items:center; margin-bottom:10px; }
.segment-menu .button { padding:5px 10px; font-size:12px; }
.segment-menu .edit-actions { display:flex; gap:6px; }
.inline-editor textarea { min-height:130px; }
.inline-editor label { font-size:12px; color:var(--copper); }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.skip-link { position:absolute; left:20px; top:-60px; z-index:20; background:#fff; padding:10px; }
.skip-link:focus { top:10px; }
dialog { border:1px solid #bda37a; border-radius:12px; padding:24px; color:var(--ink); background:var(--cream); width:min(860px,calc(100% - 32px)); max-height:90vh; overflow-y:auto; }
dialog::backdrop { background:#2c181080; }
#pending-dialog,#export-dialog { max-width:540px; }
.dialog-heading { display:flex; align-items:start; justify-content:space-between; gap:20px; }
.dialog-actions { justify-content:flex-end; margin-top:22px; }
.resource-context { margin:16px 0; }
#modal-source { background:var(--soft); padding:12px; border-left:2px solid var(--gold); white-space:pre-wrap; }
.resource-grid { display:grid; grid-template-columns:2fr 1fr; gap:28px; }
.terminology { border-left:1px solid var(--line); padding-left:20px; }
.suggestion { padding:12px 0; border-bottom:1px solid var(--line); }
.suggestion p { margin:0 0 10px; font-family:Amiri,serif; font-size:20px; }
.term-pair { padding:10px 0; border-bottom:1px solid var(--line); }
.term-pair span { display:block; }
.term-pair [lang="ar"] { font-family:Amiri,serif; font-size:20px; }
.site-footer { display:flex; justify-content:space-between; gap:20px; padding:20px 24px; border-top:1px solid var(--line); color:var(--copper); font-size:12px; margin-top:auto; }
@media(max-width:640px) {
    .page { padding:28px 16px 40px; } h1 { font-size:30px; } .panel { padding:20px; } .form-grid { grid-template-columns:1fr; gap:16px; }
    .heading-row { align-items:start; flex-direction:column; gap:8px; }
    .workspace-toolbar { padding:12px 16px; } .document-heading { align-items:start; flex-direction:column; gap:7px; } .save-state { text-align:left; } .save-state span { display:inline; margin-right:10px; }
    .toolbar-actions { gap:8px; } .toolbar-actions .button { padding:8px 10px; } .language-pair { font-size:12px; }
    .project-settings,.editor-hint { width:calc(100% - 32px); }
    .translation-table { width:calc(100% - 16px); } .translation-table th { padding:10px 8px; } .translation-table th.number-column { width:30px; }
    .cell-text { padding:12px 9px; font-size:13px; } .inline-editor { padding:8px; } .segment-menu { align-items:stretch; } .inline-editor textarea { padding:8px; }
    .resource-grid { grid-template-columns:1fr; gap:20px; } .terminology { border-left:0; border-top:1px solid var(--line); padding:16px 0 0; }
    .site-footer { flex-direction:column; gap:5px; }
    .project-table th,.project-table td { padding:12px; } .project-table { min-width:620px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; } }
