/* Same-origin document snapshots overlap; no black departure screen or delay. */
@view-transition{navigation:auto}
::view-transition-group(root){animation-duration:1s}
::view-transition-image-pair(root){isolation:isolate}
::view-transition-old(root){animation:none;opacity:1;mix-blend-mode:normal}
::view-transition-new(root){animation:kph-crossfade-in 1s ease-in-out both;mix-blend-mode:normal}
@keyframes kph-crossfade-in{from{opacity:0}to{opacity:1}}
/* Browsers without cross-document transitions retain a simple arrival fade. */
html.kph-history-arrival body{animation:kph-arrival-fallback 1s ease-in-out both}
@keyframes kph-arrival-fallback{from{opacity:.15}to{opacity:1}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation:none!important}html.kph-history-arrival body{animation:none}}

/* Immediate acknowledgement, including theme Home links with image or SVG icons. */
a.kph-accepted,.kph-screen a.kph-accepted{color:#efc34c!important;text-shadow:0 0 10px #efc34caa!important}
.kph-screen .kph-destination.kph-accepted{color:#fff!important;text-shadow:0 0 12px #efc34c,0 2px 8px #000c!important}
.kph-screen .kph-destination.kph-accepted:after{width:1.9em;transition:none}
a.kph-accepted img{filter:sepia(1) saturate(3) hue-rotate(355deg) drop-shadow(0 0 5px #efc34c)!important}
a.kph-accepted svg{color:#efc34c!important;filter:drop-shadow(0 0 5px #efc34c)}
.kph-screen .kph-destination:active:after{width:1.9em;transition:none}
.kph-screen .kph-destination:active{text-shadow:0 0 12px #efc34c,0 2px 8px #000c!important}

/* Theme focus backgrounds must not obscure Home icons when using a trackpad. */
a.kph-home-link,a.kph-home-link:hover,a.kph-home-link:focus,a.kph-home-link:active{background:transparent!important;background-image:none!important;box-shadow:none!important;outline:none!important;-webkit-tap-highlight-color:transparent!important}
html.kph-keyboard a.kph-home-link:focus{outline:2px solid #efc34c!important;outline-offset:4px}

/* Suppress iOS's held-link preview and selection highlight on navigation controls. */
.kph-destination,.kph-return,a.kph-home-link,.kph-destination *, .kph-return *,a.kph-home-link *{-webkit-touch-callout:none!important;-webkit-user-select:none!important;user-select:none!important;-webkit-tap-highlight-color:transparent!important}

/* Ordinary archive/gallery pages share the viewport but keep navigation within the safe area. */
@media(any-pointer:coarse){
 body.kph-viewport-cover:not(.kph-standalone) #page{
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-right:env(safe-area-inset-right,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  padding-left:env(safe-area-inset-left,0px);
 }
}

/* Mobile portrait prompt: landscape content stays in place underneath. */
#kph-rotate-prompt[hidden]{display:none!important}
#kph-rotate-prompt{position:fixed;inset:0;z-index:2147483646;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;padding:32px;background:#181a1d;color:#fff;font:22px/1.5 Helvetica,Arial,sans-serif;text-align:center;box-sizing:border-box}
#kph-rotate-prompt svg{width:72px;height:72px;fill:none;stroke:#efc34c;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
html.kph-rotate-required{overflow:hidden!important}
html.kph-rotate-required body{overflow:hidden!important}
.kph-diagnostics{position:fixed!important;left:8px!important;top:max(8px,env(safe-area-inset-top))!important;z-index:2147483647!important;display:block!important;pointer-events:none!important;margin:0!important;padding:8px!important;background:#000d!important;color:#fff!important;font:11px/1.35 monospace!important;text-align:left!important;border:1px solid #efc34c!important;white-space:pre!important}
.kph-viewport-probe{position:absolute!important;display:block!important;visibility:hidden!important;pointer-events:none!important;width:0!important;height:100dvh!important;box-sizing:border-box!important;padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}

#kph-rotate-prompt .kph-rotate-brand{margin-bottom:24px;flex-shrink:0}
#kph-rotate-prompt .kph-logo{display:block;width:min(36.8vw,192px);height:auto;max-height:17.6vh;object-fit:contain;border-radius:2%}
#kph-rotate-prompt .kph-logo-text{font-size:38.4px;color:#efc34c;line-height:1.1}
.kph-orientation-help{position:absolute;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:99999;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0!important;margin:0;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#fff;opacity:.75;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.kph-orientation-help svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.kph-orientation-message[hidden]{display:none!important}
.kph-orientation-message{position:absolute;z-index:100000;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 56px);left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:12px 16px;border-radius:6px;background:#181a1de6;color:#fff;font:16px/1.4 Helvetica,Arial,sans-serif;text-align:center;pointer-events:none;box-sizing:border-box}

.envirabox-container .kph-orientation-help{position:absolute!important;right:auto!important;bottom:auto!important;flex-shrink:0;color:#fff!important;opacity:.5!important;-webkit-appearance:none;appearance:none}
.envirabox-container .kph-orientation-help svg{width:32px!important;height:32px!important;color:#fff!important;stroke:#fff!important;opacity:1!important}
