@font-face{
  font-family:"SWEuro";
  src:url("fonts/SWEuroRegular.woff2") format("woff2");
  font-display:swap;
}
@font-face{
  font-family:"Restore";
  src:url("fonts/Restore-W00-Bold.ttf") format("truetype");
  font-display:swap;
}
*,*::before,*::after{ box-sizing:border-box; }
html,body{ min-height:100%; }
body{
  margin:0; min-height:100svh; display:grid; place-items:center; padding:18px;
  color:#f6e9ea; font-family:"SWEuro","Arial Narrow",system-ui,sans-serif;
  background:
    radial-gradient(ellipse at 50% 42%,rgba(157,15,31,.18),transparent 47%),
    linear-gradient(rgba(5,2,5,.54),rgba(3,2,5,.82)),
    url("images/space-bg.jpg") center bottom / cover fixed no-repeat,#050205;
}
body::after{
  content:""; position:fixed; inset:0; pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.14) 0 1px,transparent 1px 4px);
}
.empire-shell{ width:min(760px,100%); }
.empire-terminal{
  position:relative; padding:28px; text-align:center; overflow:hidden;
  border:2px solid #df3040; border-radius:12px;
  background:linear-gradient(155deg,rgba(54,6,14,.82),rgba(10,4,9,.95) 62%,rgba(3,2,5,.98));
  box-shadow:0 0 0 4px rgba(5,2,5,.92),0 0 0 5px rgba(223,48,64,.4),0 0 34px rgba(223,48,64,.28);
}
.empire-terminal::before{
  content:""; position:absolute; inset:6px; pointer-events:none;
  border:1px solid rgba(255,80,94,.32); border-radius:8px;
}
.empire-terminal img{ display:block; width:100%; height:auto; margin:0 auto 22px; filter:drop-shadow(0 0 14px rgba(223,48,64,.3)); }
.empire-kicker{ display:block; width:100%; margin:0 auto 9px!important; color:#ff5968!important; font-size:9px!important; letter-spacing:.17em; text-align:center; text-wrap:balance; text-transform:uppercase; }
.empire-terminal h1{
  margin:0; font-family:"Restore","SWEuro",system-ui,sans-serif;
  font-size:clamp(30px,8vw,54px); line-height:1; letter-spacing:.09em;
  text-transform:uppercase; color:#fff4f5; text-shadow:0 0 12px rgba(223,48,64,.55);
}
.empire-terminal p{ max-width:560px; margin:17px auto 0; color:#d3aeb2; font-size:13px; line-height:1.65; }
.empire-terminal a{
  position:relative; isolation:isolate; overflow:hidden;
  display:inline-block; margin-top:24px; padding:11px 20px;
  color:#ffeef0; text-decoration:none; text-transform:uppercase; letter-spacing:.1em;
  border:1px solid rgba(255,80,94,.68); border-radius:6px;
  background:linear-gradient(180deg,rgba(126,13,29,.72),rgba(47,5,13,.86));
  box-shadow:inset 0 0 14px rgba(223,48,64,.1);
  text-shadow:0 0 6px rgba(255,80,94,.32);
  transition:color .2s ease,border-color .2s ease,box-shadow .25s ease,transform .08s ease;
}
.empire-terminal a::before{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  opacity:0; mix-blend-mode:screen; transition:opacity .25s ease;
  background:
    linear-gradient(90deg,transparent 5%,rgba(255,80,94,1) 50%,transparent 95%) top/100% 1.5px no-repeat,
    linear-gradient(90deg,transparent 5%,rgba(255,80,94,1) 50%,transparent 95%) bottom/100% 1.5px no-repeat,
    radial-gradient(72% 125% at 50% 0%,rgba(223,48,64,.82),rgba(223,48,64,.22) 42%,transparent 78%),
    radial-gradient(72% 125% at 50% 100%,rgba(223,48,64,.82),rgba(223,48,64,.22) 42%,transparent 78%);
}
.empire-terminal a:hover,.empire-terminal a:focus-visible{
  outline:none; border-color:rgba(255,80,94,.95); color:#fff;
  text-shadow:0 0 10px rgba(255,80,94,.95);
  box-shadow:
    0 -7px 18px -8px rgba(223,48,64,.95),
    0 7px 18px -8px rgba(223,48,64,.95),
    0 0 24px -8px rgba(223,48,64,.55);
}
.empire-terminal a:hover::before,.empire-terminal a:focus-visible::before{ opacity:1; }
.empire-terminal a:active{ transform:translateY(1px); color:#aa7479; text-shadow:none; box-shadow:inset 0 3px 9px rgba(0,0,0,.8); }
@media (max-width:520px){
  .empire-terminal{ padding:18px 14px 22px; }
  .empire-terminal img{ margin-bottom:18px; }
  .empire-terminal a{ display:block; }
}
@media (prefers-reduced-motion:reduce){ *,*::before,*::after{ transition:none!important; } }
