.banayan-memo {
  --bm-ink: #222;
  --bm-line: #aaa;
  box-sizing: border-box;
  max-width: 58rem;
  margin: 1.5rem auto;
  padding: 0;
  color: var(--bm-ink);
  background: transparent;
  border: 0;
  border-radius: 0;
  font-family: inherit;
  line-height: 1.7;
}
.banayan-memo *, .banayan-memo *::before, .banayan-memo *::after { box-sizing: border-box; }
.banayan-memo [hidden] { display: none !important; }
.banayan-memo .banayan-memo__login { margin: 0; padding: 0; }
.banayan-memo input[type="password"], .banayan-memo textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: .85rem 1rem;
  border: 1px solid var(--bm-line);
  border-radius: 0;
  background: #fff;
  color: var(--bm-ink);
  box-shadow: none;
  font: inherit;
  font-size: 1rem;
}
.banayan-memo input[type="password"] { max-width: 30rem; margin-bottom: .8rem; }
.banayan-memo textarea { min-height: 17rem; line-height: 1.8; resize: vertical; white-space: pre-wrap; overflow-wrap: anywhere; }
.banayan-memo textarea:focus, .banayan-memo input:focus, .banayan-memo button:focus-visible { outline: 2px solid #555; outline-offset: 2px; }
.banayan-memo button {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: .55rem 1.1rem;
  border: 1px solid var(--bm-line);
  border-radius: 0;
  background: #fff;
  color: var(--bm-ink);
  box-shadow: none;
  font: inherit;
  font-weight: normal;
  line-height: 1.4;
  cursor: pointer;
  text-decoration: none;
}
.banayan-memo button:hover { background: #eee; }
.banayan-memo button:disabled { cursor: not-allowed; opacity: .55; }
.banayan-memo .banayan-memo__recovery { margin: 1rem 0; }
.banayan-memo .banayan-memo__recovery button + button { margin-left: .65rem; }
.banayan-memo .banayan-memo__message { margin: .8rem 0; padding: .75rem 1rem; background: #fff3d7; border-left: 3px solid #ae7d2a; border-radius: .25rem; overflow-wrap: anywhere; }
.banayan-memo .banayan-memo__toolbar { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: .8rem; }
.banayan-memo .banayan-memo__conflict { margin-top: 1.5rem; padding: 1rem; background: #fff8e9; border: 1px solid #dbc797; border-radius: .7rem; }
.banayan-memo .banayan-memo__conflict h3 { margin: 0 0 .5rem; padding: 0; border: 0; color: var(--bm-ink); background: none; font-size: 1.15rem; }
.banayan-memo .banayan-memo__conflict h3::before, .banayan-memo .banayan-memo__conflict h3::after { display: none; }
.banayan-memo .banayan-memo__conflict p { margin: 0 0 .8rem; font-size: .9rem; }
.banayan-memo .banayan-memo__remote { background: #f6f6f0; min-height: 10rem; }
@media (max-width: 480px) {
  .banayan-memo .banayan-memo__toolbar button { flex: 1 1 auto; }
  .banayan-memo .banayan-memo__conflict { padding: .75rem; }
}
