/* Shared appearance for the optional clean theme. Old themes keep component fallbacks. */
[data-lm-theme="clean"] {
  --lm-app-page: var(--lm-ui-page);
  --lm-app-surface: var(--lm-ui-surface);
  --lm-app-input: var(--lm-ui-input);
  --lm-app-border: var(--lm-ui-border);
  --lm-app-text: var(--lm-ui-text);
  --lm-app-muted: var(--lm-ui-muted);
  --lm-app-faint: var(--lm-ui-faint);
  --lm-app-selected: #ededee;
  --lm-app-selected-text: var(--lm-ui-text);
  --lm-app-inverse-text: #fff;
  --lm-ui-icon-color: var(--lm-ui-text);
  --lm-app-mark: var(--lm-ui-icon-color);
  --lm-app-mark-text: var(--lm-ui-toggle-knob);
  --lm-app-toggle-on: var(--lm-ui-toggle-on);
  --lm-app-focus: var(--lm-ui-focus);
  --lm-app-radio-ring-small: inset 0 0 0 3px var(--lm-app-mark-text);
  --lm-app-radio-ring: inset 0 0 0 4px var(--lm-app-mark-text);
  --lm-app-danger: var(--lm-ui-danger);
  --lm-app-shadow: none;
  --lm-app-backdrop: none;
  --lm-app-blur: 0px;
  --lm-app-font-small: var(--lm-ui-font-small);
  --lm-app-font-control: var(--lm-ui-font-control);
  --lm-app-font-body: var(--lm-ui-font-body);
  --lm-app-font-section: var(--lm-ui-font-section);
  --lm-app-font-title: var(--lm-ui-font-title);
  --lm-app-radius-small: var(--lm-ui-radius-small);
  --lm-app-radius-control: var(--lm-ui-radius-control);
  --lm-app-radius-group: var(--lm-ui-radius-group);
  --lm-app-radius-dialog: var(--lm-ui-radius-dialog);
  --lm-app-space-1: var(--lm-ui-space-1);
  --lm-app-space-2: var(--lm-ui-space-2);
  --lm-app-space-3: var(--lm-ui-space-3);
  --lm-app-space-4: var(--lm-ui-space-4);
  --lm-app-space-5: var(--lm-ui-space-5);
  --lm-app-space-6: var(--lm-ui-space-6);
}
/* Keep each surface's original sheet/dialog placement and animation. */
html .lm-music-sheet>.lm-sheet,
html .lm-shop-sheet>.lm-sheet,
html .lm-forum-sheet>.lm-sheet,
html .lm-album-sheet-ov>.lm-album-sheet,
html .lm-book-overlay>.lm-book-sheet,
html .lm-book-overlay>.lm-book-dialog,
html .lm-book-reader-settings>div,
html .lm-ta-choice-sheet>div,
html .lm-ta-modal>.lm-ta-modal-card,
html .lm-ta-reader-settings>div,
html .lm-dm-lt-ov>.lm-dm-lt-sheet,
html .life-choice-mask>.life-choice-sheet {
  max-height: calc(var(--lm-app-height,100vh) - var(--lm-safe-top,0px) - var(--lm-ui-space-4));
  min-height: 0;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
html .lm-music-sheet .lm-sheet-b,
html .lm-shop-sheet .lm-sheet-b,
html .lm-forum-sheet .lm-sheet-b,
html .lm-album-sheet-ov .lm-album-sheet-b,
html .lm-book-overlay .lm-book-note-list {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
[data-lm-theme="clean"] .lm-music-sheet,
[data-lm-theme="clean"] .lm-shop-sheet,
[data-lm-theme="clean"] .lm-forum-sheet,
[data-lm-theme="clean"] .lm-album-sheet-ov,
[data-lm-theme="clean"] .lm-book-overlay,
[data-lm-theme="clean"] .lm-ta-modal,
[data-lm-theme="clean"] .lm-ta-choice-sheet,
[data-lm-theme="clean"] .lm-dm-lt-ov,
[data-lm-theme="clean"] .life-choice-mask { background: var(--lm-ui-overlay); }
[data-lm-theme="clean"] .lm-music-title,
[data-lm-theme="clean"] .lm-section-title,
[data-lm-theme="clean"] .lm-shop-head-title,
[data-lm-theme="clean"] .lm-book-title,
[data-lm-theme="clean"] .lm-ta-title {
  font-size: var(--lm-ui-font-title);
  line-height: var(--lm-ui-line);
  letter-spacing: var(--lm-ui-letter-spacing);
}
[data-lm-theme="clean"] .lm-book-group,
[data-lm-theme="clean"] .lm-ta-panel,
[data-lm-theme="clean"] .lm-shop-head,
[data-lm-theme="clean"] .lm-forum-top { box-shadow: var(--lm-ui-group-shadow); }
[data-lm-theme="clean"] .lm-album-actions button,
[data-lm-theme="clean"] .lm-book-dialog-actions button,
[data-lm-theme="clean"] .lm-book-sheet>button,
[data-lm-theme="clean"] .lm-ta-modal .lm-ta-btn,
[data-lm-theme="clean"] .lm-music-sheet .lm-btn,
[data-lm-theme="clean"] .lm-forum-sheet .lm-btn {
  min-height: var(--lm-ui-control-height);
  border-radius: var(--lm-ui-radius-control);
}
[data-lm-theme="clean"] .lm-sheet-h,
[data-lm-theme="clean"] .lm-album-sheet-h,
[data-lm-theme="clean"] .lm-book-dialog-title,
[data-lm-theme="clean"] .lm-ta-modal-title {
  color: var(--lm-ui-text);
  font-size: var(--lm-ui-font-section);
  font-weight: var(--lm-ui-weight-strong);
  overflow-wrap: break-word;
}

/* The forum's action menu was a top-right popup; retain its existing close handler. */
html .lm-dm-menu-pop {
  top: calc(56px + var(--lm-safe-top,0px));
  right: max(8px,var(--lm-safe-right,0px));
  max-width: calc(100% - var(--lm-ui-space-4)*2);
  max-height: calc(var(--lm-app-height,100vh) - 64px - var(--lm-safe-top,0px) - var(--lm-safe-bottom,0px));
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}
[data-lm-theme="clean"] .lm-dm-menu-pop:before { border-bottom-color: var(--lm-ui-surface); }
[data-lm-theme="clean"] .lm-dm-menu-pop {
  --lm-app-inverse-text: var(--lm-ui-text);
  color: var(--lm-ui-text);
  background: var(--lm-ui-surface);
  box-shadow: var(--lm-ui-dialog-shadow);
  border: var(--lm-ui-border-width) solid var(--lm-ui-border);
}
[data-lm-theme="clean"] .lm-dm-menu-pop button { min-height: var(--lm-ui-control-height); }

/* Selection marks need their own contrast, separate from a pale selected row. */
[data-lm-theme="clean"] .fav-sel.checked,
[data-lm-theme="clean"] .diary-sel.on,
[data-lm-theme="clean"] .vis-role.on .vis-check {
  background: var(--lm-app-mark);
  border-color: var(--lm-app-mark);
}
[data-lm-theme="clean"] .fav-sel.checked::after { color: var(--lm-app-mark-text); }
[data-lm-theme="clean"] .diary-sel.on:after,
[data-lm-theme="clean"] .vis-role.on .vis-check:after { border-color: var(--lm-app-mark-text); }
[data-lm-theme="clean"] .vis-opt.on .vis-radio { border-color: var(--lm-app-mark); }
[data-lm-theme="clean"] .vis-opt.on .vis-radio:after { background: var(--lm-app-mark); }
[data-lm-theme="clean"] .ta-phone-theme-switch input:checked+i,
[data-lm-theme="clean"] .pwl-switch input:checked+.pwl-slider,
[data-lm-theme="clean"] .rel-sw input:checked+.rel-slider { background: var(--lm-app-toggle-on); }
