/* GEODOMAS CALC · ARCH LAB model passport V1 · 2026-10-08 */
.eg-al-launcher {
  position: fixed;
  z-index: 9998;
  top: calc(var(--eg-topbar-h, 48px) + 14px);
  left: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 7px 13px 7px 9px;
  border: 1px solid rgba(202, 169, 111, .56);
  border-radius: 14px;
  background: rgba(15, 22, 17, .93);
  box-shadow: 0 14px 36px rgba(16, 25, 19, .18);
  color: #f4f1e8;
  cursor: pointer;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.eg-al-launcher:hover,
.eg-al-launcher:focus-visible {
  transform: translateY(-1px);
  border-color: #e0bd83;
  background: rgba(22, 31, 24, .98);
  outline: none;
}

.eg-al-launcher[aria-expanded="true"] { border-color: #e0bd83; }

.eg-al-launcher__mark {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  flex: 0 0 34px;
  border: 1px solid rgba(224, 189, 131, .35);
  border-radius: 10px;
  background: #101914;
}

.eg-al-launcher__mark svg { width: 25px; height: 25px; }
.eg-al-launcher__copy { display: grid; gap: 2px; text-align: left; }
.eg-al-launcher__copy strong { color: #e2c28d; font: 700 10px/1.1 Arial, sans-serif; letter-spacing: .14em; }
.eg-al-launcher__copy span { color: #f3f1eb; font: 600 12px/1.2 Arial, sans-serif; }

.eg-al-panel {
  position: fixed;
  z-index: 10001;
  top: calc(var(--eg-topbar-h, 48px) + 74px);
  bottom: calc(var(--eg-dock-h, 48px) + 12px);
  left: 16px;
  width: min(390px, calc(100vw - 32px));
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(214, 182, 125, .38);
  border-radius: 20px;
  background:
    radial-gradient(circle at 92% 0, rgba(214, 182, 125, .14), transparent 34%),
    rgba(13, 20, 15, .975);
  box-shadow: 0 28px 80px rgba(9, 15, 11, .3);
  color: #eef2ec;
  opacity: 0;
  pointer-events: none;
  transform: translateX(calc(-100% - 28px));
  transition: opacity .24s ease, transform .28s cubic-bezier(.2,.8,.2,1);
  scrollbar-width: thin;
  scrollbar-color: #6e735e transparent;
}

.eg-al-panel.is-open {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

.eg-al-panel__head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: start;
  padding: 20px 20px 14px;
}

.eg-al-panel__kicker {
  margin: 0 0 7px;
  color: #d9b87e;
  font: 700 9px/1.2 Arial, sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.eg-al-panel h2 {
  margin: 0;
  color: #f5f3ec;
  font: 650 23px/1.08 Arial, sans-serif;
  letter-spacing: -.035em;
}

.eg-al-panel__close {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(235, 239, 232, .14);
  border-radius: 10px;
  background: rgba(255,255,255,.045);
  color: #e9eee8;
  cursor: pointer;
  font-size: 21px;
}

.eg-al-panel__close:hover,
.eg-al-panel__close:focus-visible { border-color: #d9b87e; color: #efd8ad; outline: none; }

.eg-al-panel__intro {
  margin: 0;
  padding: 0 20px 16px;
  color: #aab6ad;
  font: 400 13px/1.6 Arial, sans-serif;
}

.eg-al-panel__visual {
  margin: 0 12px;
  overflow: hidden;
  border: 1px solid rgba(217, 184, 126, .18);
  border-radius: 14px;
  background: #0d1510;
}
.eg-al-panel__visual img { display: block; width: 100%; height: auto; }

.eg-al-metrics {
  display: grid;
  grid-template-columns: 1.25fr repeat(3, 1fr);
  gap: 6px;
  padding: 12px;
}

.eg-al-metric {
  min-width: 0;
  padding: 9px 8px;
  border: 1px solid rgba(235, 239, 232, .1);
  border-radius: 10px;
  background: rgba(255,255,255,.035);
}
.eg-al-metric small { display: block; margin-bottom: 4px; color: #829087; font: 700 8px/1 Arial, sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.eg-al-metric strong { display: block; overflow: hidden; color: #f2eee3; font: 700 11px/1.25 Arial, sans-serif; text-overflow: ellipsis; white-space: nowrap; }

.eg-al-steps { display: grid; gap: 7px; padding: 2px 12px 12px; }
.eg-al-step {
  display: grid;
  grid-template-columns: 31px 1fr;
  gap: 10px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid rgba(235,239,232,.08);
  border-radius: 11px;
  background: rgba(255,255,255,.025);
}
.eg-al-step b { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 9px; background: #211d16; color: #deb978; font: 700 10px/1 Arial, sans-serif; }
.eg-al-step span { color: #d9e0da; font: 600 11px/1.35 Arial, sans-serif; }

.eg-al-boundary {
  margin: 0 12px;
  padding: 11px 12px;
  border-left: 3px solid #c69c5c;
  border-radius: 0 10px 10px 0;
  background: rgba(205, 166, 101, .1);
  color: #b6c0b8;
  font: 400 11px/1.5 Arial, sans-serif;
}

.eg-al-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 12px 12px 16px; }
.eg-al-actions a {
  display: flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border: 1px solid rgba(217,184,126,.3);
  border-radius: 11px;
  color: #e2c38d;
  font: 700 10px/1.25 Arial, sans-serif;
  text-align: center;
  text-decoration: none;
}
.eg-al-actions a:hover,.eg-al-actions a:focus-visible { border-color: #e5c78f; background: rgba(217,184,126,.08); color: #fff1d1; outline: none; }

html.eg-settings-open .eg-al-launcher,
html.eg-settings-open .eg-al-panel { opacity: 0; pointer-events: none; }

@media (max-width: 1119px) {
  .eg-al-panel { top: calc(var(--eg-topbar-h, 48px) + 66px); }
}

@media (max-width: 700px) {
  .eg-al-launcher { top: calc(var(--eg-topbar-h, 44px) + 8px); left: 8px; min-height: 42px; padding: 4px; border-radius: 12px; }
  .eg-al-launcher__mark { width: 32px; height: 32px; flex-basis: 32px; }
  .eg-al-launcher__copy { display: none; }
  .eg-al-panel { top: calc(var(--eg-topbar-h, 44px) + 58px); right: 8px; bottom: calc(var(--eg-dock-h, 48px) + 8px); left: 8px; width: auto; border-radius: 16px; }
  .eg-al-panel__head { padding: 16px 15px 11px; }
  .eg-al-panel h2 { font-size: 20px; }
  .eg-al-panel__intro { padding: 0 15px 12px; font-size: 12px; }
  .eg-al-metrics { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .eg-al-launcher,.eg-al-panel { transition: none; }
}
