.shuowen-branch-actions {
  display: flex;
  justify-content: flex-start;
  margin-top: .6rem;
}

.shuowen-branch-button {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  min-height: 32px;
  padding: .32rem .65rem;
  border: 1px solid var(--line, #ded5c8);
  border-radius: 8px;
  background: transparent;
  color: var(--ink-muted, #776b5f);
  font: inherit;
  font-size: .76rem;
  line-height: 1.4;
  cursor: pointer;
}

.shuowen-branch-button:hover:not(:disabled) {
  border-color: var(--accent, #ad4b39);
  background: #ad4b3909;
  color: var(--ink, #312a24);
}

.shuowen-branch-button:focus-visible,
.shuowen-branch-toast a:focus-visible,
.shuowen-branch-toast button:focus-visible {
  outline: 2px solid var(--accent, #ad4b39);
  outline-offset: 3px;
}

.shuowen-branch-button:disabled { opacity: .48; cursor: not-allowed; }
.shuowen-branch-icon { font-family: system-ui, sans-serif; font-size: 1.1rem; line-height: 1; }

.shuowen-branch-toast {
  position: fixed;
  z-index: 1000;
  right: 1rem;
  bottom: 1rem;
  display: flex;
  align-items: center;
  gap: .75rem;
  max-width: min(560px, calc(100vw - 2rem));
  padding: .75rem 1rem;
  border: 1px solid var(--line, #ded5c8);
  border-radius: 12px;
  background: var(--paper, #faf6ee);
  color: var(--ink, #312a24);
  box-shadow: 0 8px 28px #231e1830;
  font-size: .83rem;
  line-height: 1.6;
}

.shuowen-branch-toast a { flex-shrink: 0; color: var(--accent, #ad4b39); }
.shuowen-branch-toast-close { flex-shrink: 0; border: 0; background: transparent; color: inherit; font-size: 1.2rem; cursor: pointer; }

@media (max-width: 800px) {
  .shuowen-branch-button { min-height: 36px; }
  .shuowen-branch-toast { right: .75rem; bottom: .75rem; max-width: calc(100vw - 1.5rem); }
}
