/* Login E3 (1.0.45): crypto-tech, restrained. Overrides css/login.css for the main screen. */
@property --e3a { syntax: "<angle>"; inherits: false; initial-value: 200deg; }

body {
    background:
        radial-gradient(420px 360px at 50% 36%, rgba(154, 0, 0, .28), transparent 70%),
        linear-gradient(180deg, #0b0505, #050303 60%, #000);
    font-family: 'Inter', system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
}
.e3-bg { position: fixed; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }

.e3-stage { justify-content: space-between; gap: 0; padding: 24px 32px 22px; max-width: 420px; }
.e3-top { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding-top: 24px; }

.e3-logo { position: relative; width: 200px; height: 200px; display: flex; align-items: center; justify-content: center; }
.e3-ring {
    position: absolute; inset: 26px; border-radius: 50%;
    border: 1px solid rgba(255, 74, 74, .35);
    box-shadow: 0 0 34px rgba(255, 42, 42, .28), inset 0 0 24px rgba(255, 42, 42, .15);
    animation: e3pulse 3s ease-in-out infinite;
}
.e3-orbit { position: absolute; inset: 0; border-radius: 50%; border: 1px dashed rgba(255, 255, 255, .09); animation: e3spin 30s linear infinite; }
.e3-orbit::after { content: ""; position: absolute; top: 22px; left: 38px; width: 5px; height: 5px; border-radius: 50%; background: #ff4a4a; box-shadow: 0 0 8px #ff4a4a; }
.e3-tile {
    position: relative; width: 112px; height: 112px; border-radius: 26px; padding: 4px;
    background: linear-gradient(160deg, #3a3a3e, #0c0c0e);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .7), 0 0 60px rgba(255, 42, 42, .18), inset 0 1px 0 rgba(255, 255, 255, .15);
}
.e3-tile img { width: 100%; height: 100%; border-radius: 22px; display: block; }

.e3-title { display: flex; flex-direction: column; align-items: center; margin-top: 14px; font-weight: normal; }
.e3-wm { font: 800 30px 'Orbitron', sans-serif; letter-spacing: .08em; color: #fff; text-shadow: 0 2px 0 #3a0000; }
.e3-tag { margin-top: 12px; font: 600 12px 'Outfit', 'Inter', sans-serif; letter-spacing: .24em; color: #ff4a4a; }
.e3-led { font-size: 10px; }

.e3-bottom { width: 100%; display: flex; flex-direction: column; align-items: center; margin-top: 56px; }
.e3-trace {
    width: 100%; border-radius: 17px; padding: 1px;
    background: conic-gradient(from var(--e3a), transparent 0 70%, rgba(255, 200, 200, .9) 80%, transparent 90%);
    animation: e3trace 4s linear infinite;
}
.btn.e3-btn {
    width: 100%; height: 56px; margin: 0; border: 0; border-radius: 16px;
    font: 700 16px 'Outfit', 'Inter', sans-serif; letter-spacing: .02em; text-transform: none; color: #fff;
    background: linear-gradient(180deg, #ff4a4a, #9a0000);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 6px 0 #3a0000, 0 12px 24px rgba(255, 42, 42, .25);
}
.btn.e3-btn:active { transform: translateY(3px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 3px 0 #3a0000; }
.btn.e3-btn:disabled { opacity: .7; }
.e3-note { margin-top: 22px; font: 400 12.5px/1.5 'Inter', sans-serif; color: #9a9ca2; text-align: center; }
#sessionText { margin-top: 10px; }
.e3-mono { margin-top: 18px; font: 500 9.5px ui-monospace, 'DejaVu Sans Mono', Menlo, monospace; letter-spacing: .22em; color: #6e5a5a; }
.e3-mono span { color: #ff4a4a; }
.e3-ver { margin-top: 20px; }
.e3-ver .build { font: 400 10.5px 'Inter', sans-serif; color: #4a4c51; letter-spacing: .04em; position: static; }

/* E3b: access-required bottom sheet */
.e3-gate { position: fixed; inset: 0; z-index: 60; }
.e3-dim { position: absolute; inset: 0; background: rgba(0, 0, 0, .7); }
.e3-sheet {
    position: absolute; left: 0; right: 0; bottom: 0; margin: 0 auto; max-width: 480px;
    padding: 12px 24px calc(34px + env(safe-area-inset-bottom)); text-align: center;
    background: linear-gradient(180deg, rgba(32, 16, 16, .92), rgba(12, 10, 10, .97));
    -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
    border-top: 1px solid rgba(255, 74, 74, .3); border-radius: 26px 26px 0 0;
    box-shadow: 0 -20px 60px rgba(154, 0, 0, .25);
    font-family: 'Inter', sans-serif;
}
.e3-sheet::before {
    content: ""; position: absolute; top: -1px; left: 15%; right: 15%; height: 1px;
    background: linear-gradient(90deg, transparent, #ff8a8a, transparent);
    animation: e3sweep 4s ease-in-out infinite;
}
.e3-grab { width: 38px; height: 4px; border-radius: 2px; background: #3a3a3e; margin: 0 auto 22px; }
.e3-mono-top { margin: 0 0 12px; }
.e3-chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border: 1px solid #33282a; background: rgba(255, 255, 255, .04); border-radius: 99px; font: 500 12.5px 'Inter', sans-serif; color: #c8cacf; }
.e3-chip i { width: 7px; height: 7px; border-radius: 50%; background: #ff4a4a; }
.e3-sheet h2 { margin-top: 16px; font: 700 22px 'Outfit', 'Inter', sans-serif; color: #fff; letter-spacing: 0; text-transform: none; }
.e3-desc { margin-top: 8px; font-size: 14px; line-height: 1.5; color: #a2a4aa; }
.e3-row { display: flex; gap: 12px; margin-top: 26px; }
.e3-act {
    flex: 1; display: flex; align-items: center; justify-content: center; height: 54px; border-radius: 16px;
    font: 700 15px 'Outfit', 'Inter', sans-serif; color: #fff; text-decoration: none;
}
.e3-red { background: linear-gradient(180deg, #ff4a4a, #9a0000); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 6px 0 #3a0000, 0 12px 24px rgba(255, 42, 42, .25); }
.e3-dark { background: linear-gradient(180deg, #2a2a2e, #121214); border: 1px solid rgba(255, 42, 42, .55); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 6px 0 #050505; }
.e3-act:active { transform: translateY(3px); }
.e3-link { margin-top: 24px; background: none; border: 0; font: 500 13px 'Inter', sans-serif; color: #ff6a6a; cursor: pointer; padding: 6px 10px; }

@keyframes e3pulse { 50% { opacity: .55; transform: scale(1.04); } }
@keyframes e3spin { to { transform: rotate(360deg); } }
@keyframes e3trace { to { --e3a: 560deg; } }
@keyframes e3sweep { 50% { left: 45%; right: 5%; } }

@media (max-height: 700px) {
    .e3-logo { width: 160px; height: 160px; }
    .e3-tile { width: 92px; height: 92px; border-radius: 22px; }
    .e3-bottom { margin-top: 28px; }
}
@media (prefers-reduced-motion: reduce) {
    .e3-ring, .e3-orbit, .e3-trace, .e3-sheet::before { animation: none !important; }
}

/* Official Android download (web only; hidden inside the Capacitor app) */
.e3-android{display:inline-flex;align-items:center;gap:12px;margin:14px auto 0;padding:10px 18px 10px 14px;min-height:52px;border-radius:14px;
  background:linear-gradient(180deg,#141416,#0b0b0c);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 6px 18px rgba(0,0,0,.45);
  color:#f4f4f5;text-decoration:none;font-family:Inter,system-ui,sans-serif;transition:border-color .2s,transform .2s}
.e3-android[hidden]{display:none}
.e3-android:hover,.e3-android:focus-visible{border-color:rgba(61,220,132,.55);outline:none}
.e3-android:focus-visible{box-shadow:0 0 0 3px rgba(61,220,132,.35)}
.e3-android:active{transform:translateY(1px)}
.e3-droid{flex:none}
.e3-android-txt{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;text-align:left}
.e3-android-main{font-weight:600;font-size:15px}
.e3-android-sub{font-size:11px;letter-spacing:.08em;color:#9a9aa2;font-family:ui-monospace,Menlo,monospace;margin-top:2px}
@media (max-height:700px){.e3-android{margin-top:8px;min-height:44px;padding:7px 14px 7px 12px}}

/* Android + iPhone install row */
.e3-dl{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px}
.e3-dl .e3-android{margin:0;flex:0 0 auto;min-width:0;padding:9px 12px;gap:10px}
.e3-dl .e3-android[hidden]{display:none}
.e3-dl .e3-android-main{font-size:13.5px;white-space:nowrap}
.e3-dl .e3-android-sub{font-size:9.5px;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.e3-dl .e3-android-txt{min-width:0}
.e3-ios{cursor:pointer;font:inherit}
.e3-ios:hover,.e3-ios:focus-visible{border-color:rgba(255,255,255,.45)}
.e3-ios:focus-visible{box-shadow:0 0 0 3px rgba(255,255,255,.25)}
.e3-apple{flex:none}
.e3-dl{flex-direction:column;align-items:stretch;gap:8px}.e3-dl .e3-android{flex:0 0 auto;width:100%;max-width:none;justify-content:flex-start;padding:9px 14px}.e3-dl .e3-android-sub{white-space:normal;overflow:visible}
.e3-steps{list-style:none;margin:16px 0 18px;padding:0;text-align:left;display:grid;gap:10px}
.e3-steps li{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#d4d4d8;font-size:14.5px}
.e3-steps strong{color:#fff;font-weight:600}
.e3-step{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:700 12px Orbitron,Inter,sans-serif;color:#fff;background:linear-gradient(180deg,#ef4444,#b91c1c);box-shadow:0 0 12px rgba(239,68,68,.45)}
.e3-share{vertical-align:-4px;margin-left:4px;color:#60a5fa}
.e3-ios-sheet .e3-btn2{width:100%}
