/* WO-014 unified member shell — responsive layout tokens (no dual-shell swap) */
:root {
  --n79-bp-mobile: 767px;
  --n79-bp-tablet: 1023px;
  --n79-focus: #3b82f6;
  --n79-surface: #0b1220;
}

html[data-n79-viewport='mobile'] body {
  /* Mobile presentation: constrain max readable width on huge phones in landscape */
}

html[data-n79-viewport='mobile'] .n79-desktop-only {
  display: none !important;
}

html[data-n79-viewport='desktop'] .n79-mobile-only,
html[data-n79-viewport='tablet'] .n79-mobile-only {
  display: none !important;
}

html[data-n79-viewport='mobile'] .n79-mobile-only {
  display: block;
}

:focus-visible {
  outline: 2px solid var(--n79-focus);
  outline-offset: 2px;
}

button,
a,
[role='button'],
input,
select,
textarea {
  max-width: 100%;
}

img {
  max-width: 100%;
  height: auto;
}

/* Prevent horizontal overflow at all breakpoints */
html,
body,
#app {
  max-width: 100%;
  overflow-x: clip;
}

@media (max-width: 767px) {
  .n79-desktop-only { display: none !important; }
}

@media (min-width: 768px) {
  .n79-mobile-only { display: none !important; }
}
