:root {
  --year-page: #f4f5f7;
  --year-paper: #fff;
  --year-ink: #202328;
  --year-muted: #687078;
  --year-line: #e4e7ea;
  --year-accent: #2f7b5c;
  --year-soft: #edf5f1;
  --year-surface: var(--year-paper);
  --year-fs: 20px;
}

html[data-sv-theme="paper"] {
  --year-page: #f4f5f7;
  --year-paper: #fff;
  --year-ink: #202328;
  --year-muted: #687078;
  --year-line: #e4e7ea;
  --year-accent: #2f7b5c;
  --year-soft: #edf5f1;
}

html[data-sv-theme="sepia"] {
  --year-page: #f3ecda;
  --year-paper: #fdf8ee;
  --year-ink: #553617;
  --year-muted: #745b36;
  --year-line: #e6d9c1;
  --year-accent: #8f5b0e;
  --year-soft: #f4ead6;
}

html[data-sv-theme="green"] {
  --year-page: #e6efe0;
  --year-paper: #f0f6ec;
  --year-ink: #183f2a;
  --year-muted: #526c59;
  --year-line: #d5e1ce;
  --year-accent: #3d692d;
  --year-soft: #e2edde;
}

html[data-sv-theme="night"] {
  color-scheme: dark;
  --year-page: #15171b;
  --year-paper: #22262c;
  --year-ink: #e8e1d6;
  --year-muted: #aaa294;
  --year-line: #343941;
  --year-accent: #d0af68;
  --year-soft: #2a3036;
}

html[data-sv-theme] body {
  background: var(--year-page) !important;
  color: var(--year-ink) !important;
}

html[data-sv-theme] .wrap,
html[data-sv-theme] .card,
html[data-sv-theme] #daycard,
html[data-sv-theme] .psg,
html[data-sv-theme] .psg-b,
html[data-sv-theme] .nbabody,
html[data-sv-theme] .hhbbody {
  color: var(--year-ink) !important;
}

html[data-sv-theme] .nbabody,
html[data-sv-theme] .hhbbody,
html[data-sv-theme] .psg-b {
  font-size: var(--year-fs) !important;
}

html[data-sv-theme] .card,
html[data-sv-theme] #daycard,
html[data-sv-theme] .psg,
html[data-sv-theme] .aud {
  background: transparent !important;
}

html[data-sv-theme] .aud,
html[data-sv-theme] .nbabody .o0,
html[data-sv-theme] .nbabody .o1,
html[data-sv-theme] .nbabody .o2,
html[data-sv-theme] .nbabody .o3 {
  border-color: var(--year-line) !important;
  background: var(--year-soft) !important;
  color: var(--year-ink) !important;
}

html[data-sv-theme="night"] .nbabody,
html[data-sv-theme="night"] .nbabody p,
html[data-sv-theme="night"] .nbabody div,
html[data-sv-theme="night"] .nbabody span,
html[data-sv-theme="night"] .hhbbody,
html[data-sv-theme="night"] .hhbbody p,
html[data-sv-theme="night"] .hhbbody div,
html[data-sv-theme="night"] .hhbbody span,
html[data-sv-theme="night"] .psg-b,
html[data-sv-theme="night"] .psg-b .verse,
html[data-sv-theme="night"] .psg-h,
html[data-sv-theme="night"] .psg-h b,
html[data-sv-theme="night"] .aud,
html[data-sv-theme="night"] .aud-ch,
html[data-sv-theme="night"] .aud-time {
  color: var(--year-ink) !important;
}

html[data-sv-theme="night"] .top {
  border-color: var(--year-line) !important;
  background: var(--year-paper) !important;
  color: var(--year-ink) !important;
}

html[data-sv-theme="night"] .dnav button,
html[data-sv-theme="night"] .back,
html[data-sv-theme="night"] .psg-h .meta,
html[data-sv-theme="night"] .psg-load {
  color: var(--year-muted) !important;
}

.year-reader-toolbar {
  position: static;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: 100%;
  min-height: 66px;
  margin: 0;
  border-top: 1px solid var(--year-line);
  border-bottom: 1px solid var(--year-line);
  background: var(--year-paper);
  color: var(--year-muted);
}

.year-reader-tool {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 3px;
  min-width: 44px;
  min-height: 64px;
  padding: 5px 2px;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 11px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.year-reader-tool:first-child {
  border-left: 0;
}

.year-reader-tool svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
}

.year-reader-tool.is-active svg {
  --reader-bookmark-fill: currentColor;
  fill: currentColor;
}

.year-reader-tool.is-active,
.year-reader-tool:focus-visible,
.year-reader-tool:active {
  color: var(--year-accent);
}

.year-reader-tool:active {
  background: var(--year-soft);
}

.year-reader-tool:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: -4px;
}

.year-reader-search__form {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
}

.year-reader-search__form input {
  min-width: 0;
  flex: 1;
  height: 48px;
  border: 1.5px solid var(--year-line);
  border-radius: 15px;
  outline: 0;
  background: var(--year-surface);
  color: var(--year-ink);
  padding: 0 16px;
  font: inherit;
  font-size: 15px;
}

.year-reader-search__form input:focus {
  border-color: var(--year-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--year-accent) 14%, transparent);
}

.year-reader-search__form button {
  flex: 0 0 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 15px;
  background: var(--year-accent);
  color: #fff;
  padding: 0;
  font: inherit;
  font-weight: 750;
}

.year-reader-search__form button svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
}

.year-reader-search__scope,
.year-reader-search__count,
.year-reader-search__empty {
  margin: 10px 2px 0;
  color: var(--year-muted);
  font-size: 13px;
  line-height: 1.55;
}

.year-reader-search__results {
  display: grid;
  gap: 0;
  margin-top: 10px;
}

.year-reader-search-result {
  display: grid;
  gap: 5px;
  width: 100%;
  min-height: 66px;
  border: 0;
  border-top: 1px solid var(--year-line);
  border-radius: 0;
  background: transparent;
  color: var(--year-ink);
  padding: 12px 2px;
  text-align: left;
  font: inherit;
}

.year-reader-search-result strong {
  color: var(--year-accent);
  font-size: 13px;
}

.year-reader-search-result span {
  font-size: 14px;
  line-height: 1.55;
}

.year-reader-search-result:focus-visible {
  outline: 2px solid var(--year-accent);
  outline-offset: 2px;
}

.year-reader-search-hit {
  border-radius: 8px;
  color: #171717;
  background: #ffeb3b !important;
  box-shadow: 0 0 0 4px #ffeb3b;
  animation: year-reader-search-pulse .72s ease-in-out 3;
}

.year-reader-search-range span {
  color: #171717;
  background: #ffeb3b;
  box-shadow: 0 0 0 3px #ffeb3b;
  animation: year-reader-search-pulse .72s ease-in-out 3;
}

.year-reader-passage-highlight-layer.year-reader-search-range {
  position: absolute;
}

@keyframes year-reader-search-pulse {
  50% { filter: brightness(1.12); opacity: .56; }
}

::highlight(year-search-hit) {
  color: #171717;
  background: #ffeb3b;
}

.year-reader-sheet-scrim {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: transparent;
  touch-action: pan-y;
}

.year-reader-sheet {
  position: fixed;
  right: 0;
  bottom: var(--bottom-nav, 56px);
  left: 0;
  z-index: 9999;
  width: min(720px, 100%);
  max-height: min(76vh, calc(100vh - 120px));
  max-height: min(76dvh, calc(100dvh - 120px));
  margin: 0 auto;
  overflow: auto;
  border: 0;
  border-radius: 20px 20px 0 0;
  background: var(--year-paper);
  color: var(--year-ink);
  box-shadow: 0 -8px 40px rgba(0, 0, 0, .2);
  padding: 8px 22px calc(22px + env(safe-area-inset-bottom, 0px));
  overscroll-behavior: contain;
  animation: year-reader-sheet-in .2s ease-out;
}

.year-reader-sheet--search {
  top: 0;
  bottom: 0;
  height: 100dvh;
  max-height: none;
  border-radius: 0;
  touch-action: pan-y;
  overscroll-behavior: contain;
}

html.year-reader-search-open #_bnav {
  display: none !important;
}

html.year-reader-search-open .year-reader-sheet--search {
  bottom: 0;
  max-height: none;
}

@keyframes year-reader-sheet-in {
  from { transform: translateY(22px); opacity: .72; }
  to { transform: translateY(0); opacity: 1; }
}

.year-reader-sheet__panel {
  font-size: 16px;
}

html[data-sv-theme="night"] .year-reader-sheet__panel {
  background: var(--year-surface);
  color: var(--year-ink);
}

html[data-sv-theme="night"] .year-reader-note {
  background: var(--year-page);
  color: var(--year-ink);
}

.year-reader-sheet__grabber {
  display: block;
  width: 38px;
  height: 20px;
  margin: 0 auto 8px;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.year-reader-sheet__grabber::before {
  content: "";
  display: block;
  width: 38px;
  height: 4px;
  border-radius: 999px;
  background: var(--year-line);
}

.year-reader-sheet > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 56px;
  border-bottom: 1px solid var(--year-line);
}

.year-reader-sheet > header h2 {
  margin: 0;
  font-size: 20px;
  font-weight: 780;
  letter-spacing: .01em;
}

.year-reader-sheet__close {
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: var(--year-soft);
  color: var(--year-muted);
  font: inherit;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.year-reader-sheet__content {
  padding-top: 10px;
}

.year-reader-sheet--settings .year-reader-sheet__content,
.year-reader-sheet--stats .year-reader-sheet__content,
.year-reader-sheet--notes .year-reader-sheet__content {
  padding-top: 0;
}

.year-reader-setting-section {
  margin: 0 0 20px;
}

.year-reader-setting-section:last-child {
  margin-bottom: 2px;
}

.year-reader-setting-section h2,
.year-reader-stats__heading,
.year-reader-stats__version {
  margin: 0 2px 12px;
  color: var(--year-muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
}

.year-reader-stats__heading,
.year-reader-stats__version {
  text-align: center;
}

.year-reader-stats__version {
  margin-bottom: 14px;
  font-weight: 500;
  letter-spacing: 0;
}

.year-reader-note {
  display: block;
  width: 100%;
  min-height: 160px;
  padding: 13px;
  border: 1px solid var(--year-line);
  border-radius: 12px;
  outline: 0;
  background: var(--year-page);
  color: var(--year-ink);
  font: inherit;
  line-height: 1.7;
  resize: vertical;
}

.year-reader-sheet__actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 14px;
}

.year-reader-sheet__actions button,
.year-reader-font-controls button {
  min-width: 72px;
  min-height: 44px;
  border: 1px solid var(--year-line);
  border-radius: 10px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 700;
}

.year-reader-sheet__actions button:last-child {
  border-color: var(--year-accent);
  background: var(--year-accent);
  color: #fff;
}

.year-reader-font-controls {
  display: flex;
  align-items: stretch;
  min-height: 52px;
  overflow: hidden;
  border-radius: 13px;
  background: var(--year-soft);
}

.year-reader-font-controls button {
  flex: 1;
  min-width: 0;
  min-height: 52px;
  border: 0;
  background: transparent;
}

.year-reader-font-controls strong {
  display: flex;
  flex: 0 0 auto;
  min-width: 86px;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 16px;
  font-variant-numeric: tabular-nums;
}

.year-reader-font-controls .is-small { font-size: 16px; }
.year-reader-font-controls .is-large { font-size: 24px; }
.year-reader-font-controls button:disabled { opacity: .32; }

.year-reader-sheet__actions button,
.year-reader-font-controls button {
  color: inherit;
  font: inherit;
  font-weight: 700;
}

.year-reader-theme-choices {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.year-reader-theme-choice {
  flex: 1;
  display: grid;
  place-items: center;
  gap: 7px;
  min-height: 72px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--year-ink);
  font: inherit;
}

.year-reader-theme-choice[aria-pressed="true"] {
  color: var(--year-accent);
}

.year-reader-theme-choice > span {
  position: relative;
  width: 46px;
  height: 46px;
  border: 1px solid var(--year-line);
  border-radius: 50%;
}

.year-reader-theme-choice[aria-pressed="true"] > span {
  border: 3px solid var(--year-accent);
}

.year-reader-search-history {
  margin-top: 24px;
  border-top: 1px solid var(--year-line);
  padding-top: 14px;
}

.year-reader-search-history > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.year-reader-search-history h3 {
  margin: 0;
  font-size: 15px;
}

.year-reader-search-history__clear,
.year-reader-search-history__delete,
.year-reader-search-history__term {
  border: 0;
  background: transparent;
  color: var(--year-muted);
  font: inherit;
}

.year-reader-search-history__clear {
  color: var(--year-accent);
  font-size: 13px;
}

.year-reader-search-history__list > div {
  display: flex;
  align-items: center;
  min-height: 46px;
  border-bottom: 1px solid var(--year-line);
}

.year-reader-search-history__term {
  flex: 1;
  color: var(--year-ink);
  text-align: left;
}

.year-reader-search-history__delete {
  width: 44px;
  height: 44px;
  font-size: 22px;
}

.year-reader-search-confirm {
  position: fixed;
  inset: 0;
  z-index: 10002;
  display: grid;
  place-content: center;
  background: rgba(18, 25, 30, .48);
  padding: 22px;
}

.year-reader-search-confirm > p {
  width: min(340px, calc(100vw - 44px));
  margin: 0;
  border-radius: 18px 18px 0 0;
  background: var(--year-paper);
  padding: 24px 22px 18px;
  color: var(--year-ink);
  font-weight: 700;
}

.year-reader-search-confirm > div {
  display: flex;
  width: min(340px, calc(100vw - 44px));
  border-radius: 0 0 18px 18px;
  overflow: hidden;
  background: var(--year-paper);
  padding: 0 16px 16px;
}

.year-reader-search-confirm button {
  flex: 1;
  min-height: 44px;
  border: 0;
  background: var(--year-soft);
  color: var(--year-ink);
  font: inherit;
  font-weight: 700;
}

.year-reader-search-confirm button:last-child {
  background: var(--year-accent);
  color: #fff;
}

.year-reader-theme-choice.is-paper > span { background: #fff; }
.year-reader-theme-choice.is-sepia > span { background: #efdcae; }
.year-reader-theme-choice.is-green > span { background: #cfe2c5; }
.year-reader-theme-choice.is-night > span { background: #22262c; }

.year-reader-stats {
  display: flex;
  margin: 4px 0 6px;
  text-align: center;
}

.year-reader-stats > div { flex: 1; }

.year-reader-stats strong {
  display: block;
  color: var(--year-ink);
  font-size: 26px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}

.year-reader-stats strong span {
  margin-left: 2px;
  color: var(--year-muted);
  font-size: 13px;
  font-weight: 600;
}

.year-reader-stats em {
  display: block;
  margin-top: 5px;
  color: var(--year-muted);
  font-size: 12.5px;
  font-style: normal;
}

.year-reader-stats__note {
  margin: 12px 6px 2px;
  color: var(--year-muted);
  font-size: 12px;
  line-height: 1.7;
  text-align: center;
}

.year-reader-stats__more {
  display: block;
  margin-top: 16px;
  padding: 13px;
  border-radius: 12px;
  background: var(--year-soft);
  color: var(--year-accent);
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

.year-reader-notes__header {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  gap: 8px;
  margin: 2px 0 12px;
}

.year-reader-notes__header strong {
  color: var(--year-ink);
  font-size: 17px;
  text-align: center;
}

.year-reader-notes__header button {
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--year-muted);
  font: inherit;
  font-size: 27px;
}

.year-reader-notes__header button svg {
  width: 24px;
  height: 24px;
}

.year-reader-notes__tabs {
  display: flex;
  margin: 4px 0 18px;
  padding: 3px;
  border-radius: 11px;
  background: var(--year-soft);
}

.year-reader-notes__tabs button {
  flex: 1;
  height: 38px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--year-muted);
  font: inherit;
  font-size: 14.5px;
  font-weight: 600;
}

.year-reader-notes__tabs button.is-active {
  background: var(--year-paper);
  color: var(--year-ink);
  box-shadow: 0 1px 3px rgba(0, 0, 0, .12);
}

.year-reader-notes__list {
  max-height: 52vh;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.year-reader-note-card {
  display: block;
  width: 100%;
  margin: 0 0 10px;
  padding: 13px 14px;
  border: 1px solid var(--year-line);
  border-radius: 14px;
  background: var(--year-paper);
  color: var(--year-ink);
  font: inherit;
  text-align: left;
}

.year-reader-note-card__top {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 8px;
}

.year-reader-note-card__top strong {
  flex: 1;
  color: #c0392b;
  font-size: 13px;
}

.year-reader-note-card__top time {
  color: var(--year-muted);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.year-reader-note-card__label {
  display: block;
  margin-bottom: 4px;
  color: #6f4f91;
  font-size: 11px;
  font-weight: 800;
}

.year-reader-note-card__quote {
  display: block;
  margin: 0 0 8px;
  padding-left: 10px;
  border-left: 3px solid var(--year-line);
  color: var(--year-muted);
  font-size: 13px;
  line-height: 1.65;
}

.year-reader-note-card__copy {
  display: block;
  color: #563b78;
  font-size: 15px;
  line-height: 1.75;
  white-space: pre-wrap;
}

.year-reader-notes__empty {
  padding: 30px 0;
  color: var(--year-muted);
  text-align: center;
}

.year-reader-notes__write {
  display: block;
  width: 100%;
  min-height: 46px;
  margin-top: 10px;
  border: 0;
  border-radius: 12px;
  background: var(--year-soft);
  color: var(--year-accent);
  font: inherit;
  font-weight: 700;
}

.year-reader-passage-target {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

.nbabody p,
.nbabody .o0,
.nbabody .o1,
.nbabody .o2,
.nbabody .o3,
.psg-b .verse {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

.year-reader-passage-picked {
  border-radius: 4px;
  background: rgba(47, 110, 84, .10) !important;
  outline: 2px solid rgba(47, 110, 84, .34);
  outline-offset: 2px;
}

::highlight(year-passage-picked) {
  background: rgba(47, 110, 84, .14);
  color: inherit;
  text-decoration: underline rgba(47, 110, 84, .46) 2px;
}

.year-reader-passage-highlight-layer {
  position: fixed;
  inset: 0;
  z-index: 10010;
  pointer-events: none;
}

.year-reader-passage-highlight-layer span {
  position: absolute;
  border-radius: 3px;
  background: rgba(47, 110, 84, .14);
  box-shadow: inset 0 -2px rgba(47, 110, 84, .46);
}

.year-reader-passage-actions {
  position: fixed;
  z-index: 10020;
  display: flex;
  overflow: hidden;
  min-width: 210px;
  border-radius: 12px;
  background: #24282d;
  color: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .28);
  touch-action: manipulation;
}

.year-reader-passage-actions button {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 70px;
  min-height: 62px;
  padding: 8px 16px 7px;
  border: 0;
  border-left: 1px solid rgba(255, 255, 255, .14);
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 11.5px;
  font-weight: 650;
}

.year-reader-passage-actions button svg {
  width: 21px;
  height: 21px;
  flex: 0 0 auto;
}

.year-reader-passage-actions button:first-child {
  border-left: 0;
}

.year-reader-passage-actions button:active {
  background: rgba(255, 255, 255, .12);
}

.year-reader-passage-note__reference {
  display: block;
  margin: 2px 0 8px;
  color: var(--year-accent);
  font-size: 14px;
}

.year-reader-passage-note__quote {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-left: 4px solid var(--year-line);
  background: var(--year-soft);
  color: var(--year-muted);
  font-size: 14px;
  line-height: 1.7;
}

.year-reader-note-view__reference,
.year-reader-note-view__time {
  display: block;
}

.year-reader-note-view__reference {
  margin: 2px 0 4px;
  color: var(--year-accent);
  font-size: 16px;
}

.year-reader-note-view__time {
  margin-bottom: 16px;
  color: var(--year-muted);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

.year-reader-note-view__quote {
  margin: 0 0 16px;
  padding: 12px 14px;
  border-left: 4px solid var(--year-line);
  background: var(--year-soft);
  color: var(--year-muted);
  font-size: 14px;
  line-height: 1.75;
}

.year-reader-note-view__copy {
  min-height: 100px;
  margin: 0;
  padding: 16px;
  border: 1px solid var(--year-line);
  border-radius: 14px;
  background: var(--year-paper);
  color: var(--year-ink);
  font-size: 16px;
  line-height: 1.8;
  white-space: pre-wrap;
}

.year-reader-note-view__actions {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 10px;
  margin-top: 18px;
}

.year-reader-note-view__actions button {
  min-height: 46px;
  border: 1px solid var(--year-line);
  border-radius: 12px;
  background: var(--year-paper);
  color: #b33a32;
  font: inherit;
  font-weight: 800;
}

.year-reader-note-view__actions button:last-child {
  border-color: var(--year-accent);
  background: var(--year-accent);
  color: #fff;
}

.year-reader-note-confirm {
  position: fixed;
  inset: 0;
  z-index: 10060;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(16, 21, 25, .55);
  touch-action: none;
}

.year-reader-note-confirm section {
  width: min(360px, 100%);
  padding: 22px 20px 18px;
  border-radius: 18px;
  background: var(--year-paper);
  color: var(--year-ink);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .28);
}

.year-reader-note-confirm h2 {
  margin: 0 0 8px;
  font-size: 20px;
}

.year-reader-note-confirm p {
  margin: 0 0 20px;
  color: var(--year-muted);
}

.year-reader-note-confirm section > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.year-reader-note-confirm button {
  min-height: 44px;
  border: 1px solid var(--year-line);
  border-radius: 11px;
  background: var(--year-paper);
  color: var(--year-ink);
  font: inherit;
  font-weight: 800;
}

.year-reader-note-confirm button.is-danger {
  border-color: #b33a32;
  background: #b33a32;
  color: #fff;
}

.year-reader-report {
  position: fixed;
  inset: 0;
  z-index: 10040;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(16, 21, 25, .55);
  touch-action: none;
}

.year-reader-report__panel {
  width: min(420px, 100%);
  max-height: calc(100vh - 40px);
  max-height: calc(100dvh - 40px);
  overflow-y: auto;
  padding: 22px 20px 18px;
  border-radius: 18px;
  background: var(--year-paper);
  color: var(--year-ink);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .28);
  overscroll-behavior: contain;
  touch-action: pan-y;
}

.year-reader-report__panel h2 {
  margin: 0 0 12px;
  font-size: 20px;
}

.year-reader-report__reference {
  display: block;
  color: var(--year-accent);
  font-size: 13px;
}

.year-reader-report__panel blockquote {
  margin: 9px 0 12px;
  padding: 9px 11px;
  border-left: 4px solid var(--year-line);
  color: var(--year-muted);
  font-size: 14px;
  line-height: 1.65;
}

.year-reader-report__panel textarea {
  display: block;
  width: 100%;
  min-height: 104px;
  resize: vertical;
  border: 1px solid var(--year-line);
  border-radius: 12px;
  background: var(--year-page);
  color: var(--year-ink);
  font: inherit;
  font-size: 16px;
  line-height: 1.6;
  padding: 11px 12px;
}

.year-reader-report__error {
  min-height: 20px;
  margin: 7px 0 0;
  color: #b43b31;
  font-size: 13px;
}

.year-reader-report__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 10px;
}

.year-reader-report__actions button {
  min-height: 46px;
  border: 1px solid var(--year-line);
  border-radius: 12px;
  background: var(--year-soft);
  color: var(--year-muted);
  font: inherit;
  font-weight: 700;
}

.year-reader-report__actions button:last-child {
  border-color: var(--year-accent);
  background: var(--year-accent);
  color: #fff;
}

.year-reader-sheet--notes.is-full {
  top: 0;
  bottom: 0;
  width: 100%;
  max-height: none;
  border-radius: 0;
}

.year-reader-sheet--notes.is-full .year-reader-notes__list {
  max-height: calc(100dvh - 240px);
}

@media (max-width: 380px) {
  .year-reader-theme-choices { gap: 6px; }
  .year-reader-theme-choice > span { width: 42px; height: 42px; }
}

@media (max-width: 899px) {
  .year-reader-toolbar {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}

@media (min-width: 900px) {
  .year-reader-sheet {
    right: 16px;
    bottom: 16px;
    left: auto;
    width: 380px;
    border-radius: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .year-reader-sheet { animation: none; }
}
