/* =====================================================================================
 * MBIT Eye Control — mobile interaction layer (additive, namespaced mbit-eye-*).
 * Activates only on small / coarse-pointer viewports; desktop is never touched.
 * Steel Console tokens; amber is the ONLY accent (primary/active). No red/green semantics.
 * All motion collapses to <=120ms fades under prefers-reduced-motion (see bottom).
 * ===================================================================================== */

:root{
  --mbit-eye-bg:#0B0C0E; --mbit-eye-surface:#141619; --mbit-eye-surface-2:#1B1E22;
  --mbit-eye-stroke:#2C3036; --mbit-eye-stroke-strong:#3A3F46;
  --mbit-eye-text:#E6E8EA; --mbit-eye-text-muted:#8A9096; --mbit-eye-text-faint:#565B61;
  --mbit-eye-amber:#E9A13B; --mbit-eye-amber-dim:#7A5A28;
  --mbit-eye-font:'IBM Plex Mono','Consolas',ui-monospace,SFMono-Regular,Menlo,monospace;
  /* critically-damped-ish spring easing (fast attack, ~1.02 overshoot, settle < 300ms) */
  --mbit-eye-spring:linear(0,0.006,0.089 3.5%,0.34 8.9%,0.744 15.4%,0.998 20.6%,1.09 24.5%,1.13 28.7%,1.12 33.6%,1.02 44%,0.995 52%,1);
  --mbit-eye-quick:cubic-bezier(.2,.7,.2,1);
}

/* Everything below only paints on mobile / coarse pointer. Desktop = layer inert. */
@media (max-width:780px){

/* ---- The Eye dial (docked bottom-right, safe-area aware) ---- */
.mbit-eye-dial{
  position:fixed; z-index:2147480000;
  right:calc(16px + env(safe-area-inset-right,0px));
  bottom:calc(18px + env(safe-area-inset-bottom,0px));
  width:60px; height:60px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 50% 38%, #22262B 0%, #14171A 60%, #0C0E10 100%);
  border:1px solid var(--mbit-eye-stroke-strong);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), inset 0 -6px 12px rgba(0,0,0,.55), 0 4px 14px rgba(0,0,0,.5);
  color:var(--mbit-eye-text-muted); font-family:var(--mbit-eye-font);
  cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:none;
  transition:transform .18s var(--mbit-eye-spring), border-color .18s var(--mbit-eye-quick);
}
.mbit-eye-dial:active{ transform:scale(.96); }
.mbit-eye-dial.is-open{ border-color:var(--mbit-eye-amber); }
.mbit-eye-dial__tag{ font-size:13px; font-weight:700; letter-spacing:.06em; color:var(--mbit-eye-text); text-transform:uppercase; }
.mbit-eye-dial__label{
  position:absolute; bottom:-15px; left:50%; transform:translateX(-50%);
  font-size:8.5px; letter-spacing:.14em; color:var(--mbit-eye-text-faint); text-transform:uppercase; white-space:nowrap;
}
/* progress ring (report context) */
.mbit-eye-dial__ring{ position:absolute; inset:-1px; border-radius:50%; pointer-events:none;
  background:conic-gradient(var(--mbit-eye-amber) calc(var(--mbit-eye-progress,0)*1turn), rgba(255,255,255,.06) 0); -webkit-mask:radial-gradient(circle, transparent 26px, #000 27px); mask:radial-gradient(circle, transparent 26px, #000 27px); }

/* ---- Backdrop for wheel / rail / sheet ---- */
.mbit-eye-scrim{ position:fixed; inset:0; z-index:2147479990; background:rgba(6,7,8,.5); opacity:0; transition:opacity .18s var(--mbit-eye-quick); }
.mbit-eye-scrim.is-open{ opacity:1; }
/* MBIT_FLAG_MENU_BACKDROP — glassy backdrop while the vertical stack is open (progressive enhancement). */
.mbit-eye-scrim--glass{ background:rgba(8,9,11,0.35); }

/* Mobile UX Release v1 (MBIT_FLAG_EYE_VSTACK) — vertical menu stack above the Eye dial, right-aligned. */
.mbit-eye-stack{ position:fixed; z-index:2147479995; display:flex; flex-direction:column; align-items:stretch; gap:8px; pointer-events:none; }
.mbit-eye-stackitem{ min-height:44px; min-width:158px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 14px;
  background:#0c0e10; border:1px solid var(--mbit-eye-stroke); border-radius:3px; color:var(--mbit-eye-text-muted);
  font-family:var(--mbit-eye-font); font-size:12px; letter-spacing:.06em; text-transform:uppercase; text-align:left; cursor:pointer; pointer-events:auto;
  box-shadow:0 4px 14px rgba(0,0,0,.5); opacity:0; transform:translateY(12px) scale(.96);
  transition:opacity .18s ease, transform .3s cubic-bezier(0.34, 1.56, 0.64, 1); }
.mbit-eye-stack.is-open .mbit-eye-stackitem{ opacity:1; transform:translateY(0) scale(1); }
.mbit-eye-stack:not(.is-open) .mbit-eye-stackitem{ transition-duration:.15s; }  /* faster reverse exit */
.mbit-eye-stackitem:active{ background:#14171a; border-color:var(--mbit-eye-stroke-strong); }
.mbit-eye-stackitem.is-primary{ color:var(--mbit-eye-text); }
.mbit-eye-stackitem.is-primary .mbit-eye-stackitem__k{ color:var(--mbit-eye-amber); }
.mbit-eye-stackitem__k{ font-size:9px; color:var(--mbit-eye-text-faint); letter-spacing:.04em; }

/* Phase 5A — Section Jump Rail (MBIT_FLAG_REPORT_RAIL): thin right-edge ticks, one per section. */
.mbit-eye-jrail{ position:fixed; right:0; top:50%; transform:translateY(-50%); z-index:2147479980; width:14px; max-height:calc(100vh - 200px);
  display:flex; flex-direction:column; align-items:flex-end; justify-content:center; gap:10px; padding-right:3px;
  opacity:.25; transition:opacity .3s ease; }
.mbit-eye-jrail.is-active{ opacity:1; }
.mbit-eye-jtick{ display:block; width:10px; height:2px; padding:0; border:0; background:var(--mbit-eye-stroke-strong); border-radius:2px; cursor:pointer; transition:width .2s ease, background .2s ease; }
.mbit-eye-jtick.is-active{ width:16px; background:var(--mbit-eye-amber); }

/* Phase 5B — Sticky Context Bar (MBIT_FLAG_REPORT_STICKYBAR): SYMBOL · mint · SECTION on scroll-down. */
.mbit-eye-sticky{ position:fixed; top:0; left:0; right:0; z-index:2147479985; display:flex; align-items:center; gap:8px;
  padding:8px 14px; padding-top:calc(8px + env(safe-area-inset-top,0px));
  background:#0a0c0e; border-bottom:1px solid var(--mbit-eye-stroke); font-family:var(--mbit-eye-font);
  font-size:11px; letter-spacing:.05em; color:var(--mbit-eye-text-muted);
  transform:translateY(-100%); transition:transform .18s var(--mbit-eye-quick); }
.mbit-eye-sticky.is-in{ transform:translateY(0); }
.mbit-eye-sticky__sym{ color:var(--mbit-eye-text); font-weight:700; }
.mbit-eye-sticky__mint{ color:var(--mbit-eye-text-muted); }
.mbit-eye-sticky__sec{ color:var(--mbit-eye-amber); text-transform:uppercase; margin-left:auto; }
.mbit-eye-sticky__sep{ color:var(--mbit-eye-text-faint); }

/* ---- Context wheel (marking menu) ---- */
.mbit-eye-wheel{ position:fixed; z-index:2147479995; pointer-events:none; }
.mbit-eye-spoke{
  position:absolute; min-width:104px; transform:translate(-50%,-50%) scale(.6); opacity:0;
  display:flex; align-items:center; gap:8px; padding:8px 12px;
  background:var(--mbit-eye-surface); border:1px solid var(--mbit-eye-stroke); border-radius:3px;
  color:var(--mbit-eye-text-muted); font-family:var(--mbit-eye-font); font-size:12px; letter-spacing:.06em; text-transform:uppercase;
  box-shadow:0 4px 12px rgba(0,0,0,.5); pointer-events:auto; white-space:nowrap;
  transition:transform .22s var(--mbit-eye-spring), opacity .16s var(--mbit-eye-quick), border-color .12s, background .12s, color .12s;
}
.mbit-eye-wheel.is-open .mbit-eye-spoke{ transform:translate(-50%,-50%) scale(1); opacity:1; }
.mbit-eye-spoke.is-hot{ background:var(--mbit-eye-surface-2); border-color:var(--mbit-eye-stroke-strong); color:var(--mbit-eye-text); transform:translate(-50%,-50%) scale(1.06); }
.mbit-eye-spoke.is-primary{ color:var(--mbit-eye-text); }
.mbit-eye-spoke.is-hot .mbit-eye-spoke__k, .mbit-eye-spoke.is-primary .mbit-eye-spoke__k{ color:var(--mbit-eye-amber); }
.mbit-eye-spoke__k{ font-size:9px; color:var(--mbit-eye-text-faint); }

/* ---- Section rail (report) ---- */
.mbit-eye-rail{
  position:fixed; top:0; right:0; bottom:0; z-index:2147479995; width:min(78vw,300px);
  background:var(--mbit-eye-bg); border-left:1px solid var(--mbit-eye-stroke);
  transform:translateX(100%); transition:transform .26s var(--mbit-eye-spring);
  display:flex; flex-direction:column; padding:calc(20px + env(safe-area-inset-top,0px)) 0 20px;
  font-family:var(--mbit-eye-font);
}
.mbit-eye-rail.is-open{ transform:translateX(0); }
.mbit-eye-rail__title{ padding:0 18px 12px; font-size:11px; letter-spacing:.16em; color:var(--mbit-eye-text-faint); text-transform:uppercase; }
.mbit-eye-rail__item{
  display:flex; align-items:center; gap:12px; padding:13px 18px; border:0; background:transparent; width:100%; text-align:left;
  color:var(--mbit-eye-text-muted); font-family:inherit; font-size:13px; letter-spacing:.05em; text-transform:uppercase; cursor:pointer;
  border-left:2px solid transparent; -webkit-tap-highlight-color:transparent;
}
.mbit-eye-rail__item:active{ background:var(--mbit-eye-surface); }
.mbit-eye-rail__item.is-current{ color:var(--mbit-eye-text); border-left-color:var(--mbit-eye-amber); }
.mbit-eye-rail__n{ font-size:10px; color:var(--mbit-eye-text-faint); min-width:20px; }
.mbit-eye-rail__item.is-current .mbit-eye-rail__n{ color:var(--mbit-eye-amber); }

/* ---- Mobile continuous report: reveal all panels stacked + numbered headers ---- */
body.mbit-eye-report-flow .mbit-workspace-tabs{ display:none !important; }
body.mbit-eye-report-flow .mbit-workspace-panel{ display:block !important; }
body.mbit-eye-report-flow .mbit-workspace-panel + .mbit-workspace-panel{ margin-top:6px; }
.mbit-eye-sechead{
  position:sticky; top:0; z-index:5; display:flex; align-items:center; gap:10px;
  padding:11px 14px; margin:0 0 4px; background:var(--mbit-eye-bg);
  border-top:1px solid var(--mbit-eye-stroke); border-bottom:1px solid var(--mbit-eye-stroke);
  font-family:var(--mbit-eye-font); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--mbit-eye-text); cursor:pointer;
}
.mbit-eye-sechead__n{ color:var(--mbit-eye-text-faint); font-size:11px; }
.mbit-eye-sechead__peel{ margin-left:auto; font-size:10px; letter-spacing:.08em; color:var(--mbit-eye-amber); display:flex; align-items:center; gap:6px; }
.mbit-eye-sechead__chev{ transition:transform .2s var(--mbit-eye-quick); color:var(--mbit-eye-text-faint); }
.mbit-eye-sec.is-collapsed .mbit-eye-sechead__chev{ transform:rotate(-90deg); }
.mbit-eye-sec__body{ overflow:hidden; transition:none; }
.mbit-eye-sec.is-collapsed .mbit-eye-sec__body{ display:none; }
.mbit-eye-sec.is-collapsed .mbit-eye-sechead__peel-open{ display:inline; }
.mbit-eye-sec:not(.is-collapsed) .mbit-eye-sechead__peel-open{ display:none; }

/* ---- Archive swipe actions ---- */
.mbit-eye-swipe{ position:relative; overflow:hidden; touch-action:pan-y; }
.mbit-eye-swipe__slide{ position:relative; z-index:2; background:var(--mbit-eye-bg); transition:transform .24s var(--mbit-eye-spring); will-change:transform; }
.mbit-eye-swipe__actions{ position:absolute; top:0; bottom:0; right:0; z-index:1; display:flex; align-items:stretch; }
.mbit-eye-swipe__actions--left{ right:auto; left:0; }
.mbit-eye-swipe__act{ display:flex; align-items:center; justify-content:center; min-width:84px; padding:0 6px;
  border:0; border-left:1px solid var(--mbit-eye-stroke); background:var(--mbit-eye-surface);
  color:var(--mbit-eye-text-muted); font-family:var(--mbit-eye-font); font-size:10px; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.mbit-eye-swipe__act--primary{ color:var(--mbit-eye-amber); }

/* ---- Quick Share bottom sheet ---- */
.mbit-eye-sheet{
  position:fixed; left:0; right:0; bottom:0; z-index:2147479996; max-height:86vh;
  background:var(--mbit-eye-bg); border-top:1px solid var(--mbit-eye-stroke); border-radius:12px 12px 0 0;
  transform:translateY(100%); transition:transform .28s var(--mbit-eye-spring);
  display:flex; flex-direction:column; font-family:var(--mbit-eye-font);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
.mbit-eye-sheet.is-open{ transform:translateY(0); }
.mbit-eye-sheet__grip{ width:38px; height:4px; border-radius:2px; background:var(--mbit-eye-stroke-strong); margin:10px auto 4px; }
.mbit-eye-sheet__head{ padding:6px 16px 10px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--mbit-eye-text-muted); border-bottom:1px solid var(--mbit-eye-stroke); }
.mbit-eye-sheet__body{ overflow:auto; -webkit-overflow-scrolling:touch; padding:12px 14px; }

/* ---- Plain fallback list (reduced-motion / screenreader) ---- */
.mbit-eye-list{ position:fixed; z-index:2147479995; left:0; right:0; bottom:calc(88px + env(safe-area-inset-bottom,0px));
  margin:0 14px; background:var(--mbit-eye-bg); border:1px solid var(--mbit-eye-stroke); border-radius:4px; overflow:hidden; font-family:var(--mbit-eye-font); }
.mbit-eye-list__item{ display:block; width:100%; text-align:left; padding:14px 16px; border:0; border-top:1px solid var(--mbit-eye-stroke); background:transparent; color:var(--mbit-eye-text); font:inherit; font-size:13px; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; }
.mbit-eye-list__item:first-child{ border-top:0; }

.mbit-eye-hidden{ display:none !important; }

@supports ((-webkit-backdrop-filter:blur(2px)) or (backdrop-filter:blur(2px))){
  .mbit-eye-scrim--glass{ -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); }
}
} /* end @media max-width:780px */

/* ---- Reduced motion: kill springs, short fades, no transforms on reveal ---- */
@media (prefers-reduced-motion: reduce){
  .mbit-eye-dial, .mbit-eye-spoke, .mbit-eye-rail, .mbit-eye-sheet, .mbit-eye-swipe__slide, .mbit-eye-sechead__chev{ transition-duration:.12s !important; transition-timing-function:linear !important; }
  .mbit-eye-wheel, .mbit-eye-rail__hint{ display:none !important; }
  .mbit-eye-stackitem{ transition-duration:.001s !important; transform:none !important; }
}

/* ===================== Mobile UX Release v2 — Eye additions (flag-gated by JS callers) ===================== */
/* Long section lists scroll INSIDE the menu (REPORT_EYE_SECTIONS). */
.mbit-eye-stack--scroll{ max-height:60vh; max-height:60dvh; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; }

/* Active-section marker: small amber tick left of the label — position indicator only, no semantic color. */
.mbit-eye-stackitem.is-current .mbit-eye-stackitem__lbl::before,
.mbit-eye-list__item.is-current::before{
  content:''; display:inline-block; width:6px; height:6px; border-radius:50%;
  background:#F0A92B; margin-right:8px; vertical-align:middle;
}

/* ANALYZE submenu — CA entry panel (one stacked card, wider than normal items, right-aligned). */
.mbit-eye-capanel{ width:min(320px, calc(100vw - 28px)); cursor:default; text-align:left; }
.mbit-eye-capanel__title{ font-size:9px; letter-spacing:.18em; color:#8A9096; margin-bottom:8px; }
.mbit-eye-capanel__row{ position:relative; display:block; }
.mbit-eye-capanel__input{
  width:100%; box-sizing:border-box; min-height:44px; padding:10px 118px 10px 12px;
  font-family:'IBM Plex Mono',ui-monospace,monospace; font-size:16px; color:#EDF1F4;
  background:rgba(255,255,255,0.05); border:1px solid rgba(199,208,216,0.22); border-radius:10px; outline:none;
}
.mbit-eye-capanel__input:focus{ border-color:rgba(199,208,216,0.45); }
.mbit-eye-capanel__chips{
  position:absolute; right:6px; top:50%; transform:translateY(-50%);
  display:flex; gap:6px; align-items:center;
}
.mbit-eye-capanel__chip{
  font-family:inherit; font-size:9.5px; font-weight:600; letter-spacing:.08em; color:#C7D0D8;
  background:rgba(255,255,255,0.06); border:1px solid rgba(199,208,216,0.22); border-radius:14px;
  padding:6px 9px; min-height:30px; cursor:pointer; -webkit-tap-highlight-color:transparent;
}
.mbit-eye-capanel__hint{ min-height:14px; margin-top:6px; font-size:10px; letter-spacing:.06em; color:#8A9096; }

@media (prefers-reduced-motion: reduce){
  .mbit-eye-stack--scroll{ scroll-behavior:auto; }
}

/* ===================== Mobile UX Release v3 — Eye additions ===================== */
/* CA panel v2 (MBIT_FLAG_CA_PANEL_V2): 4-row layout, no controls inside the input. */
.mbit-eye-capanel--v3{ width:min(340px, calc(100vw - 24px)); }
.mbit-eye-capanel--v3 .mbit-eye-capanel__title{ font-size:10px; letter-spacing:.2em; color:#8A9096; margin-bottom:8px; }
.mbit-eye-capanel__input--v3{
  width:100%; box-sizing:border-box; min-height:48px; padding:12px !important;
  position:relative; z-index:auto;   /* the generic input{z-index:1} no longer overlaps anything here */
}
.mbit-eye-capanel__btnrow{ display:grid; grid-template-columns:1fr; gap:8px; margin-top:8px; }  /* MOB-2: PASTE/CLEAR stack vertically, full width */
.mbit-eye-capanel__bigbtn{
  min-height:48px; font-family:inherit; font-size:11px; font-weight:600; letter-spacing:.1em;
  color:#C7D0D8; background:rgba(255,255,255,0.05); border:1px solid rgba(199,208,216,0.25);
  border-radius:10px; cursor:pointer; -webkit-tap-highlight-color:transparent;
}
.mbit-eye-capanel__bigbtn:active{ background:#14171a; }
.mbit-eye-capanel__bigbtn.is-dim{ opacity:.35; }          /* dimmed but rendered — stable layout */
.mbit-eye-capanel__run{
  width:100%; min-height:48px; margin-top:8px; font-family:inherit; font-size:12px; font-weight:700;
  letter-spacing:.12em; color:#EDF1F4; background:#14171a; border:1px solid rgba(199,208,216,0.4);
  border-radius:10px; cursor:pointer; -webkit-tap-highlight-color:transparent;
}
.mbit-eye-capanel__run:active{ background:#1a1e23; }

/* Addendum A — Section Rail chips (MBIT_FLAG_EYE_SECTION_RAIL): compact code chips. */
.mbit-eye-stack--rail .mbit-eye-stackitem{ min-width:120px; min-height:44px; }
.mbit-eye-stack--rail .mbit-eye-stackitem__lbl{ font-weight:700; letter-spacing:.14em; }
.mbit-eye-stack--rail .mbit-eye-stackitem__k{ font-size:8.5px; }

/* Mobile Fix v1 (MOB-2 root cause): the CA panel inherits display:flex(row) from .mbit-eye-stackitem,
   which squeezed title/input/buttons INLINE (computed grid track 52px). The panel is a block card. */
.mbit-eye-stackitem.mbit-eye-capanel{ display:block; }

/* ==== MOBILE REPORT VIEW FIXES v1 (ToDo 3 + 5) ==== */
/* ToDo 3 — restart password field: Steel substrate (capanel), amber ONLY as caret/focus. */
.mbit-eye-restart__input{ caret-color:#F0A92B; }
.mbit-eye-restart__input:focus{ border-color:rgba(240,169,43,.5); }

/* ToDo 5 — active-page marker on menu nav buttons: restrained amber pulse ("pochen").
   Intensity deliberately BELOW forensic signal-amber chips (border .45 -> .8 alpha,
   glow alpha <= .18); period 3s ease-in-out. No red/green, no other hues. */
@keyframes mbitEyeActivePulse{
  0%, 100% { border-color:rgba(240,169,43,.45); box-shadow:0 0 0 0 rgba(240,169,43,0); }
  50%      { border-color:rgba(240,169,43,.8);  box-shadow:0 0 10px 0 rgba(240,169,43,.18); }
}
.mbit-eye-stackitem.is-active,
.mbit-eye-list__item.is-active{
  border-color:rgba(240,169,43,.45);
  animation:mbitEyeActivePulse 3s ease-in-out infinite;
}
@media (prefers-reduced-motion:reduce){
  .mbit-eye-stackitem.is-active,
  .mbit-eye-list__item.is-active{
    animation:none;
    border-color:rgba(240,169,43,.55);
    box-shadow:none;
  }
}
/* ==== END MOBILE REPORT VIEW FIXES v1 (ToDo 3 + 5) ==== */
