/* OBSIDIAN CONTROL — isolated opening scene for the native portal. */
#entry {
  --ground:#080c11;
  --layer:#0d151a;
  --raised:#121d22;
  --line:#26363a;
  --text:#edf7f5;
  --muted:#9bacad;
  --copper:#ffba75;
  --ice:#6df7e0;
  --green:#6df7e0;
  color-scheme:dark;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  min-height:100svh;
  padding:clamp(22px,3.4vw,54px) clamp(22px,5.1vw,82px) clamp(18px,2.5vw,34px);
  background:
    radial-gradient(ellipse at 27% 55%,#6df7e010 0,transparent 37%),
    radial-gradient(ellipse at 76% 46%,#ffba7509 0,transparent 34%),
    #080c11;
  color:var(--text);
}

#entry::after { display:none; }
#entry .entry-grid {
  opacity:.42;
  background-image:
    linear-gradient(#c7e5e009 1px,transparent 1px),
    linear-gradient(90deg,#c7e5e009 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(90deg,transparent 1%,#000 28%,#000 74%,transparent 100%);
}
#entry .entry-glow {
  background:
    radial-gradient(ellipse at 79% 50%,#ffba7510,transparent 44%),
    radial-gradient(ellipse at 25% 63%,#6df7e012,transparent 42%),
    linear-gradient(105deg,transparent 58%,#1019208c 100%);
}
#entry .orbital {
  width:min(75vw,1080px);
  top:52%; left:43%;
  opacity:.86;
  filter:saturate(.88);
}
#entry .orbital img { opacity:.78; }
:root[data-cinema=on] #entry .signal-sphere img { opacity:.18; }
#entry .orbit-motion { opacity:.78; }
#entry .entry-header,
#entry .entry-frame,
#entry .entry-footer { position:relative; z-index:1; }
#entry .entry-header { min-height:54px; }
#entry .brand { gap:13px; letter-spacing:.025em; font-weight:720; }
#entry .brand img { filter:drop-shadow(0 0 14px #6df7e029); }
#entry .brand small {
  margin-top:5px;
  color:#849a9b;
  font-size:.62rem;
  letter-spacing:.19em;
}
#entry .entry-secure {
  min-height:34px;
  padding:0 12px;
  border:1px solid #6df7e028;
  border-radius:3px;
  background:#6df7e008;
  color:#b4d9d3;
  font-size:.64rem;
  letter-spacing:.16em;
}
#entry .entry-secure i,
#entry .eyebrow > span {
  width:7px; height:7px;
  background:var(--ice);
  box-shadow:0 0 12px #6df7e0a6;
}
#entry .entry-frame {
  width:min(100%,1480px);
  margin-inline:auto;
  padding:clamp(54px,8vh,112px) clamp(0px,3vw,44px);
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);
  gap:clamp(48px,9vw,148px);
  align-items:center;
}
#entry .entry-title {
  align-self:center;
  max-width:720px;
  padding:0;
  text-shadow:none;
  animation:none;
}
#entry .eyebrow {
  color:var(--ice);
  font-size:.67rem;
  letter-spacing:.19em;
}
#entry .entry-title .eyebrow { margin-bottom:25px; }
#entry .entry-title h1 {
  max-width:10ch;
  margin:0 0 25px;
  font-size:clamp(4rem,7.25vw,7.8rem);
  line-height:.93;
  font-weight:670;
  letter-spacing:-.066em;
}
#entry .entry-title h1 span {
  margin-top:.13em;
  color:var(--ice);
  text-wrap:nowrap;
}
#entry .entry-title > p:last-child {
  max-width:39ch;
  color:#afbfbe;
  font-size:clamp(1rem,1.35vw,1.16rem);
  line-height:1.7;
}
#entry .access-card {
  position:relative;
  align-self:center;
  width:min(100%,440px);
  justify-self:end;
  padding:clamp(26px,3.2vw,46px);
  border:1px solid #314145;
  border-radius:8px;
  background:linear-gradient(145deg,#10191ef2,#0b1116f7 70%);
  box-shadow:0 28px 100px #0009, inset 0 1px #ffffff08;
  backdrop-filter:blur(18px);
  animation:none;
}
#entry .access-card::before {
  content:"";
  position:absolute; top:-1px; left:26px;
  width:62px; height:2px;
  background:linear-gradient(90deg,var(--ice),var(--copper));
  box-shadow:0 0 16px #6df7e056;
}
#entry .access-card > .eyebrow { margin-bottom:10px; }
#entry .access-card h2 {
  margin:.15rem 0 .45rem;
  font-size:2.55rem;
  font-weight:640;
  letter-spacing:-.065em;
  line-height:1.08;
}
#entry .access-card .muted { color:#93a5a6; font-size:.9rem; }
#entry .access-card form { gap:17px; margin-top:27px; }
#entry .access-card label { gap:8px; color:#c8d5d3; font-size:.79rem; font-weight:590; letter-spacing:.015em; }
#entry .access-card input:not([type=checkbox]) {
  min-height:50px;
  padding:12px 14px;
  border:1px solid #34454a;
  border-radius:4px;
  background:#080e12;
  color:var(--text);
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
#entry .access-card input::placeholder { color:#738585; }
#entry .access-card input:hover { border-color:#506568; }
#entry .access-card input:focus-visible {
  border-color:var(--ice);
  background:#0b1418;
  box-shadow:0 0 0 3px #6df7e01b;
  outline:0;
}
#entry .access-card .primary {
  min-height:51px;
  margin-top:6px;
  padding:0 17px;
  border:1px solid var(--ice);
  border-radius:4px;
  background:var(--ice);
  color:#06120f;
  font-weight:760;
  letter-spacing:.015em;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
#entry .access-card .primary:hover:not(:disabled) {
  border-color:#a3fff2;
  background:#a3fff2;
  box-shadow:0 0 22px #6df7e02c;
}
#entry .access-card .primary:disabled { opacity:.48; }
#entry .access-card .primary span { color:#17463e; font-size:1.15rem; }
#entry #login-status { min-height:1.3em; color:#8ea19f; font-size:.76rem; }
#entry #login-status[data-error=true] { color:#ff9b91; }
#entry .entry-footer {
  width:min(100%,1480px);
  min-height:42px;
  margin-inline:auto;
  gap:clamp(12px,2vw,28px);
  color:#849595;
  font-size:.61rem;
  letter-spacing:.16em;
}
#entry .entry-footer > span { white-space:nowrap; }
#entry .entry-footer > i {
  height:1px;
  flex:1 1 50px;
  background:linear-gradient(90deg,#6df7e044,#26363a 45%,#ffba753b);
}
#entry .entry-footer #intro-controls {
  gap:8px;
  color:#9aacab;
  font-size:.72rem;
}
#entry .motion-compact label { gap:7px; }
#entry .motion-compact select,
#entry .replay {
  min-height:36px;
  padding:6px 9px;
  border:1px solid #34454a;
  border-radius:4px;
  background:#0c1418;
}
#entry .replay { color:var(--ice); }
#entry :focus-visible { outline-color:var(--copper); outline-offset:4px; }

@media (min-width:1050px) {
  #entry { padding-inline:clamp(34px,5.1vw,82px); }
}
@media (max-width:1049px) {
  #entry { min-height:100svh; }
  #entry .entry-frame {
    grid-template-columns:minmax(0,1fr) minmax(310px,.82fr);
    gap:clamp(28px,5vw,64px);
    padding-inline:0;
  }
  #entry .entry-title h1 { font-size:clamp(3.35rem,7.4vw,5.7rem); }
  #entry .orbital { width:min(100vw,900px); left:42%; opacity:.65; }
  #entry .access-card { justify-self:stretch; width:100%; padding:clamp(22px,3.2vw,34px); }
}
@media (max-width:760px) {
  #entry {
    min-height:100svh;
    grid-template-rows:auto 1fr auto;
    padding:20px clamp(19px,5vw,32px) 18px;
  }
  #entry .entry-header { gap:12px; }
  #entry .entry-secure { padding-inline:9px; font-size:.57rem; }
  #entry .brand { gap:10px; font-size:.9rem; }
  #entry .brand img { width:36px; height:36px; }
  #entry .brand small { font-size:.56rem; }
  #entry .entry-frame {
    grid-template-columns:minmax(0,1fr);
    align-content:center;
    gap:clamp(26px,6vh,42px);
    padding-block:clamp(42px,8vh,74px);
  }
  #entry .entry-title { max-width:570px; }
  #entry .entry-title .eyebrow { margin-bottom:16px; }
  #entry .entry-title h1 {
    max-width:none;
    margin-bottom:14px;
    font-size:clamp(3.4rem,12vw,5.3rem);
  }
  #entry .entry-title h1 span { text-wrap:initial; }
  #entry .entry-title > p:last-child { max-width:34ch; font-size:.96rem; }
  #entry .access-card { max-width:520px; justify-self:start; padding:25px; }
  #entry .access-card h2 { font-size:2.2rem; }
  #entry .orbital { width:min(128vw,740px); top:34%; left:89%; opacity:.42; }
  #entry .entry-footer { min-height:0; gap:10px; font-size:.53rem; letter-spacing:.08em; }
  #entry .entry-footer > i { display:none; }
  #entry .entry-footer #intro-controls { flex-wrap:wrap; justify-content:flex-start; }
}
@media (max-width:430px) {
  #entry { padding-inline:16px; }
  #entry .entry-secure { gap:7px; font-size:.51rem; letter-spacing:.1em; }
  #entry .entry-frame { gap:28px; padding-block:40px; }
  #entry .entry-title h1 { font-size:clamp(2.55rem,12.5vw,4rem); }
  #entry .access-card { padding:22px 19px; }
  #entry .access-card form { gap:13px; margin-top:20px; }
  #entry .access-card input:not([type=checkbox]) { min-height:46px; }
  #entry .entry-footer { align-items:flex-start; flex-direction:column; padding-top:9px; }
  #entry .entry-footer > span:last-child { display:none; }
}

:root[data-cinema=on] #entry .entry-title { animation:entry-arrive .7s cubic-bezier(.2,.75,.18,1) both; }
:root[data-cinema=on] #entry .access-card { animation:card-arrive .72s .08s cubic-bezier(.2,.75,.18,1) both; }
@keyframes entry-arrive { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
@keyframes card-arrive { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) {
  #entry *, #entry *::before, #entry *::after {
    scroll-behavior:auto !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}
