/* ===========================
 * Snowflake — patient critical-alert indicator
 * ===========================
 * A 7-slot glyph (6 arms + hatched centre) keyed by category via data-arm.
 * Injected by js/snowflake.js. Unlit arm = transparent (the .sf-base star
 * shows through); .sf-arm.is-lit paints the category's FIXED clinical colour.
 * Lit colours are clinical signals — identical in both themes (lab-res
 * precedent); only the .sf-base outline flips for dark mode (it rides
 * --bg-primary / --border-primary, so it flips for free).
 * Sizes: sm 20 / md 32 (default) / lg 64. Zero new :root tokens.
 * =========================== */

.lsh-snowflake {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--snowflake-size, 32px);
  height: var(--snowflake-size, 32px);
  flex-shrink: 0;
  padding: 0;
  border: none;
  background: none;
  line-height: 0;
}

.lsh-snowflake[data-size="sm"] { --snowflake-size: 20px; }
.lsh-snowflake[data-size="lg"] { --snowflake-size: 64px; }

.lsh-snowflake-svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* Star outline — the always-present base; theme-aware. */
.lsh-snowflake .sf-base {
  fill: var(--bg-primary);
  stroke: var(--border-primary);
}

/* Arms — invisible until lit, then a fixed clinical colour (no theme flip). */
.lsh-snowflake .sf-arm { fill: transparent; }

.lsh-snowflake .sf-arm.is-lit[data-arm="bradaofnaemi"],
.lsh-snowflake .sf-arm.is-lit[data-arm="ofnaemi"],
.lsh-snowflake .sf-arm.is-lit[data-arm="adrar-advaranir"],
.lsh-snowflake .sf-arm.is-lit[data-arm="medferd-greining"] { fill: var(--error-500); }

.lsh-snowflake .sf-arm.is-lit[data-arm="othol"] { fill: var(--error-200); }
.lsh-snowflake .sf-arm.is-lit[data-arm="smitgat"] { fill: var(--warning-500); }
.lsh-snowflake .sf-arm.is-lit[data-arm="takmarkanir-medferdar"] { fill: var(--brand-500); }

/* Interactive host (has ≥1 alert) — ARIA button applied by the engine. */
.lsh-snowflake[role="button"] {
  cursor: pointer;
  border-radius: 6px;
}

.lsh-snowflake[role="button"]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgba(146, 172, 247, 0.24);
}
