body.book-focus { overflow: hidden; }
body.book-focus .site-header, body.book-focus #music-dock, body.book-focus .site-footer { display: none !important; }
body.book-focus #book-modal, #book-modal:fullscreen {
  position: fixed; inset: 0; z-index: 180; width: 100%; height: 100vh; height: 100dvh;
  min-height: 0; display: flex; flex-direction: column; overflow: auto;
  background: var(--canvas-soft, #f2f4f0); color: var(--ink, #173e37);
  padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}
body.book-focus .book-workspace { flex: 1; min-height: 260px; grid-template-columns: minmax(0, 1fr); }
body.book-focus:not(.book-focus-chapters) #chapter-rail, body.book-focus #chapter-sidebar-toggle, body.book-focus #chapter-menu,
body.book-focus:not(.book-focus-web) #book-web { display: none !important; }
body.book-focus .book-editor-area { min-width: 0; min-height: 0; grid-template-rows: auto auto minmax(0,1fr) auto; padding: 10px clamp(12px, 3vw, 48px); }
body.book-focus .book-page-figure { grid-row: 2; }
body.book-focus .book-page-spread { grid-row: 3; min-height: 0; }
body.book-focus .book-editor-area > footer { grid-row: 4; }
body.book-focus #book-save-status { flex: 0 0 auto; padding: 4px 16px; }
body.book-focus .book-content-label textarea { min-height: 100px; }
#book-fullscreen { font-weight: 750; }
#book-fullscreen[aria-pressed="true"] { background: #215d4e; color: #fff; }
body.book-focus-web .book-workspace { flex: 0 0 auto; }
body.book-focus-web .book-editor-area { grid-template-rows: auto auto auto minmax(300px, 1fr) auto; }
body.book-focus-web #book-web { display: block; grid-row: 2; }
body.book-focus-web .book-page-figure { grid-row: 3; }
body.book-focus-web .book-page-spread { grid-row: 4; }
body.book-focus-web .book-editor-area > footer { grid-row: 5; }
body.book-focus-web .book-editor-controls { position: sticky; top: 0; z-index: 2; background: var(--canvas-soft, #f2f4f0); }
body.book-focus.book-focus-chapters .book-workspace { grid-template-columns: 240px minmax(0, 1fr); }
body.book-focus.book-focus-chapters #chapter-rail { display: flex; position: static; transform: none; width: auto; min-width: 0; max-height: calc(100dvh - 40px); overflow: auto; box-shadow: none; }
@media (max-width: 720px) {
  body.book-focus.book-focus-chapters .book-workspace { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(260px, 1fr); flex: 0 0 auto; }
  body.book-focus.book-focus-chapters #chapter-rail { max-height: 210px; border-right: 0; border-bottom: 1px solid var(--line); }
}
