/* Shared platform navigation. Colors, fonts and surfaces come from style.css. */
.site-nav .platform-nav { gap:4px; user-select:none; }
.site-nav .platform-group { position:relative; }
.site-nav .platform-group>summary { list-style:none; display:flex; align-items:center; gap:7px; padding:11px 12px; border-radius:var(--radius); cursor:pointer; font:700 13px/1.35 var(--font-rounded); color:var(--text-secondary); white-space:nowrap; transition:background .18s,color .18s; }
.site-nav .platform-group>summary::-webkit-details-marker { display:none; }
.site-nav .platform-group>summary:hover,.site-nav .platform-group[open]>summary { background:var(--surface-soft); color:var(--text); }
.site-nav .platform-group[data-active]>summary { background:var(--safe-bg); color:var(--primary); }
.site-nav .platform-chevron { width:14px; height:14px; transition:transform .18s; }
.site-nav .platform-group[open] .platform-chevron { transform:rotate(180deg); }
.site-nav .platform-panel { position:absolute; top:calc(100% + 9px); left:0; min-width:260px; padding:9px; background:var(--surface); border:1.5px solid var(--surface-muted); border-radius:18px 24px 18px 24px; box-shadow:var(--shadow-pop); z-index:110; animation:platform-appear .16s ease-out; }
.site-nav .platform-nav .platform-panel a { width:auto; height:auto; min-height:44px; padding:11px 13px; display:flex; justify-content:flex-start; gap:10px; font-size:13px; font-weight:700; color:var(--text-secondary); border-radius:12px; box-shadow:none; }
.site-nav .platform-nav .platform-panel .nav-label { display:inline; font-size:13px; font-weight:700; }
.site-nav .platform-nav .platform-panel a:hover { color:var(--text); background:var(--surface-soft); }
.site-nav .platform-nav .platform-panel a[aria-current=page] { color:var(--primary); background:var(--safe-bg); }
.site-nav .platform-nav a[data-tip]:before,.site-nav .platform-nav a[data-tip]:after { display:none!important; }
.site-nav .platform-nav .nav-icon { width:18px; height:18px; flex-shrink:0; }
.site-nav .platform-editing { margin-top:7px; padding-top:7px; border-top:1px solid var(--surface-muted); }
.site-nav .platform-nav a:focus-visible,.site-nav summary:focus-visible { outline:3px solid var(--accent-blue); outline-offset:1px; }
@keyframes platform-appear { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:980px) {
 .site-nav>.container { display:flex; justify-content:space-between; }
 .site-nav .nav-toggle { display:inline-flex; flex-shrink:0; }
 .site-nav .logo { min-width:0; flex-shrink:1; overflow:hidden; }
 .site-nav .logo-text { font-size:17px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
 .site-nav .nav-right { flex-shrink:0; }
 .site-nav .platform-nav { display:none; position:absolute; top:100%; inset-inline:0; flex-direction:column; align-items:stretch; gap:4px; padding:12px 16px 18px; background:var(--surface); border-bottom:2px solid var(--surface-muted); box-shadow:var(--shadow-card); max-height:calc(100dvh - 80px); overflow:auto; }
 .site-nav .platform-nav.is-open { display:flex; }
 .site-nav .platform-group>summary { justify-content:space-between; font-size:15px; min-height:48px; padding:12px 14px; }
 .site-nav .platform-panel { position:static; min-width:0; margin:5px 0 8px; box-shadow:none; border:0; border-inline-start:2px solid var(--surface-muted); border-radius:0; padding:0 0 0 12px; animation:none; }
 .site-nav .platform-nav .platform-panel a,.site-nav .platform-nav .platform-panel .nav-label { font-size:14px; }
 .site-nav .platform-nav .platform-panel a { padding:12px; }
}
@media(prefers-reduced-motion:reduce) { .site-nav .platform-panel { animation:none; } .site-nav .platform-chevron { transition:none; } }
@media(min-width:981px) and (hover:hover) and (pointer:fine) {
 .site-nav .platform-panel::before { content:''; position:absolute; top:-12px; left:0; right:0; height:12px; }
}
