/* ============================================================
   RUNNIN.AI — design tokens + reusable HUD app-screen styles
   Extracted from the product Figma. Terminal / cockpit HUD.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700;800&display=swap');

:root{
  --bg:#050510;
  --bg-2:#070714;
  --panel:#0b0b1c;
  --panel-2:#0e0e22;
  --line:rgba(255,255,255,0.08);
  --line-2:rgba(255,255,255,0.14);
  --cyan:#00D4FF;
  --orange:#FF6B35;
  --green:#22C55E;
  --blue:#3B82F6;
  --yellow:#EAB308;
  --red:#EF4444;
  --violet:#8B5CF6;
  --txt:#ffffff;
  --mut:rgba(255,255,255,0.55);
  --mut-2:rgba(255,255,255,0.30);
  --mut-3:rgba(255,255,255,0.14);
  --mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
  --glow:0 0 30px rgba(0,212,255,0.35);
}

*{box-sizing:border-box}

/* ============================================================
   REUSABLE PHONE SCREEN  (393 x 852 design units)
   Everything scoped under .rn-screen so it can be embedded
   at any scale inside mockups & store artboards.
   ============================================================ */
.rn-screen{
  width:393px;height:852px;
  background:var(--bg);
  color:var(--txt);
  font-family:var(--mono);
  position:relative;overflow:hidden;
  -webkit-font-smoothing:antialiased;
  letter-spacing:0;
}
.rn-screen *{font-family:var(--mono)}

/* generic helpers */
.rn-screen .pad{padding:0 22px}
.rn-cyan{color:var(--cyan)}
.rn-orange{color:var(--orange)}
.rn-green{color:var(--green)}
.rn-blue{color:var(--blue)}
.rn-yellow{color:var(--yellow)}
.rn-red{color:var(--red)}
.rn-mut{color:var(--mut)}
.rn-mut2{color:var(--mut-2)}

/* status bar */
.rn-status{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;font-size:13px;font-weight:700;color:#fff}
.rn-status .dots{display:flex;gap:5px;align-items:center}
.rn-status .dots i{width:5px;height:5px;background:#fff;border-radius:50%;display:block}
.rn-status .batt{width:22px;height:11px;border:1.4px solid rgba(255,255,255,.6);border-radius:2px;position:relative}
.rn-status .batt::after{content:"";position:absolute;left:1.4px;top:1.4px;bottom:1.4px;width:13px;background:#fff}

/* app header */
.rn-head{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid var(--line)}
.rn-logo{display:flex;align-items:center;gap:7px;font-weight:800;font-size:15px;letter-spacing:1px}
.rn-logo .ai{background:var(--cyan);color:var(--bg);font-size:9px;font-weight:800;padding:2px 5px;letter-spacing:.5px}
.rn-head .crumb{color:var(--mut-2);font-size:13px;letter-spacing:2px}
.rn-head .right{color:var(--mut);font-size:13px}

/* section label  e.g.  RESUMO 01 */
.rn-sec{display:flex;align-items:baseline;gap:4px;font-weight:800;font-size:19px;letter-spacing:1px;margin:0 0 14px}
.rn-sec sub{font-size:9px;color:var(--mut-2);font-weight:500;letter-spacing:1px}

/* numbered tag (01 02) */
.rn-tag{font-size:9px;color:var(--mut-2);font-weight:500}

/* panels */
.rn-card{background:var(--panel);border:1px solid var(--line);padding:16px}
.rn-card.accent{border-color:var(--cyan);box-shadow:0 0 0 1px rgba(0,212,255,.05) inset}
.rn-card.warn{border-color:var(--orange)}

/* stat grid */
.rn-grid2{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.rn-stat{background:var(--bg);padding:16px}
.rn-stat .lab{font-size:11px;color:var(--mut);letter-spacing:1px;display:flex;gap:4px}
.rn-stat .lab b{color:var(--mut-2);font-weight:500;font-size:9px}
.rn-stat .val{font-size:30px;font-weight:800;line-height:1.1;margin-top:6px;letter-spacing:-1px}
.rn-stat .unit{font-size:11px;color:var(--mut);letter-spacing:1px;margin-top:2px}

/* big timer */
.rn-timer{font-size:84px;font-weight:800;letter-spacing:-3px;line-height:.9}

/* bottom nav */
.rn-nav{position:absolute;left:0;right:0;bottom:0;height:78px;background:rgba(5,5,16,.97);border-top:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;padding:10px 8px}
.rn-nav .item{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:10px;letter-spacing:1px;color:var(--mut-2)}
.rn-nav .item.on{color:#fff}
.rn-nav .item .ic{width:18px;height:18px;opacity:.5}
.rn-nav .item.on .ic{opacity:1}
.rn-nav .run{width:56px;height:56px;background:var(--cyan);color:var(--bg);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11px;letter-spacing:1px;box-shadow:0 4px 20px rgba(0,0,0,.5),0 0 30px rgba(0,212,255,.31);margin-top:-6px}
.rn-nav .item.on .tick{width:20px;height:2px;background:var(--cyan)}

/* primary button */
.rn-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:50px;font-weight:700;font-size:13px;letter-spacing:1.5px}
.rn-btn.cyan{background:var(--cyan);color:var(--bg)}
.rn-btn.ghost{background:transparent;border:1px solid var(--line-2);color:#fff}

/* bars (zones / splits) */
.rn-bar{height:14px;background:#15152a;position:relative;overflow:hidden}
.rn-bar > span{position:absolute;left:0;top:0;bottom:0;display:block}

/* pace target banner (real-time coach) */
.rn-target{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--green);background:rgba(34,197,94,.08);padding:12px 14px}
.rn-target.out{border-color:var(--orange);background:rgba(255,107,53,.08)}
.rn-target .st{font-weight:800;font-size:13px;letter-spacing:1px}
.rn-target .rg{font-size:11px;color:var(--mut)}

/* scanline / grid texture for hero areas */
.rn-grid-tex{
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:26px 26px;
}
