/* ═══════════ PRISM 공통 상단 네비게이션 (전 페이지 통일) ═══════════ */

/* 앵커/스냅 착지가 고정 헤더에 가리지 않게 */
html{ scroll-padding-top:66px; }
[id]{ scroll-margin-top:66px; }

/* 페이지별 기존 상단 요소는 공통 헤더로 일원화 → 숨김 */
.bar, .back{ display:none !important; }

.pwnav{ position:fixed; inset:0 0 auto 0; z-index:1000;
  border-bottom:1px solid rgba(255,255,255,.09);
  transition:border-color .3s;
  font-family:'Pretendard','Noto Sans KR','Apple SD Gothic Neo',system-ui,sans-serif; }
/* 블러는 가상요소로 — .pwnav 자체에 filter를 두면 모바일 고정 메뉴의 기준 박스가 헤더로 잡혀 깨진다 */
.pwnav::before{ content:""; position:absolute; inset:0; z-index:-1;
  background:rgba(10,22,40,.82);
  -webkit-backdrop-filter:blur(22px) saturate(180%); backdrop-filter:blur(22px) saturate(180%);
  transition:background .3s; }
.pwnav.scrolled::before{ background:rgba(10,22,40,.9); }
.pwnav.scrolled{ border-bottom-color:rgba(255,255,255,.13); }
.pwnav *{ box-sizing:border-box; }
.pwnav-in{ max-width:1180px; margin:0 auto; height:58px; display:flex; align-items:center; padding:0 22px; }
.pwnav-logo{ font-weight:900; font-size:19px; letter-spacing:-.02em; color:#F5F8FB; text-decoration:none; margin-right:22px; display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.pwnav-logo svg{ width:19px; height:17px; display:block; }

.pwnav-menu{ display:flex; align-items:center; gap:2px; flex:1; }
.pwnav-item{ position:relative; }
.pwnav-top{ display:flex; align-items:center; gap:6px; padding:9px 14px; color:#cdd9e8; font-weight:700; font-size:15px; text-decoration:none; border-radius:10px; transition:color .2s, background .2s; cursor:pointer; white-space:nowrap; }
.pwnav-item:hover .pwnav-top, .pwnav-item.active .pwnav-top{ color:#00D4AA; background:rgba(255,255,255,.045); }
.pwnav-caret{ width:6px; height:6px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-1px); transition:transform .25s; opacity:.55; }


.pwnav-panel{ position:absolute; top:calc(100% + 7px); left:0; min-width:220px;
  background:rgba(13,26,46,.82);
  -webkit-backdrop-filter:blur(24px) saturate(180%); backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(255,255,255,.13); border-radius:15px; padding:8px;
  box-shadow:0 22px 54px rgba(0,0,0,.5);
  opacity:0; visibility:hidden; transform:translateY(-10px) scale(.98); transform-origin:top left;
  transition:opacity .24s ease, transform .24s ease, visibility .24s; }
/* ⭐ 드롭다운은 '진짜 호버'가 가능한 기기에서만 연다.
   아이패드 등 터치기기에서는 탭 시 iOS가 호버를 합성해 패널이 손가락 밑에 열리고,
   그 탭이 하위 링크에 떨어져 엉뚱한 하위 페이지로 이동하는 문제가 있었다.
   터치기기에서는 패널을 열지 않으므로 상위 항목 탭이 그대로 해당 페이지 최상단으로 간다. */
@media (hover:hover) and (pointer:fine){
  .pwnav-item:hover .pwnav-panel{ opacity:1; visibility:visible; transform:translateY(0) scale(1); }
  .pwnav-item:hover .pwnav-caret{ transform:rotate(-135deg) translateY(2px); }
}
/* 호버가 없는 기기에선 드롭다운이 없으므로 caret(▾)도 표시하지 않는다 */
@media (hover:none){ .pwnav-top .pwnav-caret{ display:none; } }
.pwnav-panel a{ display:block; padding:9px 13px; color:#bccadb; font-size:14.5px; font-weight:600; text-decoration:none; border-radius:10px; transition:background .16s, color .16s; }
.pwnav-panel a:hover{ background:rgba(0,212,170,.14); color:#00D4AA; }

.pwnav-burger{ display:none; flex-direction:column; gap:5px; width:40px; height:40px; align-items:center; justify-content:center; background:none; border:0; cursor:pointer; margin-left:auto; }
.pwnav-burger span{ width:22px; height:2px; background:#F5F8FB; border-radius:2px; transition:transform .3s, opacity .3s; }
.pwnav-burger.x span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.pwnav-burger.x span:nth-child(2){ opacity:0; }
.pwnav-burger.x span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media (max-width:860px){
  .pwnav-burger{ display:flex; }
  .pwnav-menu{ position:fixed; top:58px; right:0; bottom:0; width:min(330px,84vw);
    flex-direction:column; align-items:stretch; gap:2px;
    background:#0c1a2e;
    border-left:1px solid rgba(255,255,255,.13); padding:14px; overflow-y:auto;
    transform:translateX(100%); transition:transform .32s cubic-bezier(.4,0,.2,1); }
  .pwnav-menu.open{ transform:none; }
  .pwnav-top{ justify-content:space-between; padding:13px 14px; font-size:16px; }
  .pwnav-panel{ position:static; opacity:1; visibility:visible; transform:none;
    background:transparent; border:0; box-shadow:none; padding:2px 0 10px 12px; min-width:0; }
  .pwnav-top .pwnav-caret{ display:none; }
  .pwnav-panel a{ padding:9px 14px; font-size:14px; color:#9fb0c6; }
}
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
