/* ── Talent job board ────────────────────────────────────────────────────────────────
   Every vacancy is English, so a card's content block runs LTR inside the RTL page, the
   way a quoted document does; only our own chrome (count, posted date, actions) follows
   the page direction. That split is also what lets /en/ reuse this markup unchanged.
   English strings sit in <bdi> so a title like "Sr. Data Scientist (AI & ML)" keeps its
   brackets on the correct side. */
.aig-jobs-board { margin: 42px auto 72px; max-width: 1120px; min-width: 0; width: 100%; }
.aig-jobs-board-head { border-bottom: 1px solid color-mix(in srgb, var(--aig-ink) 14%, transparent); margin-top: 6px; padding-bottom: 18px; }
.aig-jobs-board-head h1 { color: var(--aig-ink); font-size: clamp(2.6rem, 5vw, 4rem); margin: 4px 0 8px; }
.aig-jobs-board-head p { color: var(--color-secondary-text); font-size: 1.5rem; line-height: 1.8; margin: 0; max-width: 760px; }
.aig-jobs-board-head .aig-jobs-board-status { color: var(--aig-talent); font-size: 1.25rem; margin: 10px 0 0; }
.aig-jobs-filters { align-items: end; background: color-mix(in srgb, var(--aig-talent) 5%, var(--color-bg)); border: 1px solid color-mix(in srgb, var(--aig-ink) 15%, transparent); border-radius: 14px; display: grid; gap: 14px; grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(130px, 1fr)) auto; margin: 26px 0 16px; padding: 18px; }
.aig-jobs-filters label { color: var(--aig-ink); display: grid; font-size: 1.25rem; font-weight: 700; gap: 7px; }
.aig-jobs-filters input, .aig-jobs-filters select { background: var(--color-bg); border: 1px solid color-mix(in srgb, var(--aig-ink) 28%, transparent); border-radius: 9px; color: var(--aig-ink); font: inherit; min-height: 46px; padding: 8px 12px; }
.aig-jobs-reset, .aig-job-save, .aig-job-share, .aig-job-board-link { background: transparent; border: 1px solid color-mix(in srgb, var(--aig-ink) 38%, transparent); border-radius: 999px; color: var(--aig-ink); cursor: pointer; font: inherit; font-weight: 700; min-height: 44px; padding: 9px 17px; }
.aig-job-save.is-saved { border-color: var(--aig-talent); color: var(--aig-talent); }
.aig-jobs-count { color: var(--aig-talent); font-size: 1.35rem; font-weight: 700; margin: 16px 0; }

.aig-jobs-list { display: grid; gap: 14px; }
.aig-job-card { background: var(--color-bg); border: 1px solid color-mix(in srgb, var(--aig-ink) 14%, transparent); border-radius: 16px; display: block; padding: 22px 24px; position: relative; transition: border-color .2s, box-shadow .2s, transform .2s; }
.aig-job-card:hover { border-color: color-mix(in srgb, var(--aig-talent) 55%, transparent); box-shadow: 0 10px 26px rgb(0 0 0 / .08); transform: translateY(-2px); }
.aig-job-card:focus-within { border-color: var(--aig-talent); }
/* No direction override: the card follows the page, and <bdi> keeps each English
   string correctly ordered. That is what lets the same markup serve /en/ unchanged. */
.aig-job-title { font-size: 2.05rem; line-height: 1.35; margin: 0 0 3px; }
.aig-job-title a { color: var(--aig-talent); text-decoration: none; }
.aig-job-title a:hover { text-decoration: underline; }
/* One stretched link makes the whole card clickable without putting a button on it. */
.aig-job-title a::after { content: ""; inset: 0; position: absolute; }
.aig-job-new { background: color-mix(in srgb, #b3411a 12%, transparent); border-radius: 5px; color: #b3411a; font-size: 1.02rem; font-weight: 800; margin-inline-start: 8px; padding: 3px 7px; vertical-align: middle; white-space: nowrap; }
.aig-job-company { color: var(--aig-ink); font-size: 1.35rem; font-weight: 700; margin: 0 0 12px; }
.aig-job-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 12px; padding: 0; }
.aig-job-chip { background: color-mix(in srgb, var(--aig-talent) 9%, var(--color-bg)); border: 1px solid color-mix(in srgb, var(--aig-talent) 26%, transparent); border-radius: 8px; color: var(--aig-ink); font-size: 1.18rem; font-weight: 600; padding: 6px 12px; white-space: nowrap; }
/* Deliberately NOT flex. A flex container makes every text fragment its own flex item, so
   the box laid them out itself and the bidi algorithm never got to order the mixed
   Arabic/Latin parts. Plain inline flow keeps "Doha، قطر، London" in the right order. */
.aig-job-place { color: var(--color-secondary-text); font-size: 1.3rem; margin: 0 0 10px; }
.aig-job-place svg { display: inline-block; fill: none; height: 15px; margin-inline-end: 6px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; vertical-align: -2px; width: 15px; }
/* The excerpt is English prose. Left to the page direction its lines re-order and the
   trailing ellipsis lands at the start, so it gets LTR flow while staying flush with the
   card's reading edge. */
.aig-job-excerpt { -webkit-box-orient: vertical; -webkit-line-clamp: 3; color: var(--color-secondary-text); direction: ltr; display: -webkit-box; font-size: 1.4rem; line-height: 1.7; margin: 0; overflow: hidden; text-align: end; }
[dir="ltr"] .aig-job-excerpt, html:not([dir="rtl"]) .aig-job-excerpt { text-align: start; }
.aig-job-posted { color: var(--color-secondary-text); font-size: 1.2rem; margin: 14px 0 0; }
.aig-job-calendar-date { color: var(--color-secondary-text); font-size: 1.18rem; }
.aig-jobs-empty { border: 1px dashed var(--aig-talent); font-size: 1.5rem; padding: 26px; text-align: center; }
.aig-share-dialog { background: var(--color-bg); border: 0; border-radius: 26px 26px 0 0; box-shadow: 0 -14px 44px rgb(0 0 0 / .22); box-sizing: border-box; color: var(--aig-ink); inline-size: min(100%, 560px); inset: auto 0 0; margin: 0 auto; max-inline-size: none; padding: 36px 28px 30px; position: fixed; text-align: center; }
.aig-share-dialog::backdrop { background: rgb(0 0 0 / .65); }
.aig-share-dialog h2 { color: var(--aig-ink); font-size: clamp(2.2rem, 6vw, 3rem); margin: 0 0 28px; }
.aig-share-dialog-close { inset: 16px auto auto 18px; margin: 0; position: absolute; }
.aig-share-close { align-items: center; background: transparent; border: 0; border-radius: 50%; color: var(--aig-ink); cursor: pointer; display: inline-flex; font-size: 3.2rem; height: 40px; justify-content: center; line-height: 1; padding: 0; width: 40px; }
.aig-share-close:hover, .aig-share-close:focus-visible { background: color-mix(in srgb, var(--aig-ink) 9%, transparent); }
.aig-share-options { direction: ltr; display: flex; justify-content: center; gap: clamp(10px, 3vw, 22px); margin: 0; }
.aig-share-option { align-items: center; background: transparent; border: 0; color: var(--aig-ink); cursor: pointer; display: inline-flex; flex-direction: column; font: inherit; min-inline-size: 56px; padding: 0; text-decoration: none; }
.aig-share-option span { height: 1px; margin: -1px; overflow: hidden; position: absolute; width: 1px; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.aig-share-option svg { background: transparent; border: 2px solid color-mix(in srgb, var(--aig-ink) 20%, transparent); border-radius: 50%; box-sizing: border-box; fill: none; height: clamp(54px, 14vw, 72px); padding: 14px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.75; transition: background .18s, border-color .18s, color .18s, transform .18s; width: clamp(54px, 14vw, 72px); }
.aig-share-option[data-share-linkedin] svg, .aig-share-option[data-share-x] svg { fill: currentColor; stroke: none; }
.aig-share-option:hover, .aig-share-option:focus-visible { color: var(--aig-talent); outline: 0; }
.aig-share-option:hover svg, .aig-share-option:focus-visible svg { background: color-mix(in srgb, var(--aig-talent) 10%, transparent); border-color: var(--aig-talent); transform: translateY(-2px); }
.aig-share-option.is-copied { color: var(--aig-talent); }
.aig-visually-hidden { height: 1px; margin: -1px; overflow: hidden; position: absolute; width: 1px; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.aig-job-detail { margin: 46px auto 90px; max-width: 820px; }
.aig-job-back { color: var(--aig-talent); display: inline-block; font-weight: 800; margin-bottom: 26px; }
.aig-job-detail-head { border-bottom: 1px solid color-mix(in srgb, var(--aig-ink) 14%, transparent); padding-bottom: 24px; }
.aig-job-detail h1 { color: var(--aig-ink); font-size: clamp(2.8rem, 5vw, 4.6rem); line-height: 1.25; margin: 6px 0 10px; }
.aig-job-detail-company { color: var(--aig-talent); font-size: 1.5rem; font-weight: 800; margin: 0; }
.aig-job-detail .aig-job-chips { margin: 16px 0 0; }
/* The save button sits under the share strip, sized to itself rather than stretching the
   line. Gold takes DARK text: white on #D4860B measures 2.91:1, well under the floor. */
.aig-job-detail-tools { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 0; }
/* The employer's own headings are the section headings: this page mirrors the vacancy.
   The body is a full English document, so it reads left-to-right even on the Arabic page. */
.aig-job-body { direction: ltr; margin-top: 10px; text-align: left; }
.aig-job-section { margin: 32px 0; }
.aig-job-section h2 { color: var(--aig-ink); font-size: 2.1rem; margin: 0 0 12px; }
.aig-job-section h3 { color: var(--aig-ink); font-size: 1.72rem; margin: 22px 0 8px; }
.aig-job-section p, .aig-job-section li { font-size: 1.6rem; line-height: 1.95; }
.aig-job-section p { margin: 0 0 14px; }
.aig-job-section ul, .aig-job-section ol { margin: 0 0 16px; padding-inline-start: 22px; }
.aig-job-section li { margin-bottom: 7px; }
.aig-job-section a { color: var(--aig-talent); }
.aig-job-extra { border-top: 1px solid color-mix(in srgb, var(--aig-ink) 14%, transparent); margin-top: 34px; padding-top: 18px; }
.aig-job-extra summary { color: var(--aig-talent); cursor: pointer; font-size: 1.4rem; font-weight: 800; }
.aig-job-extra[open] summary { margin-bottom: 10px; }
.aig-job-apply-end { border-top: 1px solid color-mix(in srgb, var(--aig-ink) 14%, transparent); margin-top: 40px; padding-top: 34px; text-align: center; }
.aig-job-apply-end p { color: var(--color-secondary-text); font-size: 1.3rem; margin: 14px 0 0; }
.aig-job-apply { background: linear-gradient(135deg, #f1ad28, var(--aig-talent)); border: 1px solid var(--aig-talent); border-radius: 999px; box-shadow: 0 5px 12px rgb(212 134 11 / .22); color: #16181c !important; display: inline-block; font-size: 1.6rem; font-weight: 800; min-height: 44px; padding: 15px 42px; white-space: nowrap; }
.aig-job-apply:hover { box-shadow: 0 8px 18px rgb(212 134 11 / .3); transform: translateY(-1px); }
.aig-job-source { color: var(--color-secondary-text); font-size: 1.3rem; margin-top: 26px; }
.aig-job-closed-note { background: color-mix(in srgb, var(--aig-ink) 6%, transparent); border-radius: 10px; color: var(--aig-ink); font-size: 1.4rem; line-height: 1.8; margin: 0 0 18px; padding: 16px 18px; }
.aig-job-detail-error { font-size: 1.7rem; margin: 70px auto; max-width: 720px; text-align: center; }
.aig-job-details-dialog { background: var(--color-bg); border: 2px solid var(--aig-talent); color: var(--aig-ink); max-width: 720px; padding: 30px; text-align: right; }
.aig-job-details-dialog::backdrop { background: rgb(0 0 0 / .65); }
.aig-job-details-dialog h2 { color: var(--aig-ink); font-size: 3rem; margin: 6px 0 10px; }
.aig-job-details-dialog h3 { font-size: 1.7rem; margin: 22px 0 8px; }
.aig-job-details-dialog p, .aig-job-details-dialog li { font-size: 1.55rem; line-height: 1.7; }
.aig-job-details-dialog .aig-job-apply { display: inline-block; margin-top: 22px; }
.aig-talent-board-card { animation: aig-board-pulse 5s ease-in-out infinite; background: linear-gradient(120deg, #271705, #49300b); border-right: 5px solid var(--aig-talent); color: #fff; display: block; margin: 24px 0 32px; padding: 22px; }
.aig-talent-board-card:hover { color: #fff; transform: translateY(-2px); }
.aig-talent-board-card strong { color: #ffc04f; display: block; font-size: 2.2rem; margin-bottom: 4px; }
.aig-talent-board-card span { font-size: 1.4rem; }
.aig-account-main{margin:42px auto 80px;max-width:980px}.aig-account-hero{background:linear-gradient(135deg,#211609,#101113);border-radius:18px;color:#fff;padding:42px}.aig-account-hero h1{color:#fff;font-size:5rem;margin:5px 0}.aig-account-loading,.aig-account-signed-out,.aig-account-content{margin-top:28px}.aig-account-signed-out{border:1px solid color-mix(in srgb,var(--aig-ink) 15%,transparent);border-radius:14px;padding:30px}.aig-account-saves{display:grid;gap:12px}.aig-account-save,.aig-author-submission{border:1px solid color-mix(in srgb,var(--aig-ink) 15%,transparent);border-radius:14px;padding:20px}.aig-account-save p{color:var(--aig-talent);font-weight:800;margin:0}.aig-account-save h3{margin:5px 0}.aig-account-save span,.aig-author-submission span{color:var(--color-secondary-text);display:block}.aig-account-save div{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.aig-account-save a,.aig-account-save button{background:transparent;border:1px solid color-mix(in srgb,var(--aig-ink) 30%,transparent);border-radius:999px;color:var(--aig-ink);font:inherit;font-weight:700;padding:8px 14px}.aig-author-dashboard{border-top:1px solid color-mix(in srgb,var(--aig-ink) 16%,transparent);margin-top:52px;padding-top:34px}.aig-author-dashboard form{display:grid;gap:16px;margin:24px 0}.aig-author-dashboard label{display:grid;font-weight:700;gap:7px}.aig-author-dashboard input,.aig-author-dashboard textarea,.aig-author-dashboard select{background:var(--color-bg);border:1px solid color-mix(in srgb,var(--aig-ink) 30%,transparent);border-radius:9px;color:var(--aig-ink);font:inherit;padding:10px}.aig-author-dashboard textarea{min-height:150px}.aig-author-form-grid{display:grid;gap:14px;grid-template-columns:1fr 1fr}
.aig-member-dashboard{margin:42px auto 80px;max-width:980px}.aig-dashboard-content{margin-top:28px}.aig-dashboard-welcome h2{color:var(--aig-ink);font-size:3rem;margin-bottom:4px}.aig-dashboard-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px}.aig-dashboard-card{align-items:center;background:var(--color-bg);border:1px solid color-mix(in srgb,var(--aig-ink) 16%,transparent);border-radius:16px;color:var(--aig-ink);display:grid;gap:14px;grid-template-columns:auto 1fr auto;min-height:132px;padding:20px;transition:box-shadow .2s,transform .2s}.aig-dashboard-card:hover{box-shadow:0 12px 26px rgb(0 0 0 / .1);color:var(--aig-ink);transform:translateY(-2px)}.aig-dashboard-icon{align-items:center;background:color-mix(in srgb,var(--aig-talent) 12%,var(--color-bg));border:1px solid color-mix(in srgb,var(--aig-talent) 50%,transparent);border-radius:999px;color:var(--aig-talent);display:inline-flex;font-size:1.15rem;font-weight:800;height:42px;justify-content:center;width:42px}.aig-dashboard-card h3{font-size:1.85rem;margin:0 0 5px}.aig-dashboard-card p{color:var(--color-secondary-text);font-size:1.25rem;line-height:1.55;margin:0}
@keyframes aig-board-pulse { 0%, 100% { box-shadow: 0 0 0 rgb(212 134 11 / 0); } 50% { box-shadow: 0 0 20px rgb(212 134 11 / .28); } }
@media (max-width: 760px) {
  .aig-jobs-board-main { overflow-x: hidden; }
  .aig-jobs-board-main .aig-jobs-board { margin-inline: 0; max-width: calc(100vw - 40px); }
  .aig-jobs-board-head h1, .aig-jobs-board-head p { max-width: 100%; overflow-wrap: anywhere; }
  .aig-jobs-board-head, .aig-jobs-filters, .aig-job-card { max-width: 100%; overflow: hidden; }
  .aig-jobs-filters input[type="search"], .aig-jobs-filters select { box-sizing: border-box; max-width: 100%; }
  .aig-jobs-filters { grid-template-columns: 1fr; padding: 14px; }
  .aig-job-card { padding: 18px 16px; }
  .aig-job-title { font-size: 1.85rem; overflow-wrap: anywhere; }
  .aig-job-detail { margin-top: 28px; }
  .aig-job-apply { display: block; padding: 15px 20px; white-space: normal; }
  .aig-share-dialog { padding: 34px 16px 28px; }
  .aig-share-options { gap: clamp(6px, 3vw, 16px); }
  .aig-share-option { min-inline-size: 50px; }
  .aig-account-hero{padding:26px}.aig-author-form-grid,.aig-dashboard-grid{grid-template-columns:1fr}
}

/* ── Talent-page vacancies strip ──────────────────────────────────────────────────────
   The homepage strip is styled inside home.hbs's inline <style>, so it is invisible to
   every other template. This variant is self-contained and sits in the page flow instead
   of being a full-bleed dark band. */
.aig-jobs-strip-talent { background: transparent; color: var(--aig-ink); margin: 26px 0 34px; padding: 0; }
.aig-jobs-strip-talent .inner { margin: 0; max-width: none; padding: 0; }
.aig-jobs-strip-talent .aig-jobs-strip-head { align-items: flex-end; border-bottom: 2px solid var(--aig-talent); display: flex; gap: 14px; justify-content: space-between; margin: 0 0 18px; padding-bottom: 12px; }
.aig-jobs-strip-talent .aig-jobs-kicker { color: #9b5f06; font-size: 1.25rem; font-weight: 800; margin: 0 0 5px; }
.aig-jobs-strip-talent .aig-jobs-kicker .en { direction: ltr; font: 700 1rem/1 Georgia, serif; letter-spacing: .16em; margin-inline-end: 8px; unicode-bidi: isolate; }
.aig-jobs-strip-talent .aig-jobs-strip-head h2 { color: var(--aig-ink); font-size: 2.4rem; margin: 0; }
.aig-jobs-strip-talent .aig-jobs-seeall { color: var(--color-secondary-text) !important; font-size: 1.25rem; font-weight: 700; white-space: nowrap; }
.aig-jobs-strip-talent .aig-jobs-seeall:hover { color: var(--aig-talent) !important; }
.aig-jobs-strip-talent .aig-jobs-rail { display: grid; gap: 14px; grid-auto-columns: minmax(228px, 1fr); grid-auto-flow: column; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x proximity; }
@media (min-width: 900px) { .aig-jobs-strip-talent .aig-jobs-rail { grid-auto-flow: row; grid-template-columns: repeat(4, 1fr); overflow-x: visible; padding-bottom: 0; } }
.aig-jobs-strip-talent .aig-jobs-card { align-content: start; background: var(--color-bg); border: 1px solid color-mix(in srgb, var(--aig-ink) 14%, transparent); border-inline-start: 3px solid var(--aig-talent); border-radius: 10px; color: var(--aig-ink) !important; display: grid; gap: 9px; min-width: 0; padding: 14px 15px; scroll-snap-align: start; text-decoration: none !important; transition: border-color .15s, transform .15s; }
.aig-jobs-strip-talent .aig-jobs-card:hover { border-color: var(--aig-talent); transform: translateY(-2px); }
.aig-jobs-strip-talent .aig-jobs-top { align-items: center; display: flex; gap: 8px; justify-content: space-between; }
.aig-jobs-strip-talent .aig-jobs-chip { background: color-mix(in srgb, var(--aig-talent) 16%, transparent); border-radius: 999px; color: #8a5405; flex: 0 0 auto; font-size: 1.05rem; font-weight: 800; padding: 2px 9px; white-space: nowrap; }
.aig-jobs-strip-talent .aig-jobs-title { -webkit-box-orient: vertical; -webkit-line-clamp: 3; color: var(--aig-ink); display: -webkit-box; font-size: 1.6rem; line-height: 1.6; overflow: hidden; overflow-wrap: break-word; }
.aig-jobs-strip-talent .aig-jobs-meta { color: var(--color-secondary-text); display: flex; flex-wrap: wrap; font-size: 1.1rem; gap: 7px 10px; line-height: 1.45; }
@media (prefers-reduced-motion: reduce) { .aig-jobs-strip-talent .aig-jobs-card { transition: none; } .aig-jobs-strip-talent .aig-jobs-card:hover { transform: none; } }

/* ── Share strip on a vacancy ─────────────────────────────────────────────────────────
   Same shape as the article strip, restated here because the canonical rules live inside
   post.hbs's inline <style> and are invisible to every other template. */
.aig-job-share-bar { align-items: center; border-top: 1px solid color-mix(in srgb, var(--aig-ink) 14%, transparent); display: flex; flex-wrap: wrap; gap: 10px; margin: 34px 0 0; padding-top: 18px; }
.aig-job-share-bar .aig-share-label { color: var(--color-secondary-text); font-size: 1.2rem; font-weight: 800; margin-inline-end: 2px; }
.aig-job-share-bar .aig-share-link { align-items: center; background: var(--color-bg); border: 1px solid color-mix(in srgb, var(--aig-ink) 18%, transparent); border-radius: 999px; color: var(--aig-ink); cursor: pointer; display: inline-flex; height: 38px; justify-content: center; padding: 0; transition: background .15s, border-color .15s, color .15s; width: 38px; }
.aig-job-share-bar .aig-share-link .icon { height: 17px; width: 17px; }
.aig-job-share-bar .aig-share-link:hover { background: var(--aig-talent); border-color: var(--aig-talent); color: #16181c; }
.aig-job-share-bar .aig-share-copy.aig-share-copied { background: #1a7f37; border-color: #1a7f37; color: #fff; }
/* Compact tools: the label says what it does, the context says what it acts on. */
.aig-job-detail-tools .aig-job-save { background: var(--aig-talent); border: 1px solid var(--aig-talent); border-radius: 999px; box-shadow: 0 4px 10px rgb(212 134 11 / .24); color: #16181c; flex: 0 0 auto; font-size: 1.35rem; font-weight: 800; min-height: 40px; padding: 8px 30px; width: auto; }
.aig-job-detail-tools .aig-job-save:hover { background: #b8740a; border-color: #b8740a; }
.aig-job-detail-tools .aig-job-save.is-saved { background: transparent; box-shadow: none; color: var(--aig-talent); }
.aig-job-share-bar { margin-top: 22px; }

.aig-jobs-filter-actions { display: flex; gap: 8px; }
.aig-jobs-search { background: var(--aig-talent); border: 1px solid var(--aig-talent); border-radius: 999px; color: #16181c; cursor: pointer; font: inherit; font-weight: 800; min-height: 46px; padding: 9px 26px; }
.aig-jobs-search:hover { background: #b8740a; border-color: #b8740a; }
@media (max-width: 760px) { .aig-jobs-filter-actions { display: grid; grid-template-columns: 1fr 1fr; } }

/* The link back to our own coverage of a vacancy. Arabic board only — see aig-job-details.js.
   It sits under the apply action rather than beside it: applying is the reader's job here,
   reading is the alternative, and putting two equal-weight actions side by side makes the
   candidate choose before they have the information to choose with. */
.aig-job-read { margin-top: 14px; font-size: 1.4rem; }
.aig-job-read a { color: var(--color-secondary-text); text-decoration: underline; text-underline-offset: 3px; }
.aig-job-read a:hover { color: var(--ghost-accent-color, currentColor); }

/* === «الصوت» author workspace: the article list, 2026-08-25 =================
   Loka's ask: an author should see every piece they have sent and where it got to.
   Emerald is «الصوت»'s accent (#1E5C3F); the three edition colours are borrowed only
   for STATE, never for decoration, so the pillar palette keeps its meaning.
   Colours are paired with words, never used alone to carry the status. */
.aig-author-hint{color:var(--color-secondary-text);font-weight:400;font-size:.85em}
.aig-author-note{color:var(--color-secondary-text);font-size:.9rem;line-height:1.7;margin:0 0 8px}
.aig-author-empty{color:var(--color-secondary-text);margin:14px 0 0}
.aig-author-submissions{display:grid;gap:12px;margin-top:16px}
.aig-author-submission{border:1px solid color-mix(in srgb,var(--aig-ink) 15%,transparent);
  border-inline-start:3px solid #1E5C3F;border-radius:14px;padding:18px 20px;display:grid;gap:8px}
.aig-author-submission-title{font-size:1.05rem;line-height:1.6;margin:0}
.aig-author-submission-meta{display:flex;flex-wrap:wrap;gap:6px 18px}
.aig-author-submission-meta span{color:var(--color-secondary-text);display:inline;font-size:.86rem}
.aig-author-pill{align-self:start;border-radius:999px;font-size:.86rem;font-weight:800;
  letter-spacing:.2px;padding:5px 14px;white-space:nowrap;width:max-content;line-height:1.5}
.aig-author-pill-done{background:color-mix(in srgb,#1E5C3F 20%,transparent);color:#154430}
.aig-author-pill-moving{background:color-mix(in srgb,#1A3D7C 18%,transparent);color:#16305e}
.aig-author-pill-waiting{background:color-mix(in srgb,#D4860B 26%,transparent);color:#7a4e05}
.aig-author-pill-stopped{background:color-mix(in srgb,#4A2535 18%,transparent);color:#3a1c29}
.aig-author-submission-link{color:#1E5C3F;font-size:.95rem;font-weight:700;justify-self:start;
  text-decoration:none;border-bottom:1px solid color-mix(in srgb,#1E5C3F 40%,transparent);
  padding-bottom:1px;line-height:1.6}
.aig-author-submission-link:hover{color:#3B7E5E}
/* The border sits on the leading edge in both directions; `border-inline-start` already
   follows the element's own direction, so no RTL override is needed here. */
@media (prefers-color-scheme:dark){
  .aig-author-pill-done{background:color-mix(in srgb,#3B7E5E 22%,transparent);color:#8fd0ae}
  .aig-author-pill-moving{background:color-mix(in srgb,#3A5FA8 24%,transparent);color:#a8c2f0}
  .aig-author-pill-waiting{background:color-mix(in srgb,#D4860B 24%,transparent);color:#f0bd6b}
  .aig-author-pill-stopped{background:color-mix(in srgb,#6E3A4F 28%,transparent);color:#e0a8bd}
  .aig-author-submission-link{color:#6fbf93}
  .aig-author-submission-link:hover{color:#8fd0ae}
}
