html,
body {
  margin: var(--space-0);
  padding: var(--space-0);
  font-family: var(--font-main);
  -webkit-text-size-adjust: 100%;
}

body {
  background: var(--bg-main);
  color: var(--text-primary);
  transition:
    background var(--transition-fast),
    color var(--transition-fast);
}

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

button,
input,
summary,
.chapter-editor,
.chapter-inline-editor,
.main-editor {
  font-size: var(--font-size-base);
  font-family: inherit;
}

button {
  background: var(--bg-glass);
  color: var(--text-secondary);
  border: none;
  border-radius: var(--radius-md);
  cursor: pointer;
  transition:
    background var(--transition-fast),
    color var(--transition-fast),
    transform var(--transition-fast);
}

button:hover {
  background: var(--bg-glass-strong);
  color: var(--text-primary);
}

button:active {
  transform: scale(0.98);
}

input {
  width: 100%;
  padding: var(--space-6) var(--space-7);
  background: var(--bg-glass);
  color: var(--text-primary);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-md);
  outline: none;
  transition:
    background var(--transition-fast),
    color var(--transition-fast),
    border-color var(--transition-fast);
}

input::placeholder {
  color: var(--text-muted);
}

button:focus-visible,
input:focus-visible,
.chapter-inline-editor:focus-visible,
.main-editor:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 1px;
}

.main-editor::selection,
.main-editor *::selection,
.chapter-inline-editor::selection,
.chapter-inline-editor *::selection,
.chapter-editor::selection,
.chapter-editor *::selection {
  background: var(--selection-bg);
}