/* Shared by the public, administration and local-alignment entry points. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
button { -webkit-appearance: none; appearance: none; }
/* Safe areas are zero on rectangular screens; retain the existing gutters. */
.container,
.archive-page .container,
.archive-page .site-header .header-inner {
  padding-left: max(20px, env(safe-area-inset-left));
  padding-right: max(20px, env(safe-area-inset-right));
}
.theme-toggle, .toast-region {
  right: max(22px, env(safe-area-inset-right));
  bottom: max(22px, env(safe-area-inset-bottom));
}
.toast-region { max-width: calc(100% - 44px - env(safe-area-inset-left) - env(safe-area-inset-right)); }
.toast { max-width: 100%; overflow-wrap: anywhere; }
.notice-mask, .calendar-mask, .access-recovery, .fullscreen-loading {
  box-sizing: border-box;
  top: var(--iris-viewport-top, 0px);
  bottom: auto;
  height: 100vh;
  height: var(--iris-viewport-height, 100dvh);
  padding-top: max(16px, env(safe-area-inset-top));
  padding-bottom: max(16px, env(safe-area-inset-bottom));
  padding-left: max(16px, env(safe-area-inset-left));
  padding-right: max(16px, env(safe-area-inset-right));
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.notice-mask > section, .access-recovery-card {
  min-height: 0;
  max-height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.calendar-mask .date-lens { max-height: 100%; }
.notice-mask { -webkit-backdrop-filter: blur(7px); }
.theme-toggle { -webkit-backdrop-filter: blur(14px); }
.gate-card { -webkit-backdrop-filter: blur(22px); }
/* Web fullscreen retains the page's controls/danmaku on iPhone. */
.art-video-player.art-fullscreen-web {
  top: var(--iris-viewport-top, 0px) !important;
  height: 100vh !important;
  height: var(--iris-viewport-height, 100dvh) !important;
}
.art-fullscreen-web .art-bottom, .art-fullscreen .art-bottom {
  padding-left: max(10px, env(safe-area-inset-left));
  padding-right: max(10px, env(safe-area-inset-right));
  padding-bottom: env(safe-area-inset-bottom);
}
.admin-page input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),
.admin-page textarea, .pagination-jump input {
  -webkit-appearance: none;
  appearance: none;
}
.admin-page .streamer-dialog {
  position: fixed;
  top: calc(var(--iris-viewport-top, 0px) + 16px);
  bottom: calc(100% - var(--iris-viewport-top, 0px) - var(--iris-viewport-height, 100vh) + 16px);
  margin-top: auto;
  margin-bottom: auto;
  max-height: calc(100vh - 32px);
  max-height: calc(var(--iris-viewport-height, 100dvh) - 32px);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.admin-page .streamer-dialog::backdrop { -webkit-backdrop-filter: blur(5px); }
.admin-page .admin-sidebar { height: 100vh; height: 100dvh; }
.admin-page .admin-menu-backdrop { -webkit-backdrop-filter: blur(2px); }
.alignment-workspace { padding-left: max(28px, env(safe-area-inset-left)); padding-right: max(28px, env(safe-area-inset-right)); }
@media (max-width: 860px) {
  .admin-page .admin-sidebar { height: var(--iris-viewport-height, 100dvh); }
}
/* Includes iPad split view and touch-oriented laptops; no forced zoom limit. */
@media (max-width: 1024px), (pointer: coarse) {
  .admin-page input:not([type=checkbox]):not([type=radio]):not([type=range]),
  .admin-page select, .admin-page textarea,
  .pagination-jump input, .fleet-dialog input,
  .local-playback-panel input, .alignment-saved select,
  .archive-page .header-search input, .comment-form input, .comment-form textarea { font-size: 16px; }
}
@media (max-width: 650px) {
  .container, .archive-page .container, .archive-page .site-header .header-inner {
    padding-left: max(14px, env(safe-area-inset-left));
    padding-right: max(14px, env(safe-area-inset-right));
  }
  .theme-toggle, .toast-region { right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); }
  .alignment-workspace { padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); }
}
