/* Embassy Eden — Download Gate (intro screen, bottom-left).
   A quiet offer to carry the whole estate on the device. Dark botanical glass,
   hairline gold, serif voice. Never overlaps .intro-brand / .intro-copy /
   #enterApp (verified at 1366×1024 and 1280×800). */

.eden-gate{
  position:absolute;left:26px;bottom:22px;z-index:3;
  max-width:min(340px,42vw);
  opacity:0;pointer-events:none;
  transition:opacity 1s var(--ease) 1.15s;
}
.intro.is-revealed .eden-gate{opacity:1;pointer-events:auto}
.eden-gate[data-state="hidden"]{display:none}

/* ---------- shared card shell ---------- */
.eg-card{
  background:linear-gradient(155deg,rgba(16,24,19,.74),rgba(10,16,12,.62));
  border:1px solid rgba(233,201,135,.22);
  border-radius:14px;
  box-shadow:0 18px 48px rgba(0,0,0,.42);
  backdrop-filter:blur(18px) saturate(112%);
  -webkit-backdrop-filter:blur(18px) saturate(112%);
  color:#f4e9d4;
  padding:15px 17px 14px;
  text-align:left;text-shadow:none;
  animation:egSettle .7s var(--ease) both;
}
@keyframes egSettle{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .eg-card{animation-duration:.01ms}
  .eden-gate{transition-duration:.01ms;transition-delay:0s}
}

.eg-eyebrow{
  margin:0;font-family:var(--sans);font-size:9.5px;letter-spacing:.24em;
  text-transform:uppercase;color:rgba(244,233,212,.62);
}
.eg-eyebrow b{color:#e9c987;font-weight:600}

/* ---------- idle offer ---------- */
.eg-lede{
  margin:7px 0 0;font-family:var(--serif);font-size:15.5px;line-height:1.32;
  color:#f4e9d4;max-width:250px;
}
.eg-download{
  margin-top:11px;min-height:46px;width:100%;
  display:flex;align-items:center;justify-content:center;gap:9px;
  border:1px solid rgba(233,201,135,.55);border-radius:10px;
  background:linear-gradient(160deg,rgba(233,201,135,.16),rgba(233,201,135,.05));
  color:#e9c987;font-family:var(--sans);font-size:11px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;
  transition:background .35s var(--ease),border-color .35s var(--ease);
}
.eg-download:active{background:rgba(233,201,135,.26);border-color:#e9c987}
.eg-download svg{width:13px;height:13px;flex:none}
.eg-download svg path{stroke:#e9c987;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* ---------- progress manifest ---------- */
.eg-card.eg-run{width:324px;max-height:min(31vh,340px);display:flex;flex-direction:column}
.eg-run-head{flex:none;display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:9px}
.eg-total{margin:0;font-family:var(--serif);font-size:13px;color:rgba(244,233,212,.85);white-space:nowrap}
.eg-total b{color:#e9c987;font-weight:600;font-variant-numeric:tabular-nums}
.eg-rows{list-style:none;margin:0;padding:0;overflow-y:auto;scrollbar-width:none}
.eg-rows::-webkit-scrollbar{display:none}
.eg-row{padding:3px 0 6px}
.eg-row-top{display:flex;align-items:baseline;gap:8px;font-family:var(--sans);font-size:10.5px;letter-spacing:.04em}
.eg-name{color:rgba(244,233,212,.86);flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eg-count{color:rgba(244,233,212,.5);font-variant-numeric:tabular-nums;flex:none}
.eg-size{color:rgba(233,201,135,.75);font-variant-numeric:tabular-nums;flex:none;min-width:52px;text-align:right}
.eg-bar{height:2px;margin-top:4px;border-radius:2px;background:rgba(244,233,212,.13);overflow:hidden}
.eg-bar i{display:block;height:100%;width:0%;border-radius:2px;background:linear-gradient(90deg,#b89a5e,#e9c987);transition:width .45s var(--ease)}
.eg-row.is-done .eg-name{color:rgba(244,233,212,.55)}
.eg-row.is-done .eg-count{color:rgba(233,201,135,.7)}
.eg-note{display:none;margin-top:3px;font-family:var(--sans);font-size:9.5px;letter-spacing:.08em;color:#d9a95c}
.eg-row.is-warn .eg-note{display:block}
.eg-row.is-warn .eg-bar i{background:linear-gradient(90deg,#a97c3f,#d9a95c)}

/* ---------- completion ---------- */
.eg-card.eg-done-card{display:flex;align-items:center;gap:13px;width:300px}
.eg-check{
  flex:none;width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(233,201,135,.6);
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 50% 38%,rgba(233,201,135,.22),rgba(233,201,135,.05));
  animation:egCheck .8s var(--ease) both;
}
@keyframes egCheck{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
.eg-check svg{width:16px;height:16px}
.eg-check svg path{stroke:#e9c987;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.eg-done-copy{margin:0}
.eg-done-copy b{display:block;font-family:var(--serif);font-size:15px;font-weight:500;letter-spacing:.02em;color:#f4e9d4}
.eg-done-copy small{display:block;margin-top:3px;font-family:var(--sans);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(233,201,135,.8)}
.eden-gate.is-fading .eg-card{opacity:0;transform:translateY(6px);transition:opacity .9s var(--ease),transform .9s var(--ease)}

/* ---------- slim offline chip ---------- */
.eg-chip{
  min-height:44px;display:flex;align-items:center;gap:8px;
  padding:0 16px;border-radius:999px;
  background:rgba(10,16,12,.55);
  border:1px solid rgba(233,201,135,.28);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  color:rgba(244,233,212,.85);font-family:var(--sans);
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  animation:egSettle .7s var(--ease) both;
}
.eg-chip i{font-style:normal;color:#e9c987;font-size:12px;line-height:1}

/* ═══════════ FULLSCREEN gate — the estate offers itself before the intro ═══════════ */
.eden-gate--screen{
  position:fixed;inset:0;z-index:80;left:auto;bottom:auto;max-width:none;
  width:100%;height:100%;
  display:grid;place-items:center;
  background:
    radial-gradient(120% 120% at 50% 40%, transparent 40%, rgba(4,8,5,.55) 100%),
    url("assets/brand/eden-night-garden-plate.png") center/cover no-repeat,
    #0a100c;
  transition:opacity .6s var(--ease);
}
.eden-gate--screen.is-leaving{opacity:0;pointer-events:none}
.eden-gate--screen[data-state="hidden"]{display:none}
/* chip state never fullscreen (pack complete → no gate) */
.eden-gate--screen[data-state="chip"]{display:none}
.eg-screen{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  max-width:min(600px,86vw);padding:40px;
}
.eg-screen .eg-logo{width:150px;height:auto;margin-bottom:14px;opacity:.96}
.eg-screen .eg-wordmark{font:400 30px var(--serif);letter-spacing:.5em;text-indent:.5em;color:#f4e9d4;margin-bottom:16px}
.eg-screen .eg-rule{width:150px;height:1px;background:rgba(228,201,176,.4);margin-bottom:14px}
.eg-screen .eg-sub{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:#cbb894;margin-bottom:46px}
.eg-screen .eg-eyebrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#e9c987;margin-bottom:12px}
.eg-screen .eg-lede{font-size:13px;line-height:1.8;color:rgba(244,233,212,.78);margin-bottom:30px}
.eg-screen .eg-download{min-width:320px;justify-content:center}
.eg-screen .eg-skip{
  margin-top:22px;background:none;border:0;cursor:pointer;
  font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;
  color:rgba(244,233,212,.5);border-bottom:1px solid rgba(228,201,176,.25);
  padding:6px 2px;transition:color .3s}
.eg-screen .eg-skip:hover{color:#e9c987}
.eg-screen .eg-check{width:52px;height:52px;margin-bottom:18px}
.eg-screen .eg-check svg{width:100%;height:100%;stroke:#e9c987;fill:none;stroke-width:1.4}
.eg-screen .eg-done-copy b{display:block;font:400 26px var(--serif);color:#f4e9d4;margin-bottom:8px}
.eg-screen .eg-done-copy small{display:block;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#cbb894;margin-bottom:30px}
.eg-enter{min-width:280px}
/* the running manifest, centered fullscreen */
.eden-gate--screen[data-state="running"] .eg-card{position:static;max-width:min(620px,88vw);width:100%}
/* the fullscreen gate is the FIRST thing seen — never gated on the intro reveal */
.eden-gate--screen{opacity:1!important;pointer-events:auto!important;transition:opacity .6s var(--ease)!important}
.eden-gate--screen.is-leaving{opacity:0!important;pointer-events:none!important}
/* the wordmark webp carries a baked black plate — screen-blend it away */
.eg-screen .eg-logo{mix-blend-mode:screen}
.eg-screen .eg-logo{mix-blend-mode:screen}
