/* Optional atmosphere, after all Standard sheets. Geometry belongs to the kit. */
.concept-std .st-head[data-head-art] { position: relative; isolation: isolate; }
.concept-std .st-head[data-head-art]::before {
  content: "";
  position: absolute;
  inset: 0;
  max-height: 56px;
  z-index: -1;
  pointer-events: none;
  background-image: linear-gradient(90deg, var(--st-band), var(--st-band-soft) 65%, var(--st-band)), var(--st-head-art, none);
  background-size: cover;
  background-position: center, center 43%;
  border-radius: 6px;
}
.concept-std .st-head[data-head-art]::after {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 96px;
  height: 1px;
  background: linear-gradient(90deg, var(--st-accent), var(--st-clear));
  pointer-events: none;
}
@media (min-width: 1024px) {
  .concept-std .st-head[data-head-art]::before { max-height: 72px; }
}
html[data-vision="monochrome"] .concept-std .st-head[data-head-art]::before { filter: grayscale(1); }

/* 22px art in an 18px line box preserves both 32px phone and 28px desktop rows. */
.concept-std .st-flair-cell { display: inline-flex; align-items: center; gap: 5px; height: 18px; max-width: 100%; vertical-align: middle; }
.concept-std .st-flair-cell__label { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.concept-std .st-grid__table .st-flair-thumb { display: inline-block; width: 22px; height: 22px; flex: 0 0 22px; object-fit: contain; border-radius: 3px; vertical-align: middle; }
/* Existing holder renderers already supply crests; keep each with its name on one line. */
.concept-std .st-grid__table tbody img { display: inline-block; max-width: 24px; max-height: 24px; object-fit: contain; vertical-align: middle; margin-block: -3px; }
.concept-std .st-grid[data-table-key="map.systems"] tbody img { margin-inline-end: 5px; }
.concept-std .st-flair-icon { display: inline-block; width: 13px; height: 13px; flex: none; vertical-align: -2px; margin-inline-end: 4px; color: var(--st-link); }
.concept-std .st-card,
.concept-std .st-figure-strip {
  background-image: linear-gradient(180deg, var(--st-edge-glow), var(--st-clear) 32px);
  box-shadow: inset 0 1px var(--st-band-edge), inset 0 0 16px var(--st-edge-glow);
}
.concept-std .st-card__title > .st-icon { color: var(--st-link); }
.concept-std .st-strip a[aria-current="page"],
.concept-std .st-grid__row[aria-current="true"] > :first-child,
.concept-std .st-grid__row:has([aria-current="true"]) > :first-child {
  background-image: linear-gradient(0deg, var(--st-accent) 0 1px, var(--st-glow) 1px, var(--st-clear) 6px);
  background-origin: content-box;
  box-shadow: none;
}
.concept-std .st-nav__item[aria-current="page"]::after { box-shadow: 0 0 6px var(--st-glow); }
.concept-std .st-grid__table thead th {
  background-image: linear-gradient(180deg, var(--st-edge-glow), var(--st-clear));
}

.concept-std .st-grid { --st-flair-zebra: var(--st-zebra); }
.concept-std .st-grid--list { --st-flair-zebra: var(--st-zebra-2); }
.concept-std .card .st-grid,
.concept-std .st-card .st-grid { --st-flair-zebra: var(--st-zebra); }

/* Paint cells, including frozen cells: tinting only the tr leaves sticky names opaque. */
.concept-std table:where(:not(.st-print-table)) > tbody > tr:where(:not(.st-grid__group):not(.st-grid__total):not(.total):not([aria-selected="true"]):not([aria-current]):not(:has(.st-social-own)):not(:has([aria-current="true"]))):nth-child(even of :where(:not(.st-grid__group):not(.st-grid__total):not(.total))) > * {
  background-color: var(--st-flair-zebra, var(--st-zebra));
}
.concept-std .st-grid__table > tbody > tr[aria-selected="true"] > *,
.concept-std .st-grid__table > tbody > tr:has(.st-social-own) > * { background-color: var(--st-accent-bg); }
.concept-std .st-grid__table > tbody > tr[aria-selected="true"] > :first-child { box-shadow: inset 2px 0 var(--st-you); }
@media (hover: hover) {
  .concept-std .st-grid__table > tbody > tr.st-grid__row:hover > * { background-color: var(--st-hover); }
}
/* Paper is model-only, but also keep a browser print of the current screen quiet. */
.concept-std .st-print-table > tbody > tr:nth-child(even):not(.st-print-group) > * { background: var(--st-print-zebra); }
html[data-look="themeless"] .concept-std .st-head[data-head-art]::before,
html[data-look="themeless"] .concept-std .st-head[data-head-art]::after,
html[data-look="themeless"] .concept-std .st-flair-thumb[data-flair-kind="art"] { display: none; }
html[data-look="themeless"] .concept-std .st-card,
html[data-look="themeless"] .concept-std .st-figure-strip,
html[data-look="themeless"] .concept-std .st-grid__table thead th { background-image: none; box-shadow: none; }
html[data-look="themeless"] .concept-std .st-strip a,
html[data-look="themeless"] .concept-std .st-nav__item[aria-current="page"]::after { background-image: none; box-shadow: none; }
html[data-look="themeless"] .concept-std .st-grid__row > * { background-image: none; }
@media print {
  .concept-std .st-head[data-head-art]::before,
  .concept-std .st-head[data-head-art]::after,
  .concept-std .st-flair-thumb,
  .concept-std .st-flair-icon { display: none; }
  .concept-std .st-card,
  .concept-std .st-figure-strip,
  .concept-std .st-grid__table thead th { background-image: none; box-shadow: none; }
  .concept-std table > tbody > tr:nth-child(even):not(.st-grid__group):not(.st-print-group):not(.st-grid__total):not(.total) > * { background: var(--st-print-zebra); }
}
