/* ============================================================
   Navigation — side nav, drawer, mobile bottom nav
   ============================================================ */
/* Side nav buttons */
.nav{
  display:flex;align-items:center;gap:11px;width:100%;text-align:left;
  padding:.68em .9em;margin:2px 0;border:2px solid transparent;border-radius:14px;
  background:transparent;font-weight:700;font-size:14.5px;color:var(--rst-ink-soft);
  transition:transform var(--rst-speed) var(--rst-ease),background var(--rst-speed),border-color var(--rst-speed);
}
.nav .ico{font-size:18px;width:26px;text-align:center;transition:transform var(--rst-speed) var(--rst-ease)}
.nav:hover{background:var(--rst-surface);border-color:var(--rst-edge);transform:translateX(3px)}
.nav:hover .ico{transform:scale(1.25) rotate(-10deg)}
.nav.on{background:var(--rst-rainbow);color:#fff;border-color:transparent;box-shadow:var(--rst-shadow)}
.nav.on .ico{filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}

/* Drawer (full-page menu) — real shell classes */
.rst-nav-drawer{position:fixed;top:0;left:0;bottom:0;z-index:100;width:min(420px,92vw);
  background:var(--rst-bg);border-right:2px solid var(--rst-edge);box-shadow:var(--rst-shadow-lg);
  display:flex;flex-direction:column;padding:18px;overflow-y:auto;
  animation:rst-drawer-in .25s var(--rst-ease)}
.rst-nav-drawer[hidden]{display:none}
@keyframes rst-drawer-in{from{transform:translateX(-30px);opacity:0}to{transform:none;opacity:1}}
.rst-nav-scrim{position:fixed;inset:0;z-index:99;background:rgba(43,36,64,.45);backdrop-filter:blur(3px)}
.rst-nav-scrim[hidden]{display:none}
.rst-drawer-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.rst-drawer-brand{display:flex;align-items:center;gap:10px}
.rst-drawer-brand .rst-header-mark{width:46px;height:46px;background:url("../assets/reaper-emblem.png") center/contain no-repeat;filter:drop-shadow(0 3px 7px rgba(0,0,0,.35))}
.rst-drawer-foot-emblem{width:30px;height:30px;object-fit:contain;flex:0 0 auto}
.rst-drawer-brand b{display:block;font-size:18px}
.rst-drawer-brand small{color:var(--rst-dim);font-size:11px;font-weight:700;letter-spacing:.06em}
.rst-drawer-searchbox{display:flex;align-items:center;gap:8px;background:var(--rst-surface);border:2px solid var(--rst-edge);
  border-radius:var(--rst-radius-pill);padding:.35em .35em .35em 1em;margin:10px 0 14px}
.rst-drawer-searchbox input{border:none!important;box-shadow:none!important;background:transparent;padding:.5em}
.rst-drawer-content{flex:1}
.rst-drawer-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;
  padding-top:14px;border-top:2px dashed var(--rst-edge);font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--rst-dim)}
.rst-drawer-foot button{display:inline-flex;align-items:center;gap:6px;background:var(--rst-surface);border:2px solid var(--rst-edge);
  border-radius:99px;padding:.5em 1.1em;font-weight:800;font-size:13px;letter-spacing:0;
  transition:transform var(--rst-speed) var(--rst-ease)}
.rst-drawer-foot button:hover{transform:translateY(-2px)}
.rst-footer-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--rst-green);margin-right:6px}
/* JS-generated drawer groups */
.rst-drawer-group{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--rst-faint);margin:16px 4px 6px}
.rst-drawer-items{display:grid;gap:4px}
.rst-drawer-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:.7em .9em;border-radius:14px;
  border:2px solid transparent;background:var(--rst-surface);font-weight:700;
  transition:transform var(--rst-speed) var(--rst-ease),border-color var(--rst-speed)}
.rst-drawer-item:hover{transform:translateX(4px);border-color:var(--rst-violet)}
.rst-drawer-item.on{background:#1a1a22;color:#fff}
.rst-drawer-item .ico{font-size:19px}
.rst-drawer-empty{padding:24px;text-align:center;color:var(--rst-dim)}

/* Icon controls */
.rst-icon-control{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;
  border:2px solid var(--rst-edge);background:var(--rst-surface);box-shadow:var(--rst-shadow-pop);
  transition:transform var(--rst-speed) var(--rst-ease)}
.rst-icon-control:hover{transform:translateY(-2px) rotate(-6deg)}
.rst-icon-slot{font-size:20px}
[data-rst-icon]{display:inline-flex}

/* Mobile bottom nav */
.rst-bottom-nav{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:90;
  background:rgba(255,255,255,.96);backdrop-filter:blur(12px);
  border-top:2px solid var(--rst-edge);
  padding:8px 6px;
  padding-bottom:calc(8px + env(safe-area-inset-bottom));
  grid-template-columns:repeat(5,1fr);gap:2px;
}
.rst-bottom-nav button{
  display:flex;flex-direction:column;align-items:center;gap:2px;
  background:none;border:none;border-radius:14px;padding:8px 2px 6px;
  font-size:10.5px;font-weight:800;color:var(--rst-dim);
  transition:transform var(--rst-speed) var(--rst-ease),color var(--rst-speed);
}
.rst-bottom-nav button span:first-child{font-size:21px;transition:transform var(--rst-speed) var(--rst-ease)}
.rst-bottom-nav button.on{color:var(--rst-violet)}
.rst-bottom-nav button.on span:first-child{transform:scale(1.25) rotate(-8deg)}
.rst-bottom-nav button:active span:first-child{transform:scale(.9)}
/* Scan shortcut: raised rainbow FAB in the middle */
.rst-bottom-nav .rst-nav-scan{position:relative;color:var(--rst-ink)}
.rst-bottom-nav .rst-nav-scan span:first-child{
  background:var(--rst-rainbow);color:#fff;width:54px;height:54px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:24px;margin-top:-26px;
  border:3px solid #fff;box-shadow:var(--rst-shadow-lg);
}
.rst-bottom-nav .rst-nav-scan small{font-weight:900;color:var(--rst-ink)}

/* ============================================================
   Header brand fixes (Reaper Seal TCG)
   - Dark theme surfaces for .top and .side (were leftover light)
   - Correct header logo sizing: .rst-logo-artwork defaults to 200px;
     the scoped rule restores the 44px header mark and stops flex
     from squishing it
   - Clean single-line brand lockups, high-contrast ink
   (Sidebar brand block removed per owner request.)
   ============================================================ */
.top{background:rgba(10,10,13,.92)}
.side{background:rgba(16,16,22,.94)}
.rst-header-brand .rst-header-mark.rst-logo-artwork{width:44px;height:44px;border-radius:14px;flex:0 0 auto}
.rst-header-brandname{color:var(--rst-ink)}
.rst-drawer-brandtext b{font-size:18px;font-weight:900;color:var(--rst-ink);white-space:nowrap}
/* Owner Operations nav is invisible unless the owner is logged in (body.owner) */
body:not(.owner) .adminNav{display:none!important}

/* Offline / PWA bars (created dynamically by JS) */
#rstOfflineBar{display:none;position:fixed;top:0;left:0;right:0;z-index:130;background:#1a1a22;color:#fff;
  text-align:center;font-size:13px;font-weight:800;letter-spacing:.06em;padding:9px 12px}
#rstOfflineBar.show{display:block}
#rstPwaUpdate{display:none;position:fixed;bottom:96px;left:50%;transform:translateX(-50%);z-index:120;
  background:#1a1a22;color:#fff;border-radius:var(--rst-radius-pill);padding:.7em 1.2em .7em 1.5em;
  font-weight:700;box-shadow:var(--rst-shadow-lg);align-items:center;gap:12px}
#rstPwaUpdate.show{display:flex}
#rstPwaUpdate button{background:var(--rst-yellow);border:none;border-radius:99px;padding:.45em 1.1em;font-weight:800;color:#1a1a22}
