/* Poltekpel Sulut UI Refinement V4.5 — isolated, reversible enhancements */
:root {
  --psu45-navy: #073650;
  --psu45-teal: #067c87;
  --psu45-ink: #17374c;
  --psu45-paper: #ffffff;
}
#psu45-mobile-dock { display: none; }
body.psu45-ready { overflow-x: clip; }
body.psu45-ready a:focus-visible,
body.psu45-ready button:focus-visible { outline: 3px solid #f1b945; outline-offset: 3px; }
body.psu45-ready img.psu45-polished-logo {
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}
body.psu45-ready img.psu45-wordmark {
  max-width: min(100%, 300px) !important;
  height: auto !important;
}
body.psu45-ready .psu45-collapsed { display: none !important; }
#psu45-compact-panel {
  display: flex; align-items: center; justify-content: center; gap: 14px;
  flex-wrap: wrap; padding: 18px; margin: 20px auto 34px; max-width: 940px;
  background: rgba(246,250,252,.96); border: 1px solid #d9e7eb;
  border-radius: 16px; color: var(--psu45-ink); font-size: 14px; line-height: 1.5;
}
#psu45-compact-panel button {
  appearance: none; border: 1px solid #b5d0d7; background: white; color: var(--psu45-navy);
  border-radius: 999px; padding: 9px 15px; cursor: pointer; font: inherit; font-weight: 700;
}
#psu45-compact-panel button:hover { background: #e8f7f7; }
#psu45-progress {
  position: fixed; top: 0; left: 0; height: 3px; width: 0; z-index: 99990;
  background: linear-gradient(90deg, var(--psu45-teal), #f6b64d);
  pointer-events: none; transition: width .12s linear;
}
#psu45-top {
  position: fixed; right: 19px; bottom: 22px; z-index: 9500;
  width: 44px; height: 44px; display: grid; place-items: center;
  border-radius: 999px; border: 1px solid #c4e1e7; background: var(--psu45-navy);
  color: #fff; box-shadow: 0 8px 24px #07365032; cursor: pointer;
  opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(10px);
  transition: opacity .2s, visibility .2s, transform .2s;
}
#psu45-top.psu45-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
#psu45-top:hover { background: #075b78; }
body.psu45-ready .psu45-reveal {
  opacity: 0.05; translate: 0 11px;
  transition: opacity .54s ease, translate .54s ease;
}
body.psu45-ready .psu45-reveal.psu45-revealed { opacity: 1; translate: 0 0; }
@media (max-width: 767px) {
  body.psu45-ready.psu45-with-dock { padding-bottom: calc(79px + env(safe-area-inset-bottom, 0px)) !important; }
  #psu45-mobile-dock {
    position: fixed; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); align-items: center;
    bottom: 0; left: 0; right: 0; z-index: 9550; gap: 2px;
    background: rgba(255,255,255,.97); border-top: 1px solid #dce8ed;
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom,0px));
    box-shadow: 0 -7px 25px #07365018;
    backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px);
  }
  #psu45-mobile-dock .psu45-dock-link {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 4px; min-width: 0; min-height: 51px; border-radius: 12px; text-decoration: none;
    font: 700 10px/1.2 system-ui,-apple-system,'Segoe UI',sans-serif;
    color: #426275; padding: 5px 2px;
  }
  #psu45-mobile-dock .psu45-dock-link svg { flex: none; }
  #psu45-mobile-dock .psu45-dock-link.is-current {
    background: #e7f5f6; color: var(--psu45-teal);
  }
  #psu45-mobile-dock .psu45-dock-link:hover { background: #edf5f7; }
  #psu45-top { bottom: calc(93px + env(safe-area-inset-bottom,0px)); right: 14px; }
  body.psu45-ready main h1, body.psu45-ready main h2, body.psu45-ready main h3 {
    overflow-wrap: break-word;
  }
  body.psu45-ready img.psu45-wordmark { max-width: min(100%, 210px) !important; }
  #psu45-compact-panel { margin: 14px 14px 25px; text-align: center; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior: auto !important; }
  body.psu45-ready .psu45-reveal { opacity: 1 !important; translate: none !important; transition: none !important; }
  #psu45-top, #psu45-progress { transition: none !important; }
}
