/* Zilla Engine homepage navbar (phase 12) — partials/_engine_nav.html, javascript/engine-nav.js.
   Homepage only. League pages keep their own navbar. */
.en{--en-bg:#0f1113;--en-panel:#15171a;--en-raise:#1c1f23;--en-line:#22252a;--en-line2:#2a2d33;--en-line3:#3a3d44;
  --en-text:#f2f2f3;--en-soft:#d3d4d8;--en-muted:#a9aab0;--en-dim:#8b8c92;--en-accent:#F26B1D;--en-accent2:#FF8A45;
  --en-ink:#140a03;--en-live:#FF5A47;--en-livebg:#2a1714;--en-livetx:#FFB4A8;
  position:fixed;top:0;left:0;right:0;z-index:100;font-family:'Space Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--en-text)}
.en *,.en *::before,.en *::after{box-sizing:border-box}
.en [hidden],[data-league-tags][hidden],[data-grid-none][hidden]{display:none!important}
.en form{margin:0}
.en__bar{display:flex;align-items:center;gap:14px;height:64px;padding:0 40px;padding-top:env(safe-area-inset-top,0px);
  background:linear-gradient(180deg,rgba(15,17,19,.96),rgba(15,17,19,.78));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;transition:background .2s,border-color .2s}
.en.is-scrolled .en__bar,.en.is-open .en__bar{background:rgba(15,17,19,.97);border-bottom-color:var(--en-line)}
.en__brand{display:flex;align-items:center;gap:10px;color:var(--en-text);text-decoration:none;flex-shrink:0;border-radius:8px}
.en__brand b{letter-spacing:.16em;font-size:15px;white-space:nowrap}
.en__brand b span{color:var(--en-accent)}
.en__brand:focus-visible{outline:2px solid var(--en-accent);outline-offset:4px}
.en__grow{flex:1 1 auto}

/* ── Links with underline on hover / current section ── */
.en__links{display:flex;align-items:center;gap:22px;margin-left:18px}
.en__link{position:relative;display:flex;align-items:center;gap:6px;height:64px;padding:0 2px;color:var(--en-muted);text-decoration:none;
  font-weight:500;font-size:14px;line-height:1;font-family:inherit;background:none;border:0;cursor:pointer;white-space:nowrap;transition:color .15s}
.en__link::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--en-accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.en__link:hover,.en__link.is-current,.en__link[aria-expanded="true"]{color:var(--en-text)}
.en__link:hover::after,.en__link.is-current::after,.en__link[aria-expanded="true"]::after{transform:scaleX(1)}
.en__link:focus-visible{outline:2px solid var(--en-accent);outline-offset:-8px;border-radius:6px}
.en__link svg{transition:transform .2s}
.en__link[aria-expanded="true"] svg{transform:rotate(180deg)}
.en__menuwrap{position:relative}

/* ── Leagues menu ── */
.en-mega{position:absolute;top:64px;left:-24px;width:min(780px,calc(100vw - 48px));display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  background:var(--en-panel);border:1px solid var(--en-line2);border-top:0;border-radius:0 0 16px 16px;box-shadow:0 24px 60px rgba(0,0,0,.55);
  animation:en-drop .16s ease-out}
@keyframes en-drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.en-mega__col{display:flex;flex-direction:column;gap:4px;padding:20px;min-width:0}
.en-mega__col--side{gap:14px;padding:20px 24px;border-left:1px solid var(--en-line)}
.en-mega__label{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--en-dim);padding:0 12px 6px}
.en-mega__col--side .en-mega__label{padding:0}
.en-mega__row{border:1px solid transparent;display:flex;align-items:center;gap:14px;padding:12px;border-radius:10px;color:var(--en-text);text-decoration:none;transition:background .15s}
.en-mega__row:hover{background:var(--en-raise)}
.en-mega__row:focus-visible{outline:2px solid var(--en-accent);outline-offset:-2px}
.en-mega__row--open{border:1px dashed var(--en-line2)}
.en-mega__row--open:hover{border-color:var(--en-line3)}
.en-mega__badge{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;overflow:hidden;
  background:var(--c,#E5622A);color:var(--en-ink);font-weight:700;font-size:13px;letter-spacing:.02em}
.en-mega__badge img{width:100%;height:100%;object-fit:cover}
.en-mega__badge--open{background:none;border:1px dashed var(--en-line3);color:var(--en-accent);font-size:20px;font-weight:500}
.en-mega__txt{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.en-mega__txt b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.en-mega__txt span{font-size:12px;color:var(--en-muted)}
.en-mega__when{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;font-weight:600;color:var(--en-muted);text-transform:uppercase;white-space:nowrap}
.en-mega__chips{display:flex;flex-wrap:wrap;gap:8px}
.en-chip{display:flex;align-items:center;height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--en-line2);color:var(--en-soft);text-decoration:none;font-size:13px;font-weight:600;transition:border-color .15s,color .15s}
.en-chip:hover,.en-chip:focus-visible{border-color:var(--en-accent);color:var(--en-text);outline:0}
.en-mega__livecard{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding:14px;border-radius:12px;background:var(--en-raise);color:var(--en-text);text-decoration:none;transition:background .15s}
.en-mega__livecard:hover{background:#23272c}
.en-mega__livecard b{font-size:14px}
.en-mega__livecard span{font-size:13px;color:var(--en-muted)}
.en-mega__livecard em{font-style:normal;font-size:13px;font-weight:700;color:var(--en-accent)}
.en-mega__all{font-size:13px;font-weight:700;color:var(--en-accent);text-decoration:none}
.en-mega__all:hover{color:var(--en-accent2)}
.en-mega__col--side .en-mega__all{margin-top:auto}
.en-mega__livecard + .en-mega__all{margin-top:0}

/* ── Live badges ── */
.en-live{display:inline-flex;align-items:center;gap:6px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;font-weight:600;letter-spacing:.06em;color:#FF8A7A;white-space:nowrap}
.en-live i{width:7px;height:7px;border-radius:50%;background:var(--en-live);animation:en-pulse 1.6s infinite}
@keyframes en-pulse{0%,100%{opacity:1}50%{opacity:.35}}
.en__livepill{display:none;height:30px;padding:0 11px;border-radius:999px;background:var(--en-livebg);color:var(--en-livetx);text-decoration:none}
.en__livepill:hover{background:#3a1f1a;color:#FFD2CB}

/* ── Search ── */
.en-search{display:flex;align-items:center;gap:10px;width:236px;height:38px;padding:0 12px;border-radius:999px;background:#17191d;border:1px solid var(--en-line2);
  color:var(--en-dim);font-size:13px;line-height:1;font-family:inherit;cursor:text;transition:border-color .15s,color .15s;flex-shrink:1;min-width:0}
.en-search:hover{border-color:var(--en-line3);color:var(--en-muted)}
.en-search:focus-visible{outline:2px solid var(--en-accent);outline-offset:2px}
.en-search__ph{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.en kbd{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;color:var(--en-dim);border:1px solid var(--en-line2);border-radius:5px;padding:1px 6px}

/* ── Languages: segmented buttons (room) or menu (narrow) ── */
.en-langs{display:flex;padding:3px;border-radius:999px;border:1px solid var(--en-line2)}
.en-lang{height:30px;min-width:42px;padding:0 10px;border:0;border-radius:999px;background:none;color:var(--en-muted);
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;font-weight:600;letter-spacing:.06em;cursor:pointer;transition:background .15s,color .15s}
.en-lang:hover{color:var(--en-text);background:var(--en-raise)}
.en-lang.is-on{background:var(--en-text);color:var(--en-bg)}
.en-lang:focus-visible{outline:2px solid var(--en-accent);outline-offset:1px}
.en-langmenu{display:none}

/* ── Buttons and small menus ── */
.en-ghost{display:flex;align-items:center;justify-content:center;height:40px;padding:0 14px;border-radius:999px;border:0;background:none;color:var(--en-text);
  text-decoration:none;font-weight:600;font-size:14px;line-height:1;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s}
.en-ghost:hover{background:var(--en-raise);color:var(--en-text)}
.en-ghost:focus-visible,.en-cta:focus-visible{outline:2px solid var(--en-accent);outline-offset:2px}
.en-ghost--mono{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.08em;color:var(--en-muted)}
.en-ghost--block{width:100%;height:52px;border:1px solid var(--en-line3);font-size:16px}
.en-cta{display:flex;align-items:center;justify-content:center;height:40px;padding:0 18px;border-radius:999px;background:var(--en-accent);color:var(--en-ink);
  text-decoration:none;font-size:14px;font-weight:700;white-space:nowrap;transition:background .15s}
.en-cta:hover{background:var(--en-accent2);color:var(--en-ink)}
.en-cta--block{width:100%;height:52px;font-size:16px}
.en-pop{position:absolute;top:48px;left:0;min-width:180px;padding:6px;background:#17191d;border:1px solid var(--en-line2);border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.5);animation:en-drop .14s ease-out}
.en-pop--right{left:auto;right:0}
.en-pop__who{display:block;padding:8px 12px 10px;font-size:12px;color:var(--en-dim);border-bottom:1px solid var(--en-line);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.en-pop__item{display:block;width:100%;padding:10px 12px;border:0;border-radius:8px;background:none;color:var(--en-text);text-align:left;text-decoration:none;font-weight:500;font-size:14px;line-height:1.2;font-family:inherit;cursor:pointer;white-space:nowrap}
.en-pop__item:hover,.en-pop__item:focus-visible{background:var(--en-raise);outline:0}
.en-pop__item.is-on{color:var(--en-accent)}
.en-burger{display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#17191d;border:1px solid var(--en-line2);color:var(--en-text);cursor:pointer}
.en-burger:hover{border-color:var(--en-line3)}
.en-burger:focus-visible{outline:2px solid var(--en-accent);outline-offset:2px}

/* ── Phone menu ── */
.en-sheet{position:fixed;inset:0;z-index:2;display:flex;flex-direction:column;background:var(--en-bg);overflow-y:auto;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);animation:en-fade .16s ease-out}
@keyframes en-fade{from{opacity:0}to{opacity:1}}
.en-sheet__top{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 16px;border-bottom:1px solid var(--en-line);flex-shrink:0}
.en-sheet__top .en__brand b{font-size:14px;letter-spacing:.14em}
.en-sheet__close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:0;background:var(--en-accent);color:var(--en-ink);cursor:pointer}
.en-sheet__body{flex:1;display:flex;flex-direction:column;gap:22px;padding:20px 16px 24px}
.en-sheet__live{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;background:#170e0a;border:1px solid #2a1c16;color:var(--en-text);text-decoration:none}
.en-sheet__live > i{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--en-live);animation:en-pulse 1.6s infinite}
.en-sheet__live > span{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.en-sheet__live b{font-size:14px}
.en-sheet__live span span{font-size:12px;color:var(--en-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.en-sheet__live em{font-style:normal;font-size:18px;color:var(--en-accent)}
.en-sheet__search{display:flex;align-items:center;gap:10px;height:48px;padding:0 16px;border-radius:999px;border:1px solid var(--en-line2);background:#17191d;color:var(--en-dim);font-size:15px;line-height:1;font-family:inherit;text-align:left;cursor:text}
.en-sheet__nav{display:flex;flex-direction:column}
.en-sheet__item{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 4px;border-bottom:1px solid var(--en-line);color:var(--en-text);text-decoration:none;font-size:24px;font-weight:700;letter-spacing:-.01em}
.en-sheet__item:hover,.en-sheet__item:focus-visible{color:var(--en-accent);outline:0}
.en-sheet__item span{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;font-weight:600;color:var(--en-dim)}
.en-langs--sheet{display:flex;padding:4px}
.en-langs--sheet form{flex:1}
.en-langs--sheet .en-lang{width:100%;height:40px;font-size:12px}
.en-sheet__actions{margin-top:auto;display:flex;flex-direction:column;gap:10px}

/* ── Search dialog ── */
.en-find{position:fixed;inset:0;z-index:3;display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;background:rgba(5,6,7,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:en-fade .12s ease-out}
.en-find__box{width:min(640px,100%);max-height:76vh;display:flex;flex-direction:column;background:var(--en-panel);border:1px solid var(--en-line2);border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.6);overflow:hidden}
.en-find__field{display:flex;align-items:center;gap:12px;padding:0 16px;height:58px;border-bottom:1px solid var(--en-line);color:var(--en-dim)}
.en-find__field input{flex:1;min-width:0;height:100%;background:none;border:0;outline:0;color:var(--en-text);font-size:17px;line-height:1;font-family:inherit}
.en-find__field input::-webkit-search-cancel-button{display:none}
.en-find__close{display:flex;align-items:center;background:none;border:0;padding:0;color:var(--en-muted);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}
.en-find__close span{display:none}
.en-find__close:focus-visible{outline:2px solid var(--en-accent);outline-offset:2px;border-radius:6px}
@media (hover:none),(max-width:1023px){.en-find__close kbd{display:none}.en-find__close span{display:inline}}
.en-find__results{overflow-y:auto;padding:8px}
.en-find__results:empty{display:none}
.en-find__group{padding:10px 10px 4px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--en-dim)}
.en-find__hit{display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;color:var(--en-text);text-decoration:none}
.en-find__hit:hover,.en-find__hit.is-active{background:var(--en-raise)}
.en-find__hit .en-mega__badge{width:32px;height:32px;border-radius:8px;font-size:11px}
.en-find__hit b{font-size:14px;font-weight:600}
.en-find__hit small{display:block;font-size:12px;color:var(--en-muted);margin-top:2px}
.en-find__note{padding:18px 12px;color:var(--en-muted);font-size:14px}
.en-find mark{background:none;color:var(--en-accent)}

/* ── Widths ──
   engine-nav.js measures the bar and steps down only as far as needed, so wider labels (ЋИР) fit too:
   fit-1 search becomes an icon · fit-2 languages become a menu · fit-3 "How it works" moves to the menu ·
   fit-4 phone layout. Without JS the media queries below do the same at fixed widths. */
.en kbd{white-space:nowrap}
.en-search{flex-shrink:0}
.en--fit-1 .en-search,.en--fit-2 .en-search,.en--fit-3 .en-search{width:40px;padding:0;justify-content:center}
.en--fit-1 .en-search__ph,.en--fit-1 .en-search kbd,.en--fit-2 .en-search__ph,.en--fit-2 .en-search kbd,
.en--fit-3 .en-search__ph,.en--fit-3 .en-search kbd{display:none}
.en--fit-2 .en__bar > .en-langs,.en--fit-3 .en__bar > .en-langs{display:none}
.en--fit-2 .en-langmenu,.en--fit-3 .en-langmenu{display:block}
.en--fit-3 .en__link[data-en-section="how"]{display:none}
.en--fit-2 .en__links,.en--fit-3 .en__links{gap:18px;margin-left:6px}
.en--fit-3 .en__bar{gap:10px;padding:0 28px}
.en:not(.en--js) .en__bar{min-width:0}
@media (max-width:1279px){
  .en:not(.en--js) .en-search{width:40px;padding:0;justify-content:center}
  .en:not(.en--js) .en-search__ph,.en:not(.en--js) .en-search kbd{display:none}
  .en:not(.en--js) .en__bar > .en-langs{display:none}
  .en:not(.en--js) .en-langmenu{display:block}
}
@media (max-width:1023px){
  .en__bar{height:60px;padding:0 16px;gap:10px}
  .en__brand b{font-size:14px;letter-spacing:.14em}
  .en__links,.en-search,.en-langmenu,.en__bar > .en-langs,.en__account,.en__login,.en__bar > .en-cta{display:none}
  .en__livepill{display:inline-flex}
  .en-burger{display:flex}
}
.en--fit-4 .en__bar{height:60px;padding:0 16px;gap:10px}
.en--fit-4 .en__brand b{font-size:14px;letter-spacing:.14em}
.en--fit-4 .en__links,.en--fit-4 .en-search,.en--fit-4 .en-langmenu,.en--fit-4 .en__bar > .en-langs,
.en--fit-4 .en__account,.en--fit-4 .en__login,.en--fit-4 .en__bar > .en-cta{display:none}
.en--fit-4 .en__livepill{display:inline-flex}
.en--fit-4 .en-burger{display:flex}
@media (prefers-reduced-motion:reduce){
  .en *,.en-mega,.en-pop,.en-sheet,.en-find{animation:none!important;transition:none!important}
}
body.en-locked{overflow:hidden}
html{scroll-padding-top:72px}
