/*@3.SEMC.1*/

/*@3.SEMC.2*/

/*@3.SEMC.3*/
.sem-wrap {
  --sem-top: calc(64px + var(--sa-t));
  --sem-gap: 1.1rem;
  max-width: 1180px;
  margin: 0 auto;
  padding: 1.4rem 1rem 5rem;
}

/*@3.SEMC.4*/
.sem-wrap, .sem-dlg {
  --tint-ink: #ffffff;      /*@3.SEMC.5*/
  --tint-fill: 15%;
  --tint-on: var(--st-accent, #a78bfa);
  --tint-exam: var(--st-danger, #ef4444);
}
:root[data-theme="light"] .sem-wrap,
:root[data-theme="light"] .sem-dlg {
  --tint-ink: #0f1720;      /*@3.SEMC.6*/
  --tint-fill: 13%;
}

/*@3.SEMC.7*/
:where(.sem-wrap, .sem-dlg) :where(button) {
  font: inherit;
  color: inherit;
  background: none;
  border: none;
  margin: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/*@3.SEMC.8*/

.sem-head {
  position: relative;
  padding: .6rem 0 1.1rem;
  isolation: isolate;
}
/*@3.SEMC.9*/
.sem-head::before {
  content: '';
  position: absolute;
  inset-block-start: -2.2rem;
  inset-inline-start: -3rem;
  width: 22rem;
  height: 12rem;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(closest-side,
    color-mix(in srgb, var(--st-accent, #a78bfa) 15%, transparent), transparent 75%);
}
[dir="ltr"] .sem-head::before { inset-inline-start: auto; inset-inline-end: -3rem; }
[data-theme="light"] .sem-head::before { opacity: .55; }

.sem-head-row {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  flex-wrap: wrap;
}
.sem-head-t { flex: 1 1 16rem; min-width: 0; }

/*@3.SEMC.10*/
.sem-title {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-family: 'Cairo', sans-serif; font-weight: 800;
  font-size: clamp(1.4rem, 3.4vw, 1.9rem); margin: 0 0 .3rem;
}
[dir="ltr"] .sem-title { font-family: 'Inter', 'Cairo', sans-serif; }
.sem-title-x {
  min-width: 0;
  /*@3.SEMC.11*/
  width: fit-content;
  max-width: 100%;
  background: linear-gradient(135deg, var(--text-primary) 30%, #a78bfa 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}
.sem-sub {
  display: flex; align-items: center; flex-wrap: wrap; gap: .35rem .7rem;
  color: var(--text-muted); font-size: .86rem; margin: 0;
}
.sem-sub b { color: var(--text-secondary); font-weight: 700; }
/*@3.SEMC.12*/
.sem-sub [aria-hidden="true"] { margin-inline: .45rem; opacity: .55; }

.sem-head-a { display: flex; gap: .4rem; flex-wrap: wrap; align-items: center; }

/*@3.SEMC.14*/

.sem-btn {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .45rem .85rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  background: var(--bg-elevated);
  color: var(--text-secondary);
  font-family: 'Cairo', sans-serif;
  font-size: .8rem; font-weight: 700;
  white-space: nowrap;
  transition: color .18s, border-color .18s, background-color .18s, transform .18s;
}
[dir="ltr"] .sem-btn { font-family: 'Inter', 'Cairo', sans-serif; }
.sem-btn[hidden] { display: none; }
.sem-btn:hover { color: var(--text-primary); border-color: var(--text-secondary); transform: translateY(-1px); }
.sem-btn:active { transform: scale(.96); }
.sem-btn i { font-size: .78rem; color: var(--text-muted); transition: color .18s; }
.sem-btn:hover i { color: var(--st-accent, #a78bfa); }

/*@3.SEMC.15*/
.sem-btn--primary {
  border-color: transparent;
  background: linear-gradient(135deg, #a78bfa, #7c3aed);
  color: #fff;
  box-shadow: 0 4px 15px rgba(124, 58, 237, .3);
}
.sem-btn--primary i { color: #fff; }
.sem-btn--primary:hover {
  color: #fff; border-color: transparent;
  box-shadow: 0 8px 25px rgba(124, 58, 237, .35);
}
.sem-btn--primary:hover i { color: #fff; }

/*@3.SEMC.16*/
.sem-btn--danger { color: var(--st-danger, #ef4444); background: none; }
.sem-btn--danger i { color: var(--st-danger, #ef4444); }
.sem-btn--danger:hover {
  color: var(--st-danger, #ef4444);
  border-color: var(--st-danger, #ef4444);
  background: color-mix(in srgb, var(--st-danger, #ef4444) 10%, transparent);
}
.sem-btn--danger:hover i { color: var(--st-danger, #ef4444); }

/*@3.SEMC.17*/
.sem-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
  padding: .5rem .9rem;
  border: 1px dashed var(--border-hover, var(--gray-500));
  border-radius: var(--radius-lg);
  background: none;
  color: var(--text-muted);
  font-family: 'Cairo', sans-serif; font-size: .8rem; font-weight: 700;
  transition: color .18s, border-color .18s;
}
[dir="ltr"] .sem-cta { font-family: 'Inter', 'Cairo', sans-serif; }
.sem-cta[hidden] { display: none; }
.sem-cta:hover { color: var(--st-accent, #a78bfa); border-color: var(--st-accent, #a78bfa); }
.sem-cta i { font-size: .78rem; }

/*@3.SEMC.18*/
.sem-ico {
  flex: none;
  width: 34px; height: 34px;
  display: inline-grid; place-items: center;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  background: var(--bg-elevated);
  color: var(--text-muted);
  font-size: .82rem;
  transition: color .18s, border-color .18s;
}
.sem-ico[hidden] { display: none; }
.sem-ico:hover { color: var(--st-accent, #a78bfa); border-color: var(--st-accent, #a78bfa); }
.sem-ico--danger:hover { color: var(--st-danger, #ef4444); border-color: var(--st-danger, #ef4444); }

/*@3.SEMC.19*/

.sem-arc {
  border: 1px solid var(--border-color);
  border-radius: var(--radius-xl);
  background: var(--bg-card);
  padding: 1rem 1.1rem .9rem;
  margin-bottom: var(--sem-gap);
}
.sem-arc[hidden] { display: none; }
.sem-arc-h {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: .6rem; flex-wrap: wrap; margin-bottom: .85rem;
}
.sem-arc-w { font-size: .95rem; font-weight: 800; color: var(--text-primary); }
.sem-arc-w b { color: var(--st-accent, #a78bfa); font-size: 1.15rem; }
.sem-arc-r { font-size: .78rem; color: var(--text-muted); font-variant-numeric: tabular-nums; }

.sem-arc-track {
  position: relative;
  height: 6px;
  border-radius: var(--radius-pill);
  background: var(--bg-elevated);
  margin: 1.5rem 0 .5rem;
}
.sem-arc-fill {
  position: absolute; inset-block: 0; inset-inline-start: 0;
  border-radius: var(--radius-pill);
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--st-accent, #a78bfa) 55%, transparent),
    var(--st-accent, #a78bfa));
  transition: inline-size .6s var(--skin-ease-out, ease-out);
}
[dir="ltr"] .sem-arc-fill { background: linear-gradient(270deg,
  color-mix(in srgb, var(--st-accent, #a78bfa) 55%, transparent), var(--st-accent, #a78bfa)); }

/*@3.SEMC.20*/
.sem-arc-flag {
  position: absolute;
  inset-block-start: -1.35rem;
  transform: translateX(50%);
  font-size: .64rem; font-weight: 800;
  color: var(--tint-exam);
  white-space: nowrap;
  pointer-events: none;
}
[dir="ltr"] .sem-arc-flag { transform: translateX(-50%); }
.sem-arc-flag::after {
  content: '';
  position: absolute;
  inset-block-start: 1.05rem;
  inset-inline-start: 50%;
  width: 2px; height: 6px;
  background: var(--tint-exam);
  border-radius: var(--radius-pill);
}

/*@3.SEMC.21*/
.sem-arc-now {
  position: absolute;
  inset-block: -4px;
  width: 3px;
  border-radius: var(--radius-pill);
  background: var(--text-primary);
  box-shadow: 0 0 0 3px var(--bg-card);
}
.sem-arc-ends {
  display: flex; justify-content: space-between;
  font-size: .68rem; color: var(--text-muted);
  font-variant-numeric: tabular-nums;
}

/*@3.SEMC.22*/

.sem-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
  gap: .55rem;
  margin-bottom: var(--sem-gap);
}
.sem-stat {
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  background: var(--bg-card);
  padding: .7rem .8rem;
  min-width: 0;
}
/*@3.SEMC.23*/
a.sem-stat, button.sem-stat { display: block; text-decoration: none; transition: border-color .18s, transform .18s; }
button.sem-stat { inline-size: 100%; text-align: start; }
a.sem-stat:hover, button.sem-stat:hover { border-color: var(--st-accent, #a78bfa); transform: translateY(-2px); }
.sem-stat-sub { font-size: .62rem; font-weight: 700; color: var(--text-muted); margin-top: .18rem; }
.sem-stat-k {
  font-size: .64rem; font-weight: 800; letter-spacing: .05em;
  text-transform: uppercase; color: var(--text-muted);
  display: flex; align-items: center; gap: .3rem;
}
.sem-stat-v {
  font-size: 1.5rem; font-weight: 900; line-height: 1.25;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
}
.sem-stat-v small { font-size: .72rem; font-weight: 700; color: var(--text-muted); }
.sem-stat-bar {
  height: 4px; margin-top: .4rem;
  border-radius: var(--radius-pill);
  background: var(--bg-elevated);
  overflow: hidden;
}
.sem-stat-bar > i {
  display: block; height: 100%;
  border-radius: var(--radius-pill);
  background: var(--fill, var(--st-accent, #a78bfa));
  transition: inline-size .6s var(--skin-ease-out, ease-out);
}

/*@3.SEMC.24*/

.sem-pending {
  display: flex; align-items: flex-start; gap: .75rem; flex-wrap: wrap;
  padding: .85rem 1rem;
  margin-bottom: var(--sem-gap);
  border: 1px solid color-mix(in srgb, var(--st-warn, #f59e0b) 35%, var(--border-color));
  border-inline-start: 4px solid var(--st-warn, #f59e0b);
  border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--st-warn, #f59e0b) 7%, transparent);
}
.sem-pending[hidden] { display: none; }
.sem-pending > i { color: var(--st-warn, #f59e0b); margin-block-start: .15rem; }
.sem-pending-t { flex: 1 1 14rem; min-width: 0; }
.sem-pending-t b { display: block; font-size: .86rem; color: var(--text-primary); }
.sem-pending-t p { margin: .25rem 0 0; font-size: .78rem; color: var(--text-secondary); }
.sem-pending-codes { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .45rem; }
.sem-pending-a { display: flex; gap: .4rem; flex-wrap: wrap; align-items: center; }

/*@3.SEMC.89*/
.sem-roll {
  display: flex; align-items: flex-start; gap: .75rem; flex-wrap: wrap;
  padding: .85rem 1rem;
  margin-bottom: var(--sem-gap);
  border: 1px solid color-mix(in srgb, var(--brand-500, #a78bfa) 35%, var(--border-color));
  border-inline-start: 4px solid var(--brand-500, #a78bfa);
  border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--brand-500, #a78bfa) 8%, transparent);
}
.sem-roll[hidden] { display: none; }
.sem-roll > i { color: var(--brand-500, #a78bfa); margin-block-start: .15rem; }
.sem-roll-t { flex: 1 1 15rem; min-width: 0; }
.sem-roll-t b { display: block; font-size: .9rem; color: var(--text-primary); }
.sem-roll-t p { margin: .25rem 0 0; font-size: .78rem; color: var(--text-secondary); }
.sem-roll-a { display: flex; gap: .4rem; flex-wrap: wrap; align-items: center; }

/*@3.SEMC.25*/

/*@3.SEMC.26*/
.sem-layout { display: grid; grid-template-columns: 1fr; gap: var(--sem-gap); }
/*@3.SEMC.27*/
@media (min-width: 1240px) {
  .sem-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 1.6rem; }
}

.sem-rail-wrap { min-width: 0; }
.sem-rail {
  position: sticky;
  top: calc(var(--sem-top) + .6rem);
  display: flex; flex-direction: column; gap: .12rem;
  padding: .45rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-xl);
  background: var(--bg-card);
}
.sem-rail-lbl {
  font-size: .64rem; font-weight: 800; letter-spacing: .06em;
  text-transform: uppercase; color: var(--text-muted);
  padding: .45rem .6rem .3rem;
}
.sem-rail-item {
  display: flex; align-items: center; gap: .55rem;
  width: 100%;
  padding: .48rem .55rem;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  color: var(--text-secondary);
  font-family: 'Cairo', sans-serif;
  font-size: .82rem; font-weight: 700;
  text-align: start;
  transition: color .18s, background-color .18s, border-color .18s;
}
[dir="ltr"] .sem-rail-item { font-family: 'Inter', 'Cairo', sans-serif; }
.sem-rail-s { display: none; }   /*@3.SEMC.28*/
.sem-rail-item i {
  flex: none;
  width: 26px; height: 26px;
  display: grid; place-items: center;
  border-radius: var(--radius-sm);
  background: var(--bg-elevated);
  color: var(--text-muted);
  font-size: .76rem;
  transition: color .18s, background-color .18s;
}
.sem-rail-item:hover { color: var(--text-primary); background: var(--bg-elevated); }
.sem-rail-item:hover i { color: var(--st-accent, #a78bfa); }
/*@3.SEMC.29*/
.sem-rail-item.is-on {
  --tint: var(--tint-on);
  background: color-mix(in srgb, var(--tint) var(--tint-fill), transparent);
  color: color-mix(in srgb, var(--tint) 72%, var(--tint-ink));
  border-color: color-mix(in srgb, var(--tint) 30%, transparent);
  font-weight: 800;
}
.sem-rail-item.is-on i {
  background: color-mix(in srgb, var(--tint) 22%, transparent);
  color: color-mix(in srgb, var(--tint) 82%, var(--tint-ink));
}
/*@3.SEMC.30*/
@media (max-width: 1239px) {
  /*@3.SEMC.31*/
  .sem-rail-wrap { position: sticky; top: calc(var(--sem-top) + .35rem); z-index: 30; }
  .sem-rail {
    position: static;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(4.4rem, 1fr));
    gap: .3rem;
    border-radius: var(--radius-lg);
    box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
  }
  .sem-rail-lbl { display: none; }
  .sem-rail-item {
    justify-content: center;
    padding: .45rem .35rem;
    border-radius: var(--radius-md);
    font-size: .78rem;
    text-align: center;
  }
  .sem-rail-item i { display: none; }
  .sem-rail-n { display: none; }
  .sem-rail-s { display: inline; }
  /*@3.SEMC.32*/
  .sem-sec { scroll-margin-top: 3.9rem; }
}

.sem-main { display: grid; gap: var(--sem-gap); min-width: 0; }

/*@3.SEMC.33*/

.sem-sec {
  border: 1px solid var(--border-color);
  border-radius: var(--radius-xl);
  background: var(--bg-card);
  overflow: hidden;
  /*@3.SEMC.34*/
  scroll-margin-top: .6rem;
}
.sem-sec[hidden] { display: none; }
.sem-sec-head {
  display: flex; align-items: flex-start; gap: .7rem;
  padding: .95rem 1.1rem;
  border-block-end: 1px solid var(--border-color);
}
.sem-sec-ic {
  flex: none;
  width: 32px; height: 32px;
  display: grid; place-items: center;
  border-radius: var(--radius-md);
  background: var(--bg-elevated);
  color: var(--text-muted);
  font-size: .85rem;
}
.sem-sec-t { margin: 0; font-size: 1rem; font-weight: 800; color: var(--text-primary); }
.sem-sec-d { margin: .2rem 0 0; font-size: .78rem; color: var(--text-muted); }
.sem-sec-a { margin-inline-start: auto; display: flex; gap: .4rem; align-items: center; }
.sem-sec-body { padding: 1rem 1.1rem 1.1rem; }

/*@3.SEMC.35*/

.sem-chip {
  display: inline-flex; align-items: center; gap: .3rem;
  padding: .28rem .7rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-pill);
  background: var(--bg-elevated);
  color: var(--text-secondary);
  font-family: 'Cairo', sans-serif;
  font-size: .76rem; font-weight: 700;
  white-space: nowrap;
  transition: color .18s, border-color .18s, background-color .18s;
}
[dir="ltr"] .sem-chip { font-family: 'Inter', 'Cairo', sans-serif; }
.sem-chip[hidden] { display: none; }
button.sem-chip:hover { color: var(--text-primary); border-color: var(--text-secondary); }
button.sem-chip.is-on {
  --tint: var(--tint-on);
  background: color-mix(in srgb, var(--tint) var(--tint-fill), transparent);
  color: color-mix(in srgb, var(--tint) 72%, var(--tint-ink));
  border-color: color-mix(in srgb, var(--tint) 30%, transparent);
  font-weight: 800;
}
.sem-chips { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .85rem; }

.sem-badge {
  display: inline-flex; align-items: center; gap: .25rem;
  padding: .12rem .5rem;
  border-radius: var(--radius-pill);
  font-size: .66rem; font-weight: 800;
  white-space: nowrap;
  background: var(--bg-elevated);
  color: var(--text-muted);
}
.sem-badge[hidden] { display: none; }
/*@3.SEMC.36*/
button.sem-badge { cursor: pointer; transition: filter .18s, box-shadow .18s; }
button.sem-badge:hover { filter: brightness(1.12); box-shadow: 0 0 0 2px color-mix(in srgb, currentColor 28%, transparent); }
.sem-badge[data-tone="ok"] {
  background: color-mix(in srgb, var(--st-ok, #10b981) 15%, transparent);
  color: var(--st-ok, #10b981);
}
.sem-badge[data-tone="warn"] {
  background: color-mix(in srgb, var(--st-warn, #f59e0b) 15%, transparent);
  color: var(--st-warn, #f59e0b);
}
.sem-badge[data-tone="bad"] {
  background: color-mix(in srgb, var(--st-danger, #ef4444) 15%, transparent);
  color: var(--st-danger, #ef4444);
}
.sem-badge[data-tone="accent"] {
  background: color-mix(in srgb, var(--st-accent, #a78bfa) 15%, transparent);
  color: var(--st-accent, #a78bfa);
}

/*@3.SEMC.37*/
.sem-code {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 600;
  font-size: .74rem;
  direction: ltr;
  unicode-bidi: isolate;
  color: var(--text-secondary);
}

/*@3.SEMC.88*/
button.sem-code-btn {
  padding: 0;
  border-block-end: 1px dashed color-mix(in srgb, var(--text-muted) 60%, transparent);
  transition: color .18s, border-color .18s;
}
button.sem-code-btn:hover {
  color: var(--st-accent, #a78bfa);
  border-block-end-color: var(--st-accent, #a78bfa);
}

/*@3.SEMC.38*/

.sem-when {
  font-size: .64rem; font-weight: 800; letter-spacing: .05em;
  text-transform: uppercase; color: var(--text-muted);
  padding: .75rem .1rem .35rem;
}
.sem-when:first-child { padding-block-start: 0; }

.sem-ev {
  display: flex; align-items: center; gap: .6rem;
  width: 100%;
  padding: .55rem .6rem;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  text-align: start;
  text-decoration: none;
  color: inherit;
  transition: border-color .18s, background-color .18s;
}
.sem-ev:hover { background: var(--bg-elevated); border-color: var(--border-color); }
/*@3.SEMC.39*/
.sem-ev-dot {
  flex: none; width: 7px; height: 7px; border-radius: 50%;
  background: var(--ev-color, var(--text-muted));
}
.sem-ev-b { flex: 1 1 auto; min-width: 0; }
/*@3.SEMC.40*/
.sem-ev-t {
  display: block;
  font-size: .84rem; font-weight: 700; color: var(--text-primary);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.sem-ev-m {
  display: flex; align-items: center; gap: .4rem; flex-wrap: wrap;
  font-size: .72rem; color: var(--text-muted); margin-top: .1rem;
}
.sem-ev-w {
  flex: none; text-align: end;
  font-size: .72rem; font-weight: 700; color: var(--text-secondary);
  font-variant-numeric: tabular-nums;
}
.sem-ev-w[data-tone="soon"] { color: var(--st-warn, #f59e0b); }
.sem-ev-w[data-tone="now"]  { color: var(--st-danger, #ef4444); }

/*@3.SEMC.41*/

.sem-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(19rem, 100%), 1fr));
  gap: .8rem;
}

/*@3.SEMC.42*/
.sem-c-broken {
  border-block-start-color: var(--st-warn);
  opacity: .75;
}
.sem-c-broken .sem-c-ic { color: var(--st-warn); }

.sem-c {
  container-type: inline-size;
  position: relative;
  display: flex; flex-direction: column;
  border: 1px solid var(--border-color);
  /*@3.SEMC.43*/
  border-block-start: 2px solid color-mix(in srgb, var(--course-color, var(--border-color)) 50%, var(--border-color));
  border-radius: var(--radius-xl);
  background: var(--bg-card);
  padding: .85rem .9rem .75rem;
  min-width: 0;
  transition: border-color .25s, transform .25s, box-shadow .25s;
}
.sem-c:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--course-color, var(--st-accent, #a78bfa)) 45%, var(--border-color));
  box-shadow: 0 10px 15px -3px color-mix(in srgb, var(--course-color, var(--st-accent, #a78bfa)) 15%, transparent);
}
.sem-c.is-done { border-inline-start: 1px solid color-mix(in srgb, var(--st-ok, #10b981) 45%, var(--border-color)); }

/*@3.SEMC.44*/
.sem-c-open {
  position: absolute; inset: 0;
  z-index: 0;
  border-radius: inherit;
  text-indent: -9999px;         /*@3.SEMC.45*/
  overflow: hidden;
}
.sem-c-open:focus-visible { outline: 2px solid var(--st-accent, #a78bfa); outline-offset: -3px; }
.sem-c > *:not(.sem-c-open) { position: relative; z-index: 1; }
/*@3.SEMC.46*/
.sem-c .sem-r { pointer-events: none; }
.sem-c .sem-r a, .sem-c .sem-r button { pointer-events: auto; }

.sem-c-h { display: flex; align-items: flex-start; gap: .55rem; }
.sem-c-ic {
  flex: none;
  width: 34px; height: 34px;
  display: grid; place-items: center;
  border-radius: var(--radius-md);
  background: var(--bg-elevated);
  color: var(--course-color, var(--text-muted));
  font-size: .9rem;
  transition: transform .25s;
}
.sem-c:hover .sem-c-ic { transform: scale(1.12); }
.sem-c-ht { flex: 1 1 auto; min-width: 0; }
.sem-c-n {
  font-size: .9rem; font-weight: 800; color: var(--text-primary);
  line-height: 1.35;
  /*@3.SEMC.47*/
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.4em;
}
.sem-c-m { display: flex; align-items: center; flex-wrap: wrap; gap: .3rem; margin-top: .25rem; }

/*@3.SEMC.48*/
.sem-c-more { flex: none; }

/*@3.SEMC.49*/
.sem-r {
  display: flex; align-items: center; gap: .5rem;
  padding: .38rem 0;
  border-block-start: 1px solid color-mix(in srgb, var(--border-color) 55%, transparent);
  font-size: .76rem;
  /*@3.SEMC.50*/
  min-height: 2.5rem;
}
.sem-r:first-of-type { border-block-start: none; }
.sem-r.is-empty { opacity: .32; }
.sem-r > i:first-child {
  flex: none; width: 15px; text-align: center;
  color: var(--text-muted); font-size: .74rem;
}
.sem-r-b { flex: 1 1 auto; min-width: 0; }
/*@3.SEMC.51*/
.sem-r-t {
  display: block;
  color: var(--text-secondary); font-weight: 600;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.sem-r-s { display: block; color: var(--text-muted); font-size: .7rem; margin-top: .05rem; }
/*@3.SEMC.52*/
.sem-r-dim { color: var(--text-muted); font-weight: 600; }
.sem-r-e { flex: none; margin-inline-start: auto; }

/*@3.SEMC.53*/
.sem-c-prog { display: flex; align-items: center; gap: .55rem; margin: .6rem 0 .1rem; }
.sem-c-pv {
  font-size: 1.05rem; font-weight: 900; color: var(--text-primary);
  font-variant-numeric: tabular-nums; min-width: 2.6rem;
}
/*@3.SEMC.54*/
.sem-c-pb {
  flex: 1 1 auto; height: 5px;
  border-radius: var(--radius-pill);
  background: var(--bg-elevated);
  overflow: hidden;
}
.sem-c-pb > i {
  display: block; height: 100%;
  border-radius: var(--radius-pill);
  background: var(--fill, var(--st-accent, #a78bfa));
  transition: inline-size .6s var(--skin-ease-out, ease-out);
}
.sem-c-done .sem-c-pb > i { background: var(--st-ok, #10b981); }

/*@3.SEMC.55*/
.sem-rate {
  display: inline-flex; align-items: center; gap: .28rem;
  font-size: .7rem; font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.sem-rate b { font-size: .76rem; }
.sem-rate[data-tone="ok"]   { color: var(--st-ok, #10b981); }
.sem-rate[data-tone="mid"]  { color: var(--st-warn, #f59e0b); }
.sem-rate[data-tone="bad"]  { color: var(--st-danger, #ef4444); }
.sem-rate small { color: var(--text-muted); font-weight: 600; }

/*@3.SEMC.56*/
.sem-grade {
  display: inline-flex; align-items: center; gap: .3rem;
  padding: .16rem .55rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-pill);
  background: var(--bg-elevated);
  color: var(--text-secondary);
  font-family: 'JetBrains Mono', monospace;
  font-size: .72rem; font-weight: 600;
  text-decoration: none;
  direction: ltr; unicode-bidi: isolate;
  transition: color .18s, border-color .18s;
}
.sem-grade:hover { color: var(--st-accent, #a78bfa); border-color: var(--st-accent, #a78bfa); }
.sem-grade.is-empty { color: var(--text-muted); border-style: dashed; }

/*@3.SEMC.57*/
.sem-c-a {
  display: flex; gap: .35rem;
  margin-top: auto;              /*@3.SEMC.58*/
  padding-block-start: .6rem;
  border-block-start: 1px solid color-mix(in srgb, var(--border-color) 55%, transparent);
}
.sem-c-a .sem-btn {
  flex: 1 1 0;
  min-width: 0;
  max-width: 11rem;
  justify-content: center;
  padding: .4rem .5rem;
  font-size: .74rem;
}
.sem-c-a .sem-btn span {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
/*@3.SEMC.59*/
.sem-c-a .sem-btn.is-void {
  opacity: .32;
  pointer-events: none;
  border-style: dashed;
}

/*@3.SEMC.60*/
@container (max-width: 15rem) {
  .sem-c-a { flex-direction: column; }
  .sem-c-a .sem-btn { max-width: none; }
  .sem-c-n { -webkit-line-clamp: 3; min-height: 3.6em; }
}

/*@3.SEMC.61*/

.sem-load { display: grid; gap: .3rem; }
.sem-load-r {
  display: grid;
  grid-template-columns: 4.2rem 1fr 3.2rem;
  align-items: center;
  gap: .5rem;
  font-size: .76rem;
}
.sem-load-d { color: var(--text-secondary); font-weight: 700; }
.sem-load-b { height: 8px; border-radius: var(--radius-pill); background: var(--bg-elevated); overflow: hidden; }
.sem-load-b > i {
  display: block; height: 100%;
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--st-accent, #a78bfa) 65%, transparent);
  transition: inline-size .6s var(--skin-ease-out, ease-out);
}
.sem-load-r[data-peak="1"] .sem-load-b > i { background: var(--st-warn, #f59e0b); }
.sem-load-v { color: var(--text-muted); font-variant-numeric: tabular-nums; text-align: end; }

/*@3.SEMC.62*/
.sem-note {
  --tint: var(--tint-on);
  display: flex; gap: .6rem; align-items: flex-start;
  padding: .75rem .9rem;
  margin-top: .8rem;
  border: 1px solid color-mix(in srgb, var(--tint) 26%, transparent);
  border-inline-start: 4px solid var(--tint);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--tint) 9%, transparent);
  font-size: .8rem; line-height: 1.7;
  color: var(--text-secondary);
}
.sem-note[hidden] { display: none; }
.sem-note > i {
  margin-block-start: .15rem;
  color: color-mix(in srgb, var(--tint) 82%, var(--tint-ink));
}
.sem-note b { color: color-mix(in srgb, var(--tint) 72%, var(--tint-ink)); font-weight: 800; }
/*@3.SEMC.63*/
.sem-note-tag {
  margin-inline-start: auto;
  flex: none;
  align-self: center;
  padding: .16rem .6rem;
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--tint) 18%, transparent);
  color: color-mix(in srgb, var(--tint) 78%, var(--tint-ink));
  font-size: .68rem; font-weight: 800; white-space: nowrap;
}

/*@3.SEMC.64*/

.sem-ar-tools {
  display: flex; align-items: center; flex-wrap: wrap; gap: .5rem;
  margin-bottom: .75rem;
}
.sem-ar-tools-d {
  flex: 1 1 15rem; min-width: 0;
  font-size: .74rem; line-height: 1.7; color: var(--text-muted);
}
.sem-ar { display: grid; gap: .55rem; }
.sem-ar-i {
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  background: var(--bg-elevated);
  overflow: hidden;
}
.sem-ar-h {
  display: flex; align-items: center; gap: .6rem;
  width: 100%;
  padding: .7rem .85rem;
  text-align: start;
}
.sem-ar-h > i.sem-ar-car { flex: none; color: var(--text-muted); font-size: .72rem; transition: transform .2s; }
.sem-ar-i.is-open .sem-ar-car { transform: rotate(180deg); }
.sem-ar-n { flex: 1 1 auto; min-width: 0; font-size: .86rem; font-weight: 800; color: var(--text-primary);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sem-ar-m { flex: none; display: flex; gap: .35rem; align-items: center; }
.sem-ar-body { padding: 0 .85rem .8rem; }
.sem-ar-body[hidden] { display: none; }
.sem-ar-row {
  display: flex; align-items: center; gap: .5rem;
  padding: .35rem 0;
  border-block-start: 1px solid color-mix(in srgb, var(--border-color) 55%, transparent);
  font-size: .78rem;
}
.sem-ar-row-n { flex: 1 1 auto; min-width: 0; display: block; color: var(--text-secondary);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sem-ar-a { display: flex; gap: .35rem; flex-wrap: wrap; margin-top: .7rem; }

/*@3.SEMC.65*/

.sem-menu { display: grid; gap: .25rem; }
.sem-mrow {
  display: flex; align-items: center; gap: .6rem;
  width: 100%;
  padding: .55rem .65rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  background: var(--bg-elevated);
  text-align: start;
  transition: border-color .18s, background-color .18s, color .18s;
}
.sem-mrow > i:first-child { flex: none; width: 16px; text-align: center; color: var(--text-muted); font-size: .8rem; }
.sem-mrow-b { flex: 1 1 auto; min-width: 0; }
.sem-mrow-t { display: block; font-size: .82rem; font-weight: 700; color: var(--text-primary); }
.sem-mrow-s { display: block; font-size: .7rem; color: var(--text-muted); margin-top: .1rem; }
.sem-mrow:hover { border-color: var(--st-accent, #a78bfa); }
/*@3.SEMC.66*/
.sem-mrow.is-on {
  border-color: color-mix(in srgb, var(--st-ok, #10b981) 45%, transparent);
  background: color-mix(in srgb, var(--st-ok, #10b981) 10%, transparent);
}
.sem-mrow.is-on > i { color: var(--st-ok, #10b981); }
.sem-mrow.is-on > i:last-child { margin-inline-start: auto; }
/*@3.SEMC.67*/
.sem-swatch {
  flex: none;
  margin-inline-start: auto;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: var(--sw, var(--st-accent, #a78bfa));
  box-shadow: 0 0 0 2px var(--bg-elevated), 0 0 0 3px var(--border-color);
}
.sem-mrow.is-danger .sem-mrow-t { color: var(--st-danger, #ef4444); }
.sem-mrow.is-danger > i:first-child { color: var(--st-danger, #ef4444); }
.sem-mrow.is-danger:hover {
  border-color: var(--st-danger, #ef4444);
  background: color-mix(in srgb, var(--st-danger, #ef4444) 8%, transparent);
}

/*@3.SEMC.68*/

.sem-empty {
  display: grid; place-items: center; gap: .5rem;
  padding: 2.2rem 1rem;
  text-align: center;
}
.sem-empty[hidden] { display: none; }
.sem-empty > i { font-size: 1.9rem; color: var(--text-muted); opacity: .5; }
.sem-empty p { margin: 0; font-size: .84rem; color: var(--text-muted); max-width: 26rem; }
.sem-empty-a { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: center; margin-top: .3rem; }

/*@3.SEMC.69*/
.sem-hero {
  display: grid; place-items: center; gap: .7rem;
  padding: 3.5rem 1rem;
  text-align: center;
}
.sem-hero[hidden] { display: none; }
.sem-hero > i { font-size: 2.4rem; color: var(--text-muted); opacity: .5; }
.sem-hero h2 { margin: 0; font-size: 1.15rem; font-weight: 800; color: var(--text-primary); }
.sem-hero p { margin: 0; font-size: .86rem; color: var(--text-muted); max-width: 28rem; }

/*@3.SEMC.70*/
.sem-sk {
  border-radius: var(--radius-md);
  background: var(--bg-elevated);
  animation: semSk 1.4s ease-in-out infinite;
}
@keyframes semSk { 0%, 100% { opacity: .45; } 50% { opacity: .85; } }
@media (prefers-reduced-motion: reduce) { .sem-sk { animation: none; } }

/*@3.SEMC.71*/

/*@3.SEMC.72*/
.sem-dlg {
  /*@3.SEMC.73*/
  margin: auto;
  width: min(640px, calc(100vw - 2rem));
  max-height: 86vh;
  padding: 0;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-xl);
  background: var(--bg-card);
  color: var(--text-primary);
  overflow: hidden;
}
.sem-dlg::backdrop { background: rgba(0, 0, 0, .6); backdrop-filter: blur(4px); }
.sem-dlg-h {
  display: flex; align-items: center; gap: .6rem;
  padding: .9rem 1rem;
  border-block-end: 1px solid var(--border-color);
}
.sem-dlg-t { flex: 1 1 auto; margin: 0; font-size: .98rem; font-weight: 800; }
/*@3.SEMC.74*/
.sem-dlg-b { padding: 1rem; overflow-y: auto; max-height: 62vh; }
.sem-dlg-f {
  display: flex; justify-content: flex-end; gap: .45rem; flex-wrap: wrap;
  padding: .8rem 1rem;
  border-block-start: 1px solid var(--border-color);
}

/*@3.SEMC.75*/

.sem-lv-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem;
}
.sem-lv-grid[hidden] { display: none; }
.sem-lv-grid + .sem-lv-grid { margin-block-start: .45rem; }
@media (max-width: 460px) { .sem-lv-grid { grid-template-columns: 1fr; } }

.sem-lv {
  position: relative;
  display: flex; flex-direction: column; align-items: flex-start; gap: .1rem;
  padding: .55rem .7rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  background: var(--bg-elevated);
  color: var(--text-primary);
  font-family: inherit; text-align: start; cursor: pointer;
  transition: border-color .18s, background-color .18s;
}
.sem-lv:hover { border-color: var(--st-accent, #a78bfa); }
.sem-lv:focus-visible {
  outline: none;
  border-color: var(--st-accent, #a78bfa);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--st-accent, #a78bfa) 18%, transparent);
}
.sem-lv[data-primary="1"] {
  border-color: color-mix(in srgb, var(--st-accent, #a78bfa) 55%, var(--border-color));
  background: color-mix(in srgb, var(--st-accent, #a78bfa) 10%, var(--bg-elevated));
}
.sem-lv[data-on="1"] { border-color: var(--st-ok, #10b981); }
.sem-lv-ar { font-size: .84rem; font-weight: 800; }
/*@3.SEMC.90*/
.sem-lv-en {
  direction: ltr; unicode-bidi: isolate;
  font-size: .68rem; font-weight: 700; color: var(--text-muted);
}
/*@3.SEMC.91*/
[dir="ltr"] .sem-lv-ar {
  order: 2; font-size: .68rem; font-weight: 700; color: var(--text-muted);
}
[dir="ltr"] .sem-lv-en {
  order: 1; font-size: .84rem; font-weight: 800; color: var(--text-primary);
}
.sem-lv-tag {
  position: absolute; inset-block-start: .4rem; inset-inline-end: .5rem;
  font-size: .58rem; font-weight: 800; letter-spacing: .02em;
  color: var(--st-accent, #a78bfa);
}

.sem-lv-more {
  display: flex; align-items: center; gap: .35rem;
  margin-block-start: .5rem; padding: .35rem .6rem;
  border: 0; border-radius: var(--radius-sm, 6px);
  background: transparent; color: var(--text-muted);
  font-family: inherit; font-size: .74rem; font-weight: 800; cursor: pointer;
}
.sem-lv-more:hover { color: var(--text-secondary); }
.sem-lv-more[hidden] { display: none; }
.sem-lv-more > i { transition: transform .18s; }
.sem-lv-more[data-open="1"] > i { transform: rotate(180deg); }

.sem-in {
  width: 100%;
  padding: .5rem .75rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  background: var(--bg-elevated);
  color: var(--text-primary);
  font-family: 'Cairo', sans-serif;
  font-size: .84rem; font-weight: 600;
  transition: border-color .18s, box-shadow .18s;
}
[dir="ltr"] .sem-in { font-family: 'Inter', 'Cairo', sans-serif; }
.sem-in.ltr { direction: ltr; unicode-bidi: isolate; text-align: start; }
.sem-in:focus {
  outline: none;
  border-color: var(--st-accent, #a78bfa);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--st-accent, #a78bfa) 18%, transparent);
}
.sem-in::placeholder { color: var(--text-muted); font-weight: 500; }

.sem-lbl {
  display: block;
  font-size: .7rem; font-weight: 800;
  color: var(--text-muted);
  margin-bottom: .3rem;
}
.sem-field + .sem-field { margin-top: .8rem; }
/*@3.SEMC.76*/
.sem-bi { display: grid; grid-template-columns: 1fr; gap: .5rem; }
@media (min-width: 520px) { .sem-bi { grid-template-columns: 1fr 1fr; } }

/*@3.SEMC.77*/

.sem-pick { display: grid; gap: .3rem; max-height: 46vh; overflow-y: auto; padding-inline-end: .2rem; }
.sem-pick-lbl {
  font-size: .64rem; font-weight: 800; letter-spacing: .05em;
  text-transform: uppercase; color: var(--text-muted);
  padding: .6rem .1rem .2rem;
}
/*@3.SEMC.78*/
.sem-pick-fold {
  display: flex; align-items: center; gap: .6rem; flex-wrap: wrap;
  margin-block-start: .5rem;
  padding: .55rem .2rem .15rem;
  border-block-start: 1px dashed var(--border-color);
  font-size: .7rem; font-weight: 800; color: var(--text-muted);
}
.sem-pick-fold > span { flex: 1 1 auto; min-width: 0; }
.sem-pick-fold .sem-chip { flex: none; }
/*@3.SEMC.79*/
.sem-pick-i {
  display: flex; align-items: center; gap: .55rem;
  width: 100%;
  padding: .5rem .6rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  background: var(--bg-elevated);
  text-align: start;
  transition: border-color .18s, background-color .18s;
}
.sem-pick-i:hover:not(:disabled) { border-color: var(--st-accent, #a78bfa); }
.sem-pick-i:disabled { opacity: .55; cursor: not-allowed; }
/*@3.SEMC.80*/
.sem-pick-i.is-added { opacity: .62; }
.sem-pick-i.is-added:hover { opacity: 1; border-color: var(--border-color); }
.sem-pick-color {
  flex: none;
  width: 30px; height: 30px;
  display: grid; place-items: center;
  border: 1px dashed var(--border-color);
  border-radius: var(--radius-md);
  background: var(--bg-card);
  color: var(--text-muted);
  font-size: .78rem;
  transition: border-color .18s, color .18s;
}
.sem-pick-color:hover { border-color: var(--st-accent, #a78bfa); color: var(--st-accent, #a78bfa); }
/*@3.SEMC.81*/
.sem-pick-sw { margin-inline-start: 0; width: 10px; height: 10px; }
.sem-pick-b { flex: 1 1 auto; min-width: 0; }
.sem-pick-n {
  display: block;
  font-size: .82rem; font-weight: 700; color: var(--text-primary);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.sem-pick-m { display: block; font-size: .7rem; color: var(--text-muted); margin-top: .1rem; }

mark.sem-mk { background: color-mix(in srgb, var(--st-accent, #a78bfa) 28%, transparent);
  color: inherit; border-radius: 3px; padding: 0 .1rem; }

/*@3.SEMC.82*/
.sem-linkish {
  font: inherit; color: inherit; text-align: start;
  border-bottom: 1px dashed color-mix(in srgb, var(--text-muted) 55%, transparent);
  transition: color .18s, border-color .18s;
}
.sem-linkish:hover { color: var(--st-accent, #a78bfa); border-bottom-color: var(--st-accent, #a78bfa); }
/*@3.SEMC.83*/
.sem-pick-m .ltr { direction: ltr; unicode-bidi: isolate; }
.sem-pick-i[data-on="1"] {
  border-color: color-mix(in srgb, var(--st-ok, #10b981) 45%, transparent);
  background: color-mix(in srgb, var(--st-ok, #10b981) 10%, transparent);
}

/*@3.SEMC.84*/

.sem-toast {
  position: fixed;
  inset-inline: 0;
  bottom: calc(4.6rem + var(--sa-b));
  margin: 0 auto;
  width: max-content; max-width: 90vw;
  z-index: 2000;
  padding: .55rem 1.1rem;
  border-radius: var(--radius-pill);
  background: var(--bg-elevated);
  border: 1px solid var(--st-accent, #a78bfa);
  color: var(--text-primary);
  font-size: .82rem; font-weight: 700;
  box-shadow: 0 8px 24px -6px rgba(0, 0, 0, .5);
  opacity: 0; transform: translateY(8px);
  transition: opacity .2s, transform .2s;
  pointer-events: none;
}
.sem-toast.is-on { opacity: 1; transform: none; }

.sem-nudge {
  position: fixed; z-index: 60;
  inset-block-end: calc(5.2rem + var(--sa-b)); inset-inline-end: 1rem;
  inline-size: min(22rem, calc(100vw - 2rem));
  padding: .9rem 1rem;
  border: 1px solid var(--border-color);
  border-inline-start: 3px solid var(--st-accent);
  border-radius: var(--radius-lg);
  background: var(--bg-card);
  box-shadow: 0 12px 32px -8px rgba(0, 0, 0, .55);
}
.sem-nudge-t { margin: 0; font-size: .92rem; font-weight: 800; }
.sem-nudge-d { margin: .3rem 0 .7rem; font-size: .78rem; line-height: 1.7; color: var(--text-secondary); }
.sem-nudge-a { display: flex; gap: .5rem; justify-content: flex-end; }
.sem-nudge .sem-chip.is-go {
  background: var(--st-accent); border-color: var(--st-accent); color: #fff;
}

/*@3.SEMC.85*/

@media (pointer: coarse) {
  .sem-btn, .sem-cta, .sem-pick-i, .sem-rail-item, .sem-ico { min-height: 40px; }
  .sem-ev { min-height: 44px; }
  /*@3.SEMC.86*/
  button.sem-chip { min-height: 40px; }
  /*@3.SEMC.87*/
  a.sem-badge { min-height: 30px; padding-inline: .7rem; }
}
@media (max-width: 620px) {
  .sem-wrap { padding-inline: .75rem; }
  .sem-sec-body { padding: .85rem .8rem .9rem; }
  .sem-sec-head { padding: .8rem .8rem; }
  .sem-head-a { width: 100%; }
  .sem-head-a .sem-btn { flex: 1 1 auto; justify-content: center; }
}

/*@3.SEMC.92*/
/*@3.SEMC.94*/
.sem-rnote { align-items: flex-start; }
.sem-rnote > span { display: inline; line-height: 2.1; }
.sem-rnote-b {
  display: inline-flex; align-items: baseline; gap: .3rem;
  margin-inline-start: .35rem; padding: .1rem .55rem;
  border: 1px solid var(--border-color); border-radius: var(--radius-pill);
  color: var(--text-primary); text-decoration: none;
  font-size: .78rem; font-weight: 700; transition: all .2s;
}
.sem-rnote-b:hover { border-color: var(--st-accent, #a78bfa); color: var(--st-accent, #a78bfa); }
.sem-rnote-b > small { font-size: .66rem; font-weight: 600; color: var(--text-muted); }
.sem-rnote-x {
  flex: none; align-self: flex-start;
  margin-inline-start: auto;
  inline-size: 1.7rem; block-size: 1.7rem;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--border-color); border-radius: var(--radius-pill);
  background: transparent; color: var(--text-muted);
  cursor: pointer; transition: all .2s;
}
.sem-rnote-x:hover { border-color: var(--tint); color: var(--tint); }

/*@3.SEMC.93*/
.sem-agrid {
  display: flex; flex-direction: column; gap: .4rem;
  margin-block-start: .7rem;
  max-block-size: 42vh; overflow-y: auto;
  padding-inline-end: .2rem;
}
.sem-agrid-r {
  display: flex; align-items: center; gap: .6rem;
  padding: .35rem .5rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
}
.sem-agrid-n {
  flex: 1 1 auto; min-inline-size: 0;
  font-size: .82rem; font-weight: 600; color: var(--text-primary);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.sem-agrid select { flex: 0 0 auto; inline-size: 7.5rem; }
