/* ===== css/aquarium-screensaver-v1203.css ===== */
/* v.1203 — manual Aquarium screensaver. */
#aquariumScreensaverToggle {
  position: fixed !important;
  left: max(68px, calc(env(safe-area-inset-left) + 68px)) !important;
  top: max(14px, env(safe-area-inset-top)) !important;
  z-index: 2147483001 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.35) !important;
  border-radius: 50% !important;
  background: #0d5c63 !important;
  color: #fff !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.28) !important;
  cursor: pointer !important;
  font: 400 21px/1 Arial,sans-serif !important;
}
#aquariumScreensaverToggle:focus-visible {
  outline: 3px solid rgba(143,208,212,.75) !important;
  outline-offset: 3px !important;
}
#aquariumScreensaverToggle .aquarium-monitor {
  width: 22px; height: 15px; box-sizing: border-box;
  border: 2px solid currentColor; border-radius: 2px; position: relative;
}
#aquariumScreensaverToggle .aquarium-monitor::before {
  content:""; position:absolute; left:8px; top:14px; width:2px; height:4px;
  background:currentColor;
}
#aquariumScreensaverToggle .aquarium-monitor::after {
  content:""; position:absolute; left:4px; top:18px; width:10px; height:2px;
  background:currentColor; border-radius:2px;
}

#aquariumScreensaverOverlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482500 !important;
  display: none;
  overflow: hidden;
  background: transparent !important;
  color: #fff;
  pointer-events: none;
}
html.aquarium-screensaver-active #aquariumScreensaverOverlay {
  display: block !important;
}
html.aquarium-screensaver-active .site-river-background-v640 {
  z-index: 2147482400 !important;
}
html.aquarium-screensaver-active body > *:not(.site-river-background-v640):not(#aquariumScreensaverOverlay):not(#aquariumScreensaverToggle) {
  visibility: hidden !important;
}
html.aquarium-screensaver-active #aquariumScreensaverToggle {
  visibility: visible !important;
  opacity: .20 !important;
  left: auto !important;
  right: max(16px, env(safe-area-inset-right)) !important;
  top: max(16px, env(safe-area-inset-top)) !important;
}
html.aquarium-screensaver-active #aquariumScreensaverToggle:hover,
html.aquarium-screensaver-active #aquariumScreensaverToggle:focus-visible {
  opacity: 1 !important;
}
html.aquarium-screensaver-active,
html.aquarium-screensaver-active body {
  overflow: hidden !important;
}

.aquarium-screensaver__clock {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%,-50%);
  text-align: center;
  text-shadow: 0 3px 18px rgba(0,0,0,.62);
  font-family: Arial,sans-serif;
  user-select: none;
}
.aquarium-screensaver__time {
  font-size: clamp(54px,9vw,128px);
  font-weight: 300;
  line-height: .95;
  letter-spacing: .02em;
}
.aquarium-screensaver__date {
  margin-top: 18px;
  font-size: clamp(17px,2.2vw,28px);
  font-weight: 500;
}
.aquarium-screensaver__hint {
  position: absolute;
  left: 50%; bottom: max(22px,env(safe-area-inset-bottom));
  transform: translateX(-50%);
  padding: 8px 14px;
  border-radius: 18px;
  background: rgba(4,48,53,.42);
  border: 1px solid rgba(255,255,255,.25);
  font: 600 13px/1.2 Arial,sans-serif;
  opacity: .72;
  white-space: nowrap;
}

@media (max-width:600px) {
  #aquariumScreensaverToggle {
    left: max(60px,calc(env(safe-area-inset-left) + 60px)) !important;
    top: max(10px,env(safe-area-inset-top)) !important;
    width:42px !important; height:42px !important;
    min-width:42px !important; min-height:42px !important;
  }
}
@media print {
  #aquariumScreensaverToggle,#aquariumScreensaverOverlay { display:none !important; }
}


/* v.1204 — final visibility guard: the Aquarium control must survive all
   legacy mobile/floating-control hide rules and remain next to themeToggle. */
html body #aquariumScreensaverToggle.aquarium-screensaver-toggle,
html body button#aquariumScreensaverToggle {
  position: fixed !important;
  left: max(68px, calc(env(safe-area-inset-left) + 68px)) !important;
  right: auto !important;
  top: max(14px, env(safe-area-inset-top)) !important;
  bottom: auto !important;
  z-index: 2147483646 !important;
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
@media (max-width:600px) {
  html body #aquariumScreensaverToggle.aquarium-screensaver-toggle,
  html body button#aquariumScreensaverToggle {
    left: max(60px, calc(env(safe-area-inset-left) + 60px)) !important;
    top: max(10px, env(safe-area-inset-top)) !important;
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}
html.aquarium-screensaver-active body #aquariumScreensaverToggle.aquarium-screensaver-toggle {
  left: auto !important;
  right: max(16px, env(safe-area-inset-right)) !important;
  visibility: visible !important;
}


/* v.1205 — control row: theme -> dimming (when visible) -> Aquarium.
   Position is calculated by JS to avoid overlap with riverDimmingButton. */
html body #aquariumScreensaverToggle.aquarium-screensaver-toggle {
  left: auto !important;
  right: auto !important;
}

/* v.1209 idle timer indicator. Right-click Aquarium: Off -> 2 -> 5 -> 10 -> Off. */
#aquariumScreensaverToggle .aquarium-timer-badge{position:absolute;right:-4px;bottom:-4px;min-width:17px;height:17px;padding:0 3px;box-sizing:border-box;border-radius:9px;background:#fff;color:#0d5c63;border:1px solid rgba(13,92,99,.55);font:700 9px/15px Arial,sans-serif;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.25)}
#aquariumScreensaverToggle[data-idle-minutes="0"] .aquarium-timer-badge::after{content:"×"}
#aquariumScreensaverToggle[data-idle-minutes="2"] .aquarium-timer-badge::after{content:"2"}
#aquariumScreensaverToggle[data-idle-minutes="5"] .aquarium-timer-badge::after{content:"5"}
#aquariumScreensaverToggle[data-idle-minutes="10"] .aquarium-timer-badge::after{content:"10"}
#aquariumTimerToast{position:fixed;z-index:2147483647;left:50%;top:24px;transform:translate(-50%,-10px);opacity:0;padding:10px 16px;border-radius:22px;background:rgba(5,65,71,.92);color:#fff;border:1px solid rgba(255,255,255,.28);box-shadow:0 8px 24px rgba(0,0,0,.28);font:600 14px/1.2 Arial,sans-serif;pointer-events:none;transition:opacity 180ms ease,transform 180ms ease}
#aquariumTimerToast.show{opacity:1;transform:translate(-50%,0)}


/* ===== css/page-transition-v1208.css ===== */
/* v.1359 — compositor-safe native navigation, no black intermediate frame. */

/*
 * Every root HTML page already loads this stylesheet.
 * Modern browsers can therefore keep the old document snapshot visible until
 * the new same-origin document has painted, without JS click interception.
 */
@view-transition {
  navigation: auto;
}

/* Do not animate/fade the snapshots — just bridge the document swap. */
::view-transition-old(root),
::view-transition-new(root) {
  animation: none !important;
  mix-blend-mode: normal !important;
}

/*
 * Permanent non-black compositor backdrop.
 * This is also the fallback for browsers without cross-document View Transition.
 */
html {
  background-color: #314b48 !important;
}

html[data-river-theme="dark"] {
  background-color: #182523 !important;
}

body {
  min-height: 100vh;
}

/* Legacy transition classes must never hide or dim the document. */
:root{
  --grafo-page-out: 0ms;
  --grafo-page-in: 0ms;
}

html.grafo-page-entering body,
html.grafo-page-ready body,
html.grafo-page-leaving body{
  opacity:1 !important;
  transition:none !important;
}

html.grafo-page-leaving body{
  pointer-events:auto !important;
}

html.grafo-page-entering .site-river-background-v640,
html.grafo-page-ready .site-river-background-v640,
html.grafo-page-leaving .site-river-background-v640{
  opacity:1 !important;
}


/* ===== css/header-style-quick-menu-v1210c.css ===== */
/* v.1210c — static HTML quick menu based on native <details>. */
#headerQuickMenuDetails{
  position:fixed!important;
  z-index:10053!important;
  left:var(--floating-edge,14px)!important;
  bottom:var(--floating-bottom,18px)!important;
  width:var(--floating-control-width,112px)!important;
  height:var(--floating-control-height,44px)!important;
  margin:0!important;
  padding:0!important;
  pointer-events:auto!important;
}
#headerQuickMenuDetails > summary{
  box-sizing:border-box!important;
  width:var(--floating-control-width,112px)!important;
  height:var(--floating-control-height,44px)!important;
  min-width:var(--floating-control-width,112px)!important;
  min-height:var(--floating-control-height,44px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:0 13px!important;
  border:2px solid rgba(255,255,255,.92)!important;
  border-radius:999px!important;
  background:var(--floating-dark-green,#0e5f5f)!important;
  color:#fff!important;
  box-shadow:0 4px 16px rgba(0,0,0,.27)!important;
  font:700 15px/1 Arial,sans-serif!important;
  cursor:pointer!important;
  list-style:none!important;
  user-select:none!important;
}
#headerQuickMenuDetails > summary::-webkit-details-marker{display:none!important}
#headerQuickMenuDetails > summary::before{
  content:"☰";
  font:700 19px/1 Arial,sans-serif;
}
#headerQuickMenuDetails[open] > summary{
  background:#0a4f52!important;
}
.header-quick-static-panel{
  position:absolute;
  left:0;
  bottom:calc(100% + 8px);
  width:min(330px,calc(100vw - 28px));
  max-height:min(70vh,620px);
  box-sizing:border-box;
  padding:10px;
  overflow:auto;
  border:2px solid rgba(255,255,255,.92);
  border-radius:16px;
  background:rgba(10,80,82,.97);
  color:#fff;
  box-shadow:0 14px 38px rgba(0,0,0,.34);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.header-quick-static-title{
  padding:5px 7px 9px;
  color:#fff;
  font:800 15px/1.15 Arial,sans-serif;
}
.header-quick-static-links{
  display:grid;
  gap:5px;
}
.header-quick-static-link{
  display:flex;
  align-items:center;
  min-height:38px;
  padding:8px 11px;
  box-sizing:border-box;
  border-radius:9px;
  color:#fff!important;
  text-decoration:none!important;
  font:700 13px/1.2 Arial,sans-serif;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
}
.header-quick-static-link:hover,
.header-quick-static-link:focus-visible{
  background:rgba(255,255,255,.17);
  border-color:rgba(255,255,255,.28);
}
.header-quick-static-link[aria-current="page"]{
  background:#07943f;
  border-color:rgba(255,255,255,.55);
}
.header-quick-static-separator{
  height:1px;
  margin:5px 3px;
  background:rgba(255,255,255,.18);
}
.header-quick-static-activity{
  background:rgba(255,255,255,.14);
}
@media(max-width:640px){
  #headerQuickMenuDetails{
    left:var(--floating-edge,10px)!important;
    width:var(--floating-control-width,106px)!important;
  }
  #headerQuickMenuDetails > summary{
    width:var(--floating-control-width,106px)!important;
    min-width:var(--floating-control-width,106px)!important;
  }
  .header-quick-static-panel{
    width:min(310px,calc(100vw - 20px));
  }
}
@media print{
  #headerQuickMenuDetails{display:none!important}
}


/* ===== css/remove-password-buttons-v1215.css ===== */
/* v.1215 — no Password/Access Lock button in any Viewer button row. */
#viewer2026Overlay [data-action="access-lock"],
#viewer2026Overlay .viewer122-access-lock,
.doc2026 [data-action="access-lock"],
.doc2026 .viewer122-access-lock,
.viewer4 [data-password-button],
.viewer4 [data-action="password"],
.viewer4 button[name="password"],
.viewer4 button[id*="password" i],
.viewer4 button[class*="password" i] {
  display:none !important;
  visibility:hidden !important;
  width:0 !important;
  min-width:0 !important;
  max-width:0 !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

