/* Reader-CLEAN / Figma 2193:16112.
 * Scoped to the reading surface. Legacy shelf and Space styling is untouched.
 * Explicit overrides bridge the existing v2 stylesheet; assets retain intrinsic size.
 */
.reader-v2 #reader-shell {
  --reader-panel: #fff8e9;
  --reader-brown: #806342;
  --reader-coral: #ff6c4b;
  --reader-panel-shadow: 0 10px 22px rgb(89 67 38 / 15%);
  --clean-panel: #fff8e9;
  --clean-secondary: #faeedb;
  --clean-line: #eadfcc;
  --clean-stroke: #cbc0ad;
  --clean-text: #806342;
  --clean-ink: #2b2b2b;
  --clean-active: #ffeada;
}
.reader-v2 #reader-shell[data-theme="black"] {
  --clean-panel: #2b2b2b; --clean-secondary: #35312c; --clean-line: #4d453b;
  --clean-stroke: #71614e; --clean-text: #e5c8a3; --clean-ink: #fff0d9; --clean-active: #49382d;
}
.reader-v2 #reader-shell .reading-header { top: max(70px, calc(env(safe-area-inset-top) + 16px)) !important; }
.reader-v2 #reader-shell .reading-back { width: 56px !important; background: transparent !important; box-shadow: none !important; }
.reader-v2 #reader-shell .reader-back-icon { position: absolute; left: -22px; top: -12px; width: auto !important; height: auto !important; max-width: none; pointer-events: none; }
.reader-v2 #reader-shell .reading-percent { width: 56px !important; border-radius: 20px !important; font-size: 12px !important; }
.reader-v2 #reader-shell .reading-title { left: 84px !important; right: 84px !important; border-radius: 20px !important; font-size: 12px !important; }
.reader-v2 #reader-shell .reader-homebar { width: 196px !important; height: 254px !important; right: auto !important; bottom: max(70px, calc(env(safe-area-inset-bottom) + 36px)) !important; }
.reader-v2 #reader-shell .reader-location-card { top: 50px !important; width: 196px !important; height: 156px !important; min-height: 156px !important; border-radius: 16px !important; }
.reader-v2 #reader-shell .reader-location-card::after { content: ""; position: absolute; top: 44px; left: 12px; right: 12px; height: 1px; background: #eadfcc; }
.reader-v2 #reader-shell .reader-location-main { top: 12px !important; left: 17px !important; }
.reader-v2 #reader-shell .reader-location-main > img { display: none !important; }
.reader-v2 #reader-shell .reader-location-main strong { position: static !important; font: 600 22px/28px "Geologica Pilcrow", sans-serif !important; color: #806342 !important; }
.reader-v2 #reader-shell .reader-location-summary { left: 17px !important; width: 154px !important; color: #806342 !important; }
.reader-v2 #reader-shell .reader-location-summary--chapter { top: 56px !important; }
.reader-v2 #reader-shell .reader-location-summary--book { top: 104px !important; }
.reader-v2 #reader-shell .reader-location-summary > strong { font: 300 12px/18px "Geologica Pilcrow", sans-serif !important; color: #806342 !important; }
.reader-v2 #reader-shell .reader-location-metrics { width: 154px !important; height: 18px !important; }
.reader-v2 #reader-shell .reader-location-metric { font: 600 12px/18px "Geologica Pilcrow", sans-serif !important; gap: 6px !important; color: #806342 !important; }
.reader-v2 #reader-shell .reader-location-metric > img { width: auto !important; height: auto !important; flex-basis: auto !important; }
.reader-v2 #reader-shell .reader-location-metric > span { color: inherit !important; }
.reader-v2 #reader-shell .reader-location-metric--pages { width: 60px !important; }
.reader-v2 #reader-shell .reader-location-metric--time { left: 68px !important; width: 86px !important; }
.reader-v2 #reader-shell .reader-panel-actions { top: 214px !important; gap: 8px !important; }
.reader-v2 #reader-shell .reader-panel-actions button { width: 138px !important; border-radius: 16px !important; font: 300 12px/18px "Geologica Pilcrow", sans-serif !important; }
.reader-v2 #reader-shell .reader-panel-actions #reader-bookmark-button { width: 50px !important; background: transparent !important; box-shadow: none !important; }
.reader-v2 #reader-shell .reader-panel-actions #reader-bookmark-button > img { position: absolute; left: -22px; top: -12px; width: auto !important; height: auto !important; max-width: none; filter: none !important; pointer-events: none; }
.reader-v2 #reader-shell .reader-timer-panel { top: 0 !important; width: 64px !important; height: 42px !important; border-radius: 20px !important; box-shadow: var(--reader-panel-shadow) !important; }
.reader-v2 #reader-shell .reader-timer-panel > img { width: auto !important; height: auto !important; flex: none !important; }
.reader-v2 #reader-shell .reader-timer-panel.is-expanded { width: 196px !important; border: 1px solid #ff6c4b !important; background: linear-gradient(90deg,#6d3026 0%,#2e1010 27%,#3c0c08 70%,#fe4f00 100%) !important; border-radius: 19px !important; }
.reader-v2 #reader-shell .reader-timer-panel > .reader-timer-flame { position: absolute; left: 147px; top: 4px; width: 23px !important; height: 32px !important; object-fit: contain; opacity: 0; }
.reader-v2 #reader-shell .reader-timer-panel > .reader-timer-star { position: absolute; left: 170px; top: 6px; opacity: 0; }
.reader-v2 #reader-shell .reader-timer-panel.is-expanded > img:first-child { opacity: 0; }
.reader-v2 #reader-shell .reader-timer-panel.is-expanded > .reader-timer-flame,
.reader-v2 #reader-shell .reader-timer-panel.is-expanded > .reader-timer-star { opacity: 1; transition: opacity .2s .15s; }
.reader-v2 #reader-shell .reader-timer-copy { position: absolute; left: 22px; top: 5px; width: 120px !important; font: 300 12px/18px "Geologica Pilcrow", sans-serif !important; }
.reader-v2 #reader-shell .reader-timer-copy > span:last-child { font-size: 10px; line-height: 14px; margin-top: -3px; }

/* One floating contents panel, with independently scrolling tab bodies. */
.reader-v2 #contents-sheet .reader-contents-clean {
  position: absolute !important; top: max(128px, calc(env(safe-area-inset-top) + 74px)) !important;
  right: 20px !important; left: auto !important; bottom: auto !important;
  width: calc(100% - 40px) !important; max-width: 350px !important; height: auto !important;
  max-height: calc(100dvh - 175px) !important; margin: 0 !important; padding: 8px 8px 16px 12px !important;
  display: block !important; box-sizing: border-box !important; overflow: visible !important;
  border: 0 !important; border-radius: 16px !important; background: var(--clean-panel) !important;
  box-shadow: var(--reader-panel-shadow) !important; color: var(--clean-text) !important;
  font: 300 12px/18px "Geologica Pilcrow", sans-serif !important;
  transform: none !important; scale: none !important;
}
.reader-v2 .reader-contents-clean .contents-pointer { position: absolute; top: -7px; right: 20px; }
.reader-v2 .reader-contents-clean .contents-tabs { display: grid; grid-template-columns: 78fr 92fr 78fr 78fr; height: 40px; margin: 0 4px 16px 0; border-bottom: 2px solid var(--clean-line); }
.reader-v2 .reader-contents-clean .contents-tabs button {
  position: relative; display: block; min-width: 0; min-height: 0; height: 38px; padding: 8px 0 10px;
  border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--clean-text);
  font: 300 12px/18px "Geologica Pilcrow",sans-serif; cursor: pointer;
}
.reader-v2 .reader-contents-clean .contents-tabs button[aria-selected="true"] { font-size: 14px; font-weight: 400; color: var(--clean-ink); }
.reader-v2 .reader-contents-clean .contents-tabs button[aria-selected="true"]::after { content: ""; position: absolute; bottom: -2px; height: 2px; background: #ff6c4b; left: 0; right: 0; border-radius: 1px; }
.reader-v2 #contents-sheet .reader-contents-clean .contents-clean-list {
  display: block !important; width: 100% !important; height: auto !important;
  min-height: 0 !important; max-height: min(220px, calc(100dvh - 250px)) !important;
  margin: 0 !important; padding: 0 8px 0 0 !important; border: 0 !important; border-radius: 0 !important;
  box-shadow: none !important; background: transparent !important; overflow-y: auto !important; overflow-x: hidden !important;
  overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #ff6c4b var(--clean-line);
}
.reader-v2 #contents-sheet .reader-contents-clean [hidden] { display: none !important; }
.reader-v2 .contents-clean-list::-webkit-scrollbar { width: 4px; }
.reader-v2 .contents-clean-list::-webkit-scrollbar-thumb { background: #ff6c4b; border-radius: 4px; }
.reader-v2 .contents-clean-list::-webkit-scrollbar-track { background: var(--clean-line); border-radius: 4px; }
.reader-v2 #contents-sheet #contents-list > button {
  position: relative !important; width: 100% !important; min-height: 40px !important;
  margin: 0 !important; padding: 8px 16px !important; border: 0 !important; border-radius: 8px !important;
  background: transparent !important; color: var(--clean-ink) !important; box-shadow: none !important;
  font: 400 14px/20px "Geologica Pilcrow",sans-serif !important; text-align: left !important;
}
.reader-v2 #contents-sheet #contents-list > button.is-active { background: var(--clean-active) !important; color: var(--clean-ink) !important; }
.reader-v2 #contents-sheet #contents-list > button.is-active::before { content: ""; position: absolute; left: 0; top: 50%; translate: 0 -50%; width: 5px; height: 23px; background: #ff6c4b; border-radius: 2px; }
.reader-v2 #contents-sheet #contents-list .toc-item-label { font: inherit !important; }
.reader-v2 #contents-sheet #contents-list > button.is-active .toc-item-label { font-size: 16px !important; }
.reader-v2 #contents-sheet #contents-list > button[data-level="1"] { padding-left: 36px !important; font-size: 12px !important; font-weight: 300 !important; }
.reader-v2 #contents-sheet #contents-list > button[data-level="2"] { padding-left: 52px !important; font-size: 12px !important; font-weight: 300 !important; }
.reader-v2 #contents-sheet #contents-list .toc-item-page { font: 300 12px/18px "Geologica Pilcrow",sans-serif !important; color: var(--clean-text) !important; opacity: 1 !important; }
.reader-v2 .reader-contents-clean .contents-empty { margin: 14px; color: var(--clean-text); font-size: 12px; line-height: 18px; }
.reader-v2 .reader-contents-clean .contents-record { display: block; position: relative; margin: 0 8px 12px 12px; border-bottom: 1px solid var(--clean-line); padding: 0 0 12px; }
.reader-v2 .reader-contents-clean .contents-record:last-child { border-bottom: 0; padding-bottom: 0; margin-bottom: 0; }
.reader-v2 .reader-contents-clean .contents-record--bookmarks.is-current { background: var(--clean-active); border-radius: 8px; }
.reader-v2 .reader-contents-clean .contents-record button { border: 0; border-radius: 6px; box-shadow: none; background: transparent; color: inherit; padding: 0; min-height: 0; font: inherit; cursor: pointer; }
.reader-v2 .reader-contents-clean .contents-record-open { display: grid; width: 100%; grid-template-columns: minmax(0,1fr) auto; gap: 4px 8px; text-align: left; min-width: 0; }
.reader-v2 .reader-contents-clean .contents-record-title { grid-column: 1; font-size: 14px; font-weight: 400; line-height: 20px; padding: 2px 28px 2px 0; min-height: 24px; box-sizing: border-box; overflow-wrap: anywhere; }
.reader-v2 .reader-contents-clean .contents-record-title { color: var(--clean-ink); }
.reader-v2 .reader-contents-clean .contents-record--quotes .contents-record-preview { padding-left: 0; }
.reader-v2 .reader-contents-clean .contents-record-page { grid-column: 2; font-size: 12px; white-space: nowrap; }
.reader-v2 .reader-contents-clean .contents-record-preview { grid-column: 1/-1; font-size: 12px; font-weight: 300; line-height: 18px; overflow-wrap: anywhere; white-space: pre-wrap; }
.reader-v2 .reader-contents-clean .contents-record--bookmarks { min-height: 60px; margin: 0 0 12px; padding: 8px 8px 8px 44px; border: 0; overflow: visible !important; }
.reader-v2 .reader-contents-clean .contents-record--bookmarks:not(:last-child)::before { content: ""; position: absolute; left: 4px; right: 0; bottom: -7px; height: 1px; background: var(--clean-line); }
.reader-v2 .reader-contents-clean .contents-record--bookmarks:last-child { padding-bottom: 8px; }
.reader-v2 .reader-contents-clean .contents-record--bookmarks .contents-record-open { position: relative; padding: 0; }
.reader-v2 .reader-contents-clean .contents-record--bookmarks .contents-record-page { padding-top: 2px; }
.reader-v2 .reader-contents-clean .contents-record--bookmarks .contents-record-title { font-size: 16px; line-height: 22px; padding: 0; min-height: 22px; }
.reader-v2 .reader-contents-clean .contents-record--bookmarks .contents-record-preview { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.reader-v2 .reader-contents-clean .contents-record-more { position: absolute; right: 0; top: 0; display: flex; align-items: center; justify-content: center; gap: 3.58px; width: 24px; min-width: 24px; height: 24px; }
.reader-v2 .reader-contents-clean .contents-record--bookmarks .contents-record-more { left: 11px; top: 9px; right: auto; }
.reader-v2 .reader-contents-clean .contents-record-more > img { display: block; width: auto; height: auto; max-width: none; }
.reader-v2 .reader-contents-clean .contents-record-more::before { content: none; }
.reader-v2 .reader-contents-clean .contents-record-menu {
  position: absolute; z-index: 3; right: 0; width: 204px; padding: 0 12px; box-sizing: border-box;
  border-radius: 12px; background: var(--clean-line); box-shadow: var(--reader-panel-shadow);
}
.reader-v2 .reader-contents-clean .contents-record-menu > img { position: absolute; right: 21px; top: -8.56px; }
.reader-v2 .reader-contents-clean .contents-record-menu button { position: relative; display: flex; align-items: center; gap: 12px; width: 100%; min-height: 42px; padding: 0 2px; border: 0; background: none; color: var(--clean-text); font: 300 13px/18px "Geologica Pilcrow",sans-serif; text-align: left; box-shadow: none; cursor: pointer; }
.reader-v2 .reader-contents-clean .contents-record-menu button + button { border-top: 1px solid var(--clean-stroke); }
.reader-v2 .reader-contents-clean .contents-record-menu .contents-publish { opacity: 1; cursor: not-allowed; }
.reader-v2 .reader-contents-clean .contents-publish span { white-space: nowrap; font-size: 13px; }
.reader-v2 .reader-contents-clean .contents-record-menu .contents-remove { color: #ff6c4b; padding-left: 4px; }
.reader-v2 .reader-contents-clean .contents-record-menu .contents-remove img { margin-right: 2px; }
.reader-v2 .reader-contents-clean button:focus-visible { outline: 2px solid #ff6c4b; outline-offset: -2px; }


/* Tab heights follow the approved viewport; content itself remains scrollable. */
.reader-v2 #contents-sheet .reader-contents-clean #contents-list { height: min(220px, calc(100dvh - 250px)) !important; }
.reader-v2 #contents-sheet .reader-contents-clean #contents-bookmarks { max-height: min(208px, calc(100dvh - 250px)) !important; }
.reader-v2 #contents-sheet .reader-contents-clean #contents-notes,
.reader-v2 #contents-sheet .reader-contents-clean #contents-quotes { height: min(156px, calc(100dvh - 250px)) !important; }
.reader-v2 #contents-sheet .reader-contents-clean[data-contents-tab="notes"],
.reader-v2 #contents-sheet .reader-contents-clean[data-contents-tab="quotes"] { padding-bottom: 24px !important; }

/* Settings: real values and existing event handlers, no decorative duplicate UI. */
.reader-v2 #settings-sheet .reader-settings-sheet { bottom: max(70px, calc(env(safe-area-inset-bottom) + 36px)) !important; height: 408px !important; border-radius: 16px !important; background: var(--clean-panel) !important; box-shadow: var(--reader-panel-shadow) !important; overflow-y: auto !important; max-height: calc(100dvh - 110px) !important; }
.reader-v2 .reading-settings-clean { padding: 20px 16px 16px; color: var(--clean-text); font: 300 12px/18px "Geologica Pilcrow",sans-serif; box-sizing: border-box; }
.reader-v2 .reading-settings-clean .settings-clean-handle { position: absolute; top: 8px; left: calc(50% - 17px); width: 34px; height: 4px; border-radius: 3px; background: var(--clean-line); }
.reader-v2 #settings-sheet .reading-settings-clean #settings-title-v2 { margin: 0 4px 10px !important; font: 400 16px/22px "Geologica Pilcrow",sans-serif !important; color: inherit !important; }
.reader-v2 .settings-clean-theme { height: 68px; margin: 0 0 0; }
.reader-v2 .settings-clean-theme p { display: flex; align-items: center; gap: 9px; padding: 0 4px; margin: 0 0 6px; font: inherit; color: inherit; }
.reader-v2 .reading-settings-clean .theme-options { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 6px !important; margin: 0 !important; }
.reader-v2 .reading-settings-clean .theme-options button { padding: 0 !important; min-height: 32px !important; height: 32px !important; border: 1px solid #eadfcc !important; border-radius: 8px !important; font: 300 10px/14px "Geologica Pilcrow",sans-serif !important; color: #806342 !important; box-shadow: 0 2px 4px rgb(89 67 38 / 8%) !important; }
.reader-v2 .reading-settings-clean [data-reader-theme="warm"] { background: #ffeada !important; }
.reader-v2 .reading-settings-clean [data-reader-theme="light"] { background: #fff8e9 !important; }
.reader-v2 .reading-settings-clean [data-reader-theme="black"] { background: #2b2b2b !important; color: white !important; }
.reader-v2 .reading-settings-clean [data-reader-theme="cold"] { background: #fafafe !important; }
.reader-v2 .reading-settings-clean .theme-options button.is-active { border-color: #ff6c4b !important; outline: none !important; }
.reader-v2 .reading-settings-clean .theme-options button:focus-visible { outline: 2px solid #ff6c4b !important; outline-offset: 2px; }
.reader-v2 .reading-settings-clean .settings-clean-row { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 46px; border-bottom: 1px solid var(--clean-line); margin: 0; color: inherit; }
.reader-v2 .settings-clean-row > span { display: inline-flex; align-items: center; gap: 0; }
.reader-v2 .settings-clean-row > span:first-child > img, .reader-v2 .settings-clean-row .settings-word-icon { margin-right: 7px; }
.reader-v2 .settings-clean-row > span:first-child > img[src$="lines.svg"] { margin-right: 12px; }
.reader-v2 .settings-clean-row > span:first-child > img[src$="font.svg"], .reader-v2 .settings-clean-mode > span:first-child > img { margin-right: 8px; }
.reader-v2 .settings-clean-row > span:first-child { padding-left: 4px; }
.reader-v2 .settings-clean-row > span:first-child > img { flex: none; }
.reader-v2 .reading-settings-clean .settings-clean-font { border-top: 1px solid var(--clean-line); min-height: 44px; }
.reader-v2 .reading-settings-clean .settings-font-picker { position: relative; justify-content: flex-end; height: 40px; min-width: 132px; gap: 10px; }
.reader-v2 .reading-settings-clean #reader-font-display { text-align: right; white-space: nowrap; }
/* Keep the native iOS picker, but paint its value ourselves: Safari's select
   text alignment differs from desktop and can shift the selected label. */
.reader-v2 .reading-settings-clean #reader-font-v2 { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; margin: 0; padding: 0; cursor: pointer; }
.reader-v2 .reading-settings-clean .settings-font-picker:focus-within { outline: 1px solid #ff6c4b; border-radius: 6px; }
.reader-v2 .reading-settings-clean .settings-clean-stepper { width: 114px; height: 32px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0; border: 1px solid var(--clean-stroke); background: var(--clean-secondary); border-radius: 10px; overflow: hidden; flex: none; box-sizing: border-box; }
.reader-v2 .settings-clean-stepper button { position: relative; padding: 0; min-width: 0; min-height: 0; height: 100%; background: none; border: 0; border-radius: 0; color: inherit; font-size: 0; box-shadow: none; cursor: pointer; }
.reader-v2 .settings-clean-stepper button::before { content: ""; position: absolute; top: calc(50% - .5px); left: calc(50% - 5px); width: 10px; height: 1px; border-radius: 1px; background: currentColor; }
.reader-v2 .settings-clean-stepper button:last-child::after { content: ""; position: absolute; top: calc(50% - 5px); left: calc(50% - .5px); width: 1px; height: 10px; border-radius: 1px; background: currentColor; }
.reader-v2 .settings-clean-stepper output { display: grid; height: 100%; place-items: center; border-inline: 1px solid var(--clean-line); font: 300 13px/18px "Geologica Pilcrow",sans-serif; }
.reader-v2 .settings-word-icon { display: inline-block; position: relative; width: 12px; height: 12px; border-right: 1px solid currentColor; margin-right: 12px !important; }
.reader-v2 .settings-word-icon::before, .reader-v2 .settings-word-icon::after { content: ""; position: absolute; border: 1px solid currentColor; width: 3px; border-radius: 1px; box-sizing: border-box; }
.reader-v2 .settings-word-icon::before { left: 0; top: 2px; height: 8px; }
.reader-v2 .settings-word-icon::after { left: 5px; top: 3px; height: 6px; }
.reader-v2 .reading-settings-clean .settings-clean-mode { border: 0; padding-top: 12px; min-height: 44px; }
.reader-v2 #settings-sheet .reading-settings-clean #reader-mode-toggle-v2 { position: static !important; display: grid !important; grid-template-columns: 1fr 1fr; flex: 0 0 158px; width: 158px !important; height: 32px !important; min-height: 32px !important; padding: 0 !important; border: 1px solid var(--clean-stroke) !important; border-radius: 11px !important; background: var(--clean-secondary) !important; color: inherit !important; font: 300 11px/16px "Geologica Pilcrow",sans-serif !important; box-shadow: none !important; cursor: pointer; }
.reader-v2 #settings-sheet .reading-settings-clean #reader-mode-toggle-v2::after { content: none !important; }
.reader-v2 #settings-sheet .reading-settings-clean #reader-mode-toggle-v2 span { position: static !important; width: auto !important; height: auto !important; transform: none !important; display: grid !important; place-items: center; background: transparent !important; border: 1px solid transparent !important; border-radius: 10px !important; }
.reader-v2 #settings-sheet .reading-settings-clean #reader-mode-toggle-v2[data-mode="scroll"] span:first-child,
.reader-v2 #settings-sheet .reading-settings-clean #reader-mode-toggle-v2[data-mode="pages"] span:last-child { border-color: #ff6c4b !important; background: #fff8e9 !important; color: #806342 !important; }
.reader-v2 .reading-settings-clean button:active { filter: brightness(.94); }

/* Selection remains an overlay. Its position/lifetime belong to the selection engine. */
.reader-v2 #reader-shell .reader-selection-actions { --selection-panel-scale: 1; width: 254px !important; height: 148px !important; left: var(--selection-panel-left, calc(50% - 127px)) !important; right: auto !important; padding: 0 !important; border-radius: 16px !important; background: #fff8e9 !important; color: #806342 !important; box-shadow: var(--reader-panel-shadow) !important; font: 300 12px/18px "Geologica Pilcrow",sans-serif !important; }
.reader-v2 #reader-shell .reader-selection-toolbar { position: relative; height: 53px !important; display: block !important; }
.reader-v2 #reader-shell .reader-selection-color-row { position: absolute; top: 12px; left: 26px; gap: 8px !important; padding: 0 !important; }
.reader-v2 #reader-shell .reader-selection-color-row button { width: 26px !important; height: 32px !important; flex-basis: 26px !important; border-radius: 13px !important; }
.reader-v2 #reader-shell .reader-selection-color-row button:first-child { border-radius: 13px !important; }
.reader-v2 #reader-shell .reader-selection-color-row [data-selection-color="coral"] { --selection-color: #ff6c4b; }
.reader-v2 #reader-shell .reader-selection-color-row [data-selection-color="violet"] { --selection-color: #8047fa; }
.reader-v2 #reader-shell .reader-selection-color-row [data-selection-color="sun"] { --selection-color: #ecaf28; }
.reader-v2 #reader-shell .reader-selection-color-row button.is-active { box-shadow: none !important; outline: 1px solid currentColor; outline-offset: 2px; }
.reader-v2 #reader-shell .reader-selection-quick { position: absolute; left: 164px; top: 7px; }
.reader-v2 #reader-shell .reader-selection-actions .reader-selection-close { position: absolute !important; right: 5px; top: 5px; }
.reader-v2 #reader-shell .reader-selection-divider { margin: 0 24px !important; background: #eadfcc !important; }
.reader-v2 #reader-shell .reader-selection-action-row { height: 43px; grid-template-columns: 116px 1fr !important; margin: 0 !important; gap: 0 !important; padding: 0 8px 0 17px; }
.reader-v2 #reader-shell .reader-selection-actions .reader-selection-cell { height: 43px !important; gap: 6px !important; padding: 0 9px !important; justify-content: flex-start !important; background: transparent !important; border-radius: 6px !important; }
.reader-v2 #reader-shell .reader-selection-icon { width: 20px !important; height: 20px !important; flex-basis: 20px !important; }
.reader-v2 #reader-shell .reader-selection-actions img { max-width: none; flex: none; }
.reader-v2 #reader-shell .reader-selection-pointer { position: absolute; left: var(--selection-pointer-left, calc(50% - 8.46px)); bottom: -9px; pointer-events: none; }
.reader-v2 #reader-shell .reader-selection-actions button.is-tapped { animation: reader-selection-tap 280ms ease-out; }
@keyframes reader-selection-tap { 0%,100% { transform: scale(1); } 35% { transform: scale(.92); } 65% { transform: scale(1.025); } }
.reader-v2 #reader-shell.reader-controls-hidden .reader-return-to-page { visibility: hidden !important; pointer-events: none !important; }
.reader-v2 .reader-contents-clean .contents-record { touch-action: pan-y; overflow: hidden; border-radius: 0; }
.reader-v2 .reader-contents-clean .contents-record--bookmarks, .reader-v2 .reader-contents-clean .contents-record.is-swiping { border-radius: 8px; }
.reader-v2 .reader-contents-clean .contents-record.is-swiping { background: rgba(222, 58, 39, var(--swipe-red, 0)); }
.reader-v2 .reader-contents-clean .contents-record > button { transform: translateX(var(--swipe-offset, 0px)); transition: transform 180ms ease-out; }
.reader-v2 .reader-contents-clean .contents-record.is-swiping > button { transition: none; }
.reader-v2 .reader-contents-clean .contents-record.is-swipe-ready::after { content: 'Удалить'; position: absolute; inset: 0; display: grid; place-items: center; color: #fff8e9; font-size: 12px; pointer-events: none; }
.reader-v2 .reader-contents-clean .contents-undo { display: flex; justify-content: space-between; gap: 10px; padding: 10px 6px 0; font-size: 12px; }
.reader-v2 .reader-contents-clean .contents-undo button { background: none; border: 0; padding: 0; min-height: 32px; color: #b74128; font: inherit; cursor: pointer; }
.reader-v2 #reader-shell .reader-selection-quick button img { transition: transform 120ms ease-out; }
.reader-v2 #reader-shell .reader-selection-quick button:active img { transform: scale(.8); }
.reader-v2 #reader-shell .reader-selection-quick button.is-tapped img { animation: reader-quick-tap 240ms ease-out; }
.reader-v2 #reader-shell .reader-selection-actions.is-entering { animation: reader-clean-selection-enter 336ms cubic-bezier(.22,.68,.25,1) both; }
@keyframes reader-clean-selection-enter { 0% { opacity: 0; transform: translateY(4px) scale(.965); } 75% { opacity: 1; transform: scale(1.006); } 100% { opacity: 1; transform: scale(1); } }
@media (min-width: 600px) {
  .reader-v2 #reader-shell .reading-header { top: max(32px, calc(env(safe-area-inset-top) + 16px)) !important; }
  .reader-v2 #contents-sheet .reader-contents-clean { top: max(90px, calc(env(safe-area-inset-top) + 74px)) !important; right: max(24px, calc((100% - 760px) / 2 + 20px)) !important; scale: 1.15 !important; max-height: calc((100dvh - 160px) / 1.15) !important; }
  .reader-v2 #reader-shell .reader-homebar, .reader-v2 #settings-sheet .reader-settings-sheet { bottom: max(32px, calc(env(safe-area-inset-bottom) + 16px)) !important; }
}
@media (max-height: 580px) {
  .reader-v2 #reader-shell .reading-header { top: max(16px, env(safe-area-inset-top)) !important; }
  .reader-v2 #contents-sheet .reader-contents-clean { top: 70px !important; }
  .reader-v2 #reader-shell .reader-homebar { bottom: max(16px, env(safe-area-inset-bottom)) !important; }
  .reader-v2 #settings-sheet .reader-settings-sheet { bottom: 16px !important; max-height: calc(100dvh - 40px) !important; }
}
@media (prefers-reduced-motion: reduce) {
  .reader-v2 #reader-shell .reader-selection-actions.is-entering { animation: none; }
  .reader-v2 #reader-shell .reader-selection-quick button img { transition: none; animation: none !important; }
  .reader-v2 #reader-shell .reader-selection-actions button.is-tapped { animation: none; }
  .reader-v2 .reader-contents-clean .contents-record > button { transition: none; }
}
