/* Shared functional symbols. Geometry lives only in ui/icon.html. */
.ui-icon {
  display: inline-block;
  inline-size: 1.2em;
  block-size: 1.2em;
  flex: none;
  vertical-align: -0.2em;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  pointer-events: none;
}
.nav-link > .ui-icon,
.nav-toggle > .ui-icon { inline-size: 24px; block-size: 24px; }
.nav-toggle > .ui-icon { vertical-align: middle; }
.ui-icon.langpick-caret { inline-size: 16px; block-size: 16px; }
.langpick-check > .ui-icon { inline-size: 18px; block-size: 18px; }
.ui-icon--logical { transform: none; }
[dir="rtl"] .ui-icon--logical { transform: scaleX(-1); }
/* Editor commands, physical arrows and external links do not mirror. */
.editor-toolbar .ui-icon { inline-size: 18px; block-size: 18px; }
.pw-eye > .ui-icon { inline-size: 20px; block-size: 20px; }
.card-title > .ui-icon,
.page-title > .ui-icon { margin-inline-end: 0.15em; }
h1 > .ui-icon { inline-size: 0.9em; block-size: 0.9em; }
.auth-status-icon { display: block; line-height: 1; }
.auth-status-icon > .ui-icon,
.empty-emoji > .ui-icon,
.emailcheck-emoji > .ui-icon,
.cert-locked-emoji > .ui-icon,
.left-done-mark > .ui-icon { inline-size: 40px; block-size: 40px; }
.method-icon > .ui-icon,
.tg-note-icon > .ui-icon { inline-size: 26px; block-size: 26px; }
.tg-note .tg-note-icon > .ui-icon,
.team-in > .ui-icon { fill: none; }
.badge-emoji > .ui-icon { inline-size: 32px; block-size: 32px; color: var(--ink, #183d32); }
.badge-lock > .ui-icon { inline-size: 18px; block-size: 18px; }
.badge-toast .badge-emoji > .ui-icon,
.celebrate-badge .badge-emoji > .ui-icon { inline-size: 26px; block-size: 26px; }
.stone-dot > .ui-icon { inline-size: 24px; block-size: 24px; }
.isle-flag > .ui-icon { inline-size: 20px; block-size: 20px; }
.lvl > .ui-icon { inline-size: 1em; block-size: 1em; }
.lvl.is-solved > .ui-icon { fill: currentColor; }
[data-verdict-icon], [data-icon-slot] { display: inline-flex; flex: none; vertical-align: middle; }
[data-verdict-icon] > .ui-icon { inline-size: 1em; block-size: 1em; }
[data-verdict-label] { min-inline-size: 0; }
.cert-ribbon > .ui-icon { inline-size: 1.1em; block-size: 1.1em; }
/* These pseudo-elements are decorative; the existing text carries the state. */
.lesson-nav-why::before,
.term-err::before,
.run-input > summary::before,
.signup-msg.is-live::before {
  content: "";
  display: inline-block;
  inline-size: 1.2em;
  block-size: 1.2em;
  flex: none;
  vertical-align: -0.2em;
  background-color: currentColor;
  -webkit-mask: var(--ui-icon-mask) center / contain no-repeat;
  mask: var(--ui-icon-mask) center / contain no-repeat;
}
.lesson-nav-why::before { --ui-icon-mask: url("../img/ui/alert.488a5a8f38c7.svg"); }
.term-err::before { --ui-icon-mask: url("../img/ui/x.657fc249d5a1.svg"); margin-inline-end: 0.25em; }
.run-input > summary::before { --ui-icon-mask: url("../img/ui/keyboard.e6c84cb4b642.svg"); }
.signup-msg.is-live.is-good::before { --ui-icon-mask: url("../img/ui/check.5be58061178b.svg"); }
.signup-msg.is-live.is-bad::before { --ui-icon-mask: url("../img/ui/x.657fc249d5a1.svg"); }
@media print {
  .cert-sheet .ui-icon { color: inherit; print-color-adjust: exact; }
}
