[data-hint="info"] {
  --hint-bg: light-dark(#edf4fe, #19232f);
  --hint-line: light-dark(#acc8ea, #354e6a);
  --hint-text: light-dark(#25598c, #b5d3f4);
  --hint-accent: light-dark(#2861a4, #80b7ff);
  --hint-icon: url("/assets/hints/info.svg");
}
[data-hint="success"] {
  --hint-bg: light-dark(#eff7ec, #1b291d);
  --hint-line: light-dark(#b5cfaa, #3f6042);
  --hint-text: light-dark(#376b34, #b0d3ae);
  --hint-accent: light-dark(#32733e, #76db91);
  --hint-icon: url("/assets/hints/success.svg");
}
[data-hint="warning"] {
  --hint-bg: light-dark(#fff7e8, #312719);
  --hint-line: light-dark(#dcc086, #735c32);
  --hint-text: light-dark(#755611, #e1c18a);
  --hint-accent: light-dark(#845d12, #ffc168);
  --hint-icon: url("/assets/hints/warning.svg");
}
[data-hint="danger"] {
  --hint-bg: light-dark(#fff0f0, #301e20);
  --hint-line: light-dark(#dfb3b5, #6c3b40);
  --hint-text: light-dark(#9e3c43, #edb0b4);
  --hint-accent: light-dark(#ad3844, #ff939b);
  --hint-icon: url("/assets/hints/danger.svg");
}
.prose blockquote[data-hint] {
  position: relative;
  padding: 16px 20px 16px 58px;
  border: 1px solid var(--hint-line);
  background: var(--hint-bg);
  color: var(--hint-text);
  overflow-wrap: anywhere;
}
.prose blockquote[data-hint] > :is(p, ul, ol, h1, h2, h3, h4, h5, h6):nth-child(2) {
  margin-top: 0;
}
.prose blockquote[data-hint] > :last-child {
  margin-bottom: 0;
}
.hint-glyph {
  display: inline-grid;
  flex: none;
  place-items: center;
  width: 22px;
  height: 22px;
}
.hint-glyph:empty::before {
  content: "";
  width: 100%;
  height: 100%;
  mask: var(--hint-icon) center / contain no-repeat;
  background: currentColor;
}
.hint-glyph svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.prose blockquote[data-hint] > .hint-glyph {
  position: absolute;
  left: 19px;
  top: 19px;
  color: var(--hint-accent);
}
.prose .hint-icon-button {
  position: absolute;
  left: 11px;
  top: 11px;
  width: 38px;
  height: 38px;
  min-width: 38px;
  min-height: 38px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 9px;
  color: var(--hint-accent);
  background: transparent;
}
.prose .hint-icon-button:is(:hover, :focus-visible, [aria-expanded="true"]) {
  background: color-mix(in srgb, var(--hint-accent) 12%, transparent);
  border-color: var(--hint-line);
}
.hint-picker {
  position: fixed;
  z-index: 950;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  color: var(--fg);
  box-shadow: var(--shadow);
  animation: hint-settings-enter 240ms var(--ease-ui) both;
  transform-origin: top left;
}
.hint-picker-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 15px;
}
.hint-picker-header .hint-picker-close {
  width: 28px;
  height: 28px;
  min-height: 28px;
  padding: 0;
  border-radius: 7px;
  color: var(--muted);
  font-size: 19px;
  line-height: 1;
}
.hint-picker input {
  flex: none;
  min-height: 38px;
  padding: 8px 11px;
  font-size: 13px;
}
.hint-type-row {
  flex: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
}
.hint-type-row .hint-type {
  padding: 5px 2px;
  gap: 3px;
  min-width: 0;
  min-height: 34px;
  border: 1px solid var(--hint-line);
  border-radius: 8px;
  color: var(--hint-text);
  background: var(--hint-bg);
  font-size: 12px;
  white-space: nowrap;
}
.hint-type .hint-glyph { width: 16px; height: 16px; }
.hint-type[aria-pressed="true"] { box-shadow: inset 0 0 0 1px var(--hint-accent); }
.hint-picker .hint-reset {
  align-self: flex-start;
  flex: none;
  padding: 3px 7px;
  min-height: 28px;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
}
.hint-icon-list {
  overflow: auto;
  min-height: 46px;
  overscroll-behavior: contain;
}
.hint-icon-heading, .hint-empty { color: var(--muted); font-size: 12px; }
.hint-empty { margin: 6px 0; }
.hint-empty:empty { display: none; }
.hint-icon-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(38px, 1fr));
  gap: 2px;
  margin: 4px 0 10px;
}
.hint-icon-grid .hint-icon-option {
  min-width: 0;
  min-height: 38px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--fg);
  background: transparent;
}
.hint-icon-option:is(:hover, :focus-visible, [aria-pressed="true"]) {
  border-color: var(--line);
  background: var(--elevated);
}
@media (max-width: 380px) {
  .hint-type-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@keyframes hint-settings-enter {
  from { opacity: 0; transform: translateY(-8px) scale(.96); }
  to { opacity: 1; transform: none; }
}
