/* App shell — shared across Ad Honorem / DAIA / IDE previews */
:root{--ah-shell-h:40px}
.app-shell{
  position:sticky;top:0;z-index:1000;
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  min-height:var(--ah-shell-h);padding:6px 12px;
  background:#0b0b0c;color:#f4f4f5;
  border-bottom:1px solid #27272a;
  font:500 12px/1.2 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
.app-shell a{color:#e4e4e7;text-decoration:none;border-radius:999px;padding:6px 10px;display:inline-flex;align-items:center;gap:6px}
.app-shell a:hover{background:#27272a;color:#fff}
.app-shell a.is-current{background:#fff;color:#0b0b0c}
.app-shell .as-brand{font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.9;margin-right:4px}
.app-shell .as-sep{width:1px;height:16px;background:#3f3f46;margin:0 2px}
.app-shell .as-note{margin-left:auto;color:#a1a1aa;font-weight:400;font-size:11px}
@media (max-width:640px){
  .app-shell .as-note{display:none}
  .app-shell{gap:4px;padding:6px 8px}
  .app-shell a{padding:6px 8px}
}
/* Push mast below shell when both sticky — shell wins top */
body.has-app-shell .mast, body.has-app-shell .hdr, body.has-app-shell .nav-wrap{
  /* keep their own sticky under shell via top offset when needed */
}
body.has-app-shell .hdr{top:var(--ah-shell-h)}
body.has-app-shell .nav-wrap{top:calc(var(--ah-shell-h) + 8px)}
body.has-app-shell .filters{top:calc(var(--ah-shell-h) + 56px)}
