/* ===================================================================
   FLOWTRIG — mobile-nav.css   (hamburger + slide-in drawer; mobile only)
   =================================================================== */
.nav-burger{ display:none; width:42px; height:42px; border-radius:11px; border:1px solid var(--line);
  background:var(--surface); color:var(--tx); align-items:center; justify-content:center; flex:0 0 42px; cursor:pointer; }
.nav-burger svg{ width:20px; height:20px; }
@media(max-width:720px){ .nav-burger{ display:inline-flex; } }

.mnav-scrim{ position:fixed; inset:0; z-index:400; background:rgba(4,10,7,.55); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); opacity:0; pointer-events:none; transition:opacity .3s; }
[data-theme="light"] .mnav-scrim{ background:rgba(16,40,28,.4); }
.mnav-scrim.open{ opacity:1; pointer-events:auto; }

.mnav{ position:fixed; top:0; right:0; bottom:0; z-index:401; width:min(338px,88vw);
  background:var(--bg); border-left:1px solid var(--line); box-shadow:-24px 0 70px -24px rgba(0,0,0,.6);
  transform:translateX(102%); transition:transform .4s cubic-bezier(.4,0,.2,1);
  display:flex; flex-direction:column; padding:16px 16px calc(16px + env(safe-area-inset-bottom)); overflow-y:auto; }
.mnav.open{ transform:none; }
.mnav-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.mnav-top img{ height:26px; }
.mnav-close{ width:38px; height:38px; border-radius:11px; border:1px solid var(--line); background:var(--surface); color:var(--tx-soft); display:flex; align-items:center; justify-content:center; cursor:pointer; }
.mnav-close svg{ width:17px; height:17px; }

.mnav-links{ display:flex; flex-direction:column; gap:2px; }
.mnav-links a{ display:flex; align-items:center; gap:12px; padding:13px 12px; border-radius:12px; font-size:16px; font-weight:600; color:var(--tx); text-decoration:none; transition:background .15s; }
.mnav-links a:active, .mnav-links a:hover{ background:var(--surface-2); }
.mnav-links a .mi{ width:30px; height:30px; border-radius:9px; background:var(--green-soft); color:var(--neon); display:flex; align-items:center; justify-content:center; flex:0 0 30px; }
.mnav-links a .mi svg{ width:16px; height:16px; }
.mnav-links a .mt small{ display:block; font-size:11.5px; font-weight:400; color:var(--tx-mute); margin-top:1px; }
.mnav-links a.sub{ padding-left:14px; font-size:14.5px; font-weight:500; }
.mnav-sec{ font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--tx-mute); padding:16px 12px 6px; }

.mnav-cta{ margin-top:18px; padding-top:16px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:10px; }
.mnav-cta a{ display:flex; align-items:center; justify-content:center; gap:8px; padding:13px; border-radius:12px; font-size:15px; font-weight:700; text-decoration:none; }
.mnav-cta a svg{ width:16px; height:16px; }
.mnav-cta .demo{ background:var(--g-btn, linear-gradient(135deg,#3DF294,#1FA855)); color:#fff; }
.mnav-cta .signin{ border:1px solid var(--line); color:var(--tx); }
.mnav-cta .start{ border-color:color-mix(in oklab, var(--neon) 55%, var(--line)); color:var(--neon); }
.mnav-foot{ margin-top:14px; display:flex; align-items:center; gap:8px; font-size:11.5px; color:var(--tx-mute); justify-content:center; }
.mnav-foot svg{ width:14px; height:14px; color:var(--neon); }
@media(prefers-reduced-motion: reduce){ .mnav, .mnav-scrim{ transition:none; } }
