@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif&display=swap');

:root{
  --champagne:#edcfaa;
  --champagne-bright:#fff0d9;
  --champagne-line:#d2ac7947;
  --observation-ink:#f9f2eb;
  --observation-night:#10111b;
}
.screen-reader{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap;border:0;
}
.web body{background:radial-gradient(ellipse at 55% 0,#1d1926 0,transparent 52%),#10111a}
.web .shell{display:block}
.web .shell>main{max-width:1440px;padding:30px clamp(24px,4.7vw,70px) 64px}
.web .shell>aside{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;
  padding:0 clamp(24px,4.7vw,70px);height:74px;top:0;z-index:10;overflow:visible;
  background:#11121beF;border:0;border-bottom:1px solid #e4c4a224;backdrop-filter:blur(18px);
}
.web aside .brand{padding:0;border:0;font-size:19px;letter-spacing:-.035em}
.web aside .brand b{
  border:1px solid #ffe1b696;color:#2c1e26;background:linear-gradient(140deg,#ffe6c5,#bd946e);
  box-shadow:inset 0 1px #fff9;font-size:21px;border-radius:10px;
}
.web aside .brand small{font-size:9px;letter-spacing:.13em;color:#c3af9c}
.web .mobile-quick{display:flex;align-items:stretch;height:100%;gap:clamp(7px,1.15vw,21px);padding:0}
.web .mobile-quick a,.web .mobile-quick button{
  display:flex;align-items:center;justify-content:center;padding:0 6px;min-height:0;border-radius:0;
  border:0;background:none;color:#c9c3d1;white-space:nowrap;font-size:14px;
}
.web .mobile-quick a.active{box-shadow:inset 0 -2px var(--champagne);color:var(--champagne-bright)}
.web .mobile-quick a:hover,.web .mobile-quick button:hover{color:var(--champagne-bright)}
.web #mobileMenu span{margin-left:5px}
.web .shell>aside .menu{display:none}
.web aside:has(#mobileMenu[aria-expanded=true]) .menu{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;
  position:absolute;top:calc(100% + 8px);right:clamp(16px,4.7vw,70px);left:auto;
  width:min(425px,calc(100vw - 32px));max-height:min(73vh,580px);padding:13px;
  overflow:auto;background:#191923;border:1px solid var(--champagne-line);border-radius:14px;
  box-shadow:0 18px 55px #050508b3;
}
.web aside .menu h6{display:block;grid-column:1/-1;margin:9px 8px 3px;color:#d5bda7}
.web aside .menu a{min-width:0;white-space:normal}
.web aside .menu a.active{border-color:var(--champagne);color:var(--champagne-bright);background:#2b2430}
.web aside .surface,.web .userbar,.web-account{display:none}
html:not(.web) aside .menu .desktop-launch{display:none}
.web .web-account{
  display:inline-block;justify-self:end;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  padding:7px 12px;border:1px solid var(--champagne-line);border-radius:8px;color:var(--champagne-bright);font-size:13px;
}
.web .web-account:hover{background:#302737}

.observation-hero{
  position:relative;isolation:isolate;display:grid;align-items:center;min-height:clamp(400px,36vw,525px);
  overflow:hidden;border:1px solid var(--champagne-line);border-radius:22px;
  background:#131525;box-shadow:0 18px 60px #04050a3b,inset 0 1px #fff1;color:var(--observation-ink);
}
.observation-scene{position:absolute;inset:0;overflow:hidden;z-index:-1}
.observation-backdrop{display:block;width:100%;height:100%;object-fit:cover;object-position:center 49%;transform:scale(1.05)}
.observation-scene::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,#10121dee 0%,#10121daa 33%,#10121d0a 63%,transparent);
}
.observation-scene .observation-backdrop{animation:observation-drift 22s ease-in-out infinite alternate}
.observation-light{
  position:absolute;inset:-20%;pointer-events:none;
  background:radial-gradient(ellipse at 77% 45%,#dcb59725,transparent 24%),
             radial-gradient(ellipse at 61% 71%,#9b86dd29,transparent 24%);
  animation:observation-reflection 12s ease-in-out infinite alternate;
}
.observation-stars{position:absolute;inset:0;pointer-events:none}
.star-orbit{
  position:absolute;top:49%;left:71%;width:min(44%,565px);aspect-ratio:1;
  transform:translate(-50%,-50%) rotate(-24deg) scaleY(.61);
  border:1px solid #e6c9a52b;border-radius:50%;
}
.star-orbit.orbit-inner{
  top:47%;left:73%;width:min(34%,445px);transform:translate(-50%,-50%) rotate(19deg) scaleY(.67);
  border-color:#b4a6f524;
}
.star-rotation{position:absolute;inset:-1px;animation:star-revolve 27s linear infinite}
.orbit-inner .star-rotation{animation-duration:37s;animation-direction:reverse;animation-delay:-13s}
.star-rotation i,.star-spark{
  position:absolute;width:var(--size,10px);aspect-ratio:1;translate:-50% -50%;
  color:#ffdbac;filter:drop-shadow(0 0 5px #ffdbacc7);
}
.star-rotation i::before,.star-spark::before{
  content:'';display:block;width:100%;height:100%;background:currentColor;
  clip-path:polygon(50% 0,59% 40%,100% 50%,59% 60%,50% 100%,41% 60%,0 50%,41% 40%);
}
.star-rotation i:nth-child(1){top:0;left:50%;--size:15px}
.star-rotation i:nth-child(2){top:50%;left:100%;--size:9px}
.star-rotation i:nth-child(3){top:100%;left:50%;--size:6px}
.orbit-inner i{color:#e7dcff;filter:drop-shadow(0 0 5px #c8acffbf)}
.star-spark{top:var(--y);left:var(--x);opacity:.42;animation:star-shimmer 6.4s ease-in-out var(--delay) infinite}
.star-spark:nth-of-type(2n){color:#e9dfff;animation-duration:7.7s}
.observation-aha{
  position:absolute;display:block;width:min(65%,760px);height:140%;object-fit:contain;
  top:50%;right:1%;transform:translateY(-50%);z-index:1;
}
.observation-hero.is-paused :is(.observation-backdrop,.observation-light,.star-rotation,.star-spark){animation-play-state:paused}
.observation-copy{padding:clamp(26px,5vw,75px);width:min(62%,660px)}
.observation-copy .eyebrow{color:var(--champagne);letter-spacing:.16em}
.observation-copy .eyebrow b{
  padding:2px 7px;border:1px solid var(--champagne-line);border-radius:5px;
  font-size:11px;margin-left:5px;letter-spacing:.06em;
}
.observation-copy h1{
  font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(60px,8.1vw,116px);
  line-height:.96;letter-spacing:-.035em;margin:22px 0 17px;white-space:nowrap;
}
.observation-copy h1 span{color:var(--champagne);font-size:.46em;vertical-align:middle}
.observation-copy p{max-width:305px;margin:0 0 23px;color:#ded5e2;font-size:16px}
.observation-copy .button{background:#201c2be8;border-color:#d1b4cc51;color:#fbf1ed;padding:10px 15px}
.observation-copy .button:hover{border-color:#ffe9cb}
.observation-motion{
  position:absolute;right:13px;bottom:13px;z-index:2;
  background:#14131ede;color:#f7e1c6;border-color:#ffe6bf51;
  font-size:11px;min-height:31px;padding:4px 9px;
}
.home-shortcuts{
  display:flex;gap:8px 20px;flex-wrap:wrap;border-bottom:1px solid #e4c4a21d;
  padding:15px 0;color:var(--champagne);
}
.home-shortcuts a{padding:4px 0;gap:7px}
.home-shortcuts a+a{border-left:1px solid #e4c4a224;padding-left:18px;border-radius:0}
.home-shortcuts span{color:#ded5e2}
.home-shortcuts a:hover span{color:var(--champagne-bright)}
[data-page=overview] .home-section{margin-top:23px}
[data-page=overview] .section-title h2{font-size:clamp(23px,2.1vw,32px)}
[data-page=overview] .section-title .button{
  background:#1c1925;border-color:var(--champagne-line);color:var(--champagne-bright);
}
[data-page=overview] .compact-warp{
  display:flex;flex-direction:column;background:linear-gradient(135deg,#211d2a,#181922);
  border-color:#d6b89933;border-radius:12px;
}
[data-page=overview] .compact-warp .warp-art{
  position:relative;width:100%;height:auto;aspect-ratio:728/410;overflow:hidden;
  background:#151521;border-bottom:1px solid #d6b89933;
}
[data-page=overview] .compact-warp .warp-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
[data-page=overview] .compact-warp .warp-info{padding:13px 15px 15px}
[data-page=overview] .compact-warp h3{font-size:19px}
[data-page=overview] .compact-warp .warp-units{gap:5px}
[data-page=overview] .compact-warp .warp-units a{flex:0 1 auto;font-size:11px}
[data-page=overview] .compact-warp .warp-units .avatar{width:24px;height:24px}
[data-page=overview] .compact-warp .warp-info p{font-size:12px}
[data-page=overview] .compact-warp .warp-meta span{color:#dfc3a6}
[data-page=overview] .news-tile{border-color:#d6b89930;background:#191925}
[data-page=overview] .news-tile span,[data-page=overview] .section-title .link{color:var(--champagne)}
[data-page=overview] .news-tile:hover{border-color:var(--champagne)}

.opening-hero{
  min-height:clamp(400px,36vw,525px);border-radius:22px;border:1px solid #cda97e29;
  display:flex;justify-content:center;align-items:flex-start;flex-direction:column;
  padding:clamp(26px,5vw,75px);gap:19px;
}
.opening-hero span{height:13px;width:min(180px,44%);border-radius:5px;background:#524759}
.opening-hero span:nth-child(2){height:clamp(38px,6vw,72px);width:min(440px,70%)}
.opening-hero span:nth-child(3){height:32px;width:min(270px,58%)}
.opening-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:56px}
.opening-grid .skeleton,.news-placeholder{border-radius:12px;height:130px}
.news-placeholder{height:84px}
.skeleton,[data-art-loading]{position:relative;overflow:hidden;background:#211e2c}
.observation-scene.skeleton{position:absolute}
.skeleton::before,[data-art-loading]::before{
  content:'';position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(105deg,transparent 32%,#ead0b71a 49%,transparent 66%);
  transform:translateX(-100%);animation:skeleton-glide 1.55s ease-in-out infinite;
}
.observation-scene.skeleton:not([data-art-loading])::before{display:none}
[data-art-loading] img,[data-art-loading] :is(.observation-light,.observation-stars){visibility:hidden}
.observation-scene:not([data-art-loading]) .observation-aha,
.compact-warp .warp-art:not([data-art-loading]) .warp-image,
.news-arrived{animation:content-arrive .48s ease both}

@keyframes skeleton-glide{to{transform:translateX(100%)}}
@keyframes content-arrive{from{opacity:0}to{opacity:1}}
@keyframes observation-drift{from{transform:scale(1.05) translateX(0)}to{transform:scale(1.095) translateX(-.9%)}}
@keyframes observation-reflection{from{opacity:.37;transform:translateX(1%)}to{opacity:.96;transform:translateX(-1.6%)}}
@keyframes star-revolve{to{transform:rotate(1turn)}}
@keyframes star-shimmer{
  0%,100%{opacity:.22;transform:scale(.68) rotate(0)}
  45%{opacity:.93;transform:scale(1.16) rotate(.125turn)}
  73%{opacity:.42;transform:scale(.88) rotate(.055turn)}
}
@media(max-width:1120px){
  .web .shell>aside{padding-inline:22px}
  .web .shell>main{padding-inline:24px}
  .web .mobile-quick{gap:6px}
}
@media(max-width:1000px){
  [data-page=overview] .warp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .observation-aha{width:69%;right:-4%}
}
@media(max-width:780px){
  .web .shell>aside{height:auto;grid-template-columns:1fr auto;padding:9px 15px 0;gap:4px 12px}
  .web aside .brand{font-size:17px}
  .web .web-account{grid-column:2;grid-row:1}
  .web .mobile-quick{grid-column:1/-1;grid-row:2;min-height:39px;justify-content:space-between;gap:2px}
  .web .mobile-quick a,.web .mobile-quick button{font-size:12px;padding-inline:3px}
  .web .shell>main{padding:16px 16px 42px}
  .observation-hero{min-height:375px}
  .observation-copy{padding:22px}
  .observation-copy h1{font-size:clamp(55px,10vw,78px)}
}
@media(max-width:580px){
  .web .mobile-quick .quick-tier{display:none}
  .observation-hero{display:flex;align-items:flex-end;min-height:475px;border-radius:17px}
  .observation-scene{bottom:auto;height:62%}
  .observation-scene::after{background:linear-gradient(0deg,#131525 0%,transparent 24%)}
  .observation-aha{width:100%;height:118%;right:0}
  .star-orbit{left:53%;width:87%}
  .star-orbit.orbit-inner{left:56%;width:69%}
  .observation-copy{width:100%;padding:0 18px 21px}
  .observation-copy h1{margin:11px 0}
  .observation-copy p{font-size:14px;margin-bottom:12px}
  .observation-copy .button{font-size:12px;padding:8px 9px;min-height:35px}
  .observation-motion{top:7px;bottom:auto;right:7px}
  .home-shortcuts{gap:6px 13px}
  .home-shortcuts a+a{padding-left:0;border-left:0}
  .home-shortcuts span{font-size:12px}
  [data-page=overview] .warp-grid,.opening-grid{grid-template-columns:minmax(0,1fr)}
  .opening-hero{min-height:475px}
}
@media(prefers-reduced-motion:reduce){
  .observation-backdrop,.observation-light,.observation-aha,.star-rotation,.star-spark,.compact-warp .warp-image,.news-arrived,
  .skeleton::before,[data-art-loading]::before{animation:none!important}
  .observation-motion{display:none}
}
.brand .brand-logo{display:block;width:clamp(145px,15vw,194px);height:44px;object-fit:contain;object-position:left center}
.header-tools{display:grid;gap:8px;min-width:0}
.web .header-tools{display:flex;align-items:center;justify-self:end;gap:8px}
.game-switch select{width:auto;max-width:100%;min-height:37px;padding:6px 26px 6px 10px;border:1px solid #ff9e5b55;border-radius:8px;background:#241b1a;color:#ffe6d5;font-weight:650}
.web aside :is(nav a,nav button)[hidden],aside :is(nav a,.surface)[hidden]{display:none}
.web .header-tools .web-account{flex:none}
[data-game=zzz] .agent-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;padding:clamp(22px,5vw,65px);border-radius:20px;border:1px solid #ed92295c;background:radial-gradient(ellipse at 76% 30%,#61442c,transparent 65%),#191818}
.agent-hero h1{margin:0;font-size:clamp(39px,6vw,88px);line-height:1}
.agent-hero p{color:#f5caa6}
.agent-hero .agent-hero-roster{grid-template-columns:repeat(2,minmax(0,1fr))}
.agent-hero.agent-profile{grid-template-columns:minmax(100px,230px) minmax(0,1fr)}
.agent-profile>.avatar{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
@media(max-width:1000px){.web .shell>aside{height:auto;grid-template-columns:1fr auto;padding-block:8px 0;gap:4px 12px}.web .mobile-quick{grid-column:1/-1;grid-row:2;min-height:40px;justify-content:center}.web .header-tools{grid-column:2;grid-row:1}}
@media(max-width:580px){.web .mobile-quick{justify-content:space-between}.web .header-tools .web-account{padding:6px;font-size:11px;max-width:78px}.game-switch select{max-width:clamp(104px,36vw,150px);padding-right:16px;font-size:12px}.brand .brand-logo{width:clamp(90px,30vw,142px);height:36px}[data-game=zzz] .agent-hero{grid-template-columns:1fr;gap:16px}.agent-profile>.avatar{max-width:165px}}
