/* Three stable mobile destinations; desktop keeps its existing sidebar. */
.mobile-navigation[hidden],.mobile-navigation [hidden],.mobile-profile-overlay [hidden] { display:none !important; }
.mobile-profile-sheet { max-width:440px; padding:0; overflow:hidden; }
.mobile-profile-header { display:flex; align-items:center; gap:12px; padding:22px 20px 18px; border-bottom:1px solid var(--border); }
.mobile-profile-header > div:nth-child(2) { flex:1; min-width:0; }
.mobile-profile-header h2 { font-size:18px; line-height:1.3; margin:0; overflow-wrap:anywhere; }
.mobile-profile-header p { margin:4px 0 0; font-size:12px; color:var(--text2); }
.mobile-profile-header .modal-close { position:static; flex:0 0 40px; width:40px; height:40px; }
.mobile-profile-avatar { width:48px; height:48px; flex:0 0 48px; border-radius:16px; display:grid; place-items:center; background:var(--surface2); font-size:18px; font-weight:800; }
.mobile-profile-body { padding:4px 12px 16px; overflow:auto; overscroll-behavior:contain; }
.mobile-profile-body h3 { margin:18px 10px 8px; color:var(--text2); font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.mobile-profile-action { width:100%; display:flex; align-items:center; gap:12px; padding:12px 10px; min-height:66px; border:0; border-radius:14px; background:transparent; color:var(--text); text-align:left; font:inherit; cursor:pointer; }
.mobile-profile-action:hover { background:var(--surface2); }
.mobile-profile-action-icon { display:grid; place-items:center; width:38px; height:38px; flex:0 0 38px; border:1px solid var(--border); border-radius:12px; color:var(--text2); }
.mobile-profile-action .svg-icon { width:20px; height:20px; }
.mobile-profile-action > .svg-icon { width:16px; height:16px; color:var(--text2); }
.mobile-profile-action-copy { display:grid; gap:4px; flex:1; min-width:0; }
.mobile-profile-action-copy strong { font-size:14px; }
.mobile-profile-action-copy small { color:var(--text2); font-size:11px; line-height:1.4; }
.mobile-profile-count { background:var(--sem-risk-solid,#dc2626); color:white; border-radius:20px; padding:4px 7px; font-size:11px; font-weight:800; }
@media (max-width:1119px) {
  #app .bottom-navbar.mobile-navigation { display:flex !important; width:264px; max-width:calc(100vw - 32px); height:76px; padding:8px; gap:6px; border-radius:28px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); background:var(--navbar-bg); color:var(--text); border:1px solid var(--border); box-shadow:var(--navbar-shadow); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); z-index:190; }
  .mobile-navigation .nav-item { display:flex; flex-direction:column; flex:1 1 0; width:auto; height:58px; min-width:0; gap:4px; border-radius:20px; color:var(--text2); background:transparent; }
  .mobile-navigation .nav-item.active { color:var(--text); background:var(--surface2); box-shadow:none; }
  .mobile-navigation .nav-item:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .mobile-navigation .nav-item .nav-label { display:block; font-size:10px; line-height:1.1; font-weight:700; }
  .mobile-navigation .nav-icon { display:grid; place-items:center; position:relative; height:28px; width:32px; }
  .mobile-navigation .svg-icon { width:22px; height:22px; }
  .mobile-nav-avatar { width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:var(--surface2); border:1px solid var(--border2); color:var(--text); font-size:10px; font-weight:800; }
  .mobile-profile-dot { position:absolute; top:-1px; right:-2px; width:10px; height:10px; border-radius:50%; background:var(--sem-risk-solid,#dc2626); border:2px solid var(--surface); }
  #app .main-content { padding-bottom:calc(112px + env(safe-area-inset-bottom,0px)) !important; }
  #app > .fixed-menu-btn { display:none !important; }
  .modal-scroll-locked .mobile-navigation,#app.mobile-keyboard-open .mobile-navigation { visibility:hidden; pointer-events:none; }
  .mobile-profile-overlay { align-items:flex-end; padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px)); }
  .mobile-profile-overlay .mobile-profile-sheet { width:100%; max-height:calc(100dvh - 32px - env(safe-area-inset-bottom,0px)); border-radius:24px; display:flex; flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { .mobile-navigation .nav-item { transition:none; } }

/* Icon-only mobile island; accessible button names remain in the markup. */
@media (max-width:1119px) {
  .mobile-navigation .nav-item .nav-label { display:none; }
  #app .bottom-navbar.mobile-navigation { width:224px; height:68px; }
  .mobile-navigation .nav-item { height:50px; }
}
.mutation-guard[hidden] { display:none !important; }
.mutation-guard { position:fixed; inset:0; z-index:2147483647; display:grid; place-items:center; background:rgba(15,23,42,.28); cursor:wait; touch-action:none; }
.mutation-guard-message { display:grid; justify-items:center; gap:10px; padding:24px; margin:16px; border:1px solid var(--border); border-radius:20px; color:var(--text); background:var(--surface); box-shadow:0 12px 40px #0002; }
.mutation-guard-message small { color:var(--text2); }
.mutation-guard-message > span { width:24px; height:24px; border:3px solid var(--border); border-top-color:var(--text); border-radius:50%; animation:mutation-spin 1s linear infinite; }
@keyframes mutation-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .mutation-guard-message > span { animation:none; } }

@media(max-width:1119px) {
 .mobile-navigation .mobile-profile-dot { display:flex; align-items:center; justify-content:center; background:#22c55e; min-width:10px; height:10px; width:10px; padding:0; color:#fff; font-size:10px; font-weight:800; line-height:1; }
 .mobile-navigation .mobile-profile-dot.has-notifications { width:auto; min-width:20px; height:20px; padding:0 4px; top:-6px; right:-8px; background:#dc2626; }
}
