/* Xcess Origins / Public site shell v1. No gameplay or identity rules here. */
.site-header .site-nav .world-disclosure {
  position:relative;display:flex;align-items:center;isolation:isolate;
}
.site-header .site-nav .world-disclosure>summary {
  list-style:none;cursor:pointer;user-select:none;
  position:relative;display:flex;align-items:center;gap:7px;
  padding:35px 0;color:rgba(218,233,243,.72);
  font:700 10px/1.5 "Trebuchet MS",Arial,sans-serif;
  letter-spacing:.18em;text-transform:uppercase;
  transition:color .2s;
}
.site-header .site-nav .world-disclosure>summary::-webkit-details-marker {display:none}
.site-header .site-nav .world-disclosure>summary::after {
  content:"";width:6px;height:6px;transform:rotate(45deg) translateY(-2px);
  border-right:1px solid currentColor;border-bottom:1px solid currentColor;
  transition:transform .18s;
}
.site-header .site-nav .world-disclosure[open]>summary::after {
  transform:rotate(225deg) translate(-1px,-1px);
}
.site-header .site-nav .world-disclosure:is([open],.is-section-active)>summary,
.site-header .site-nav .world-disclosure>summary:hover {color:#f4ead9}
.site-header .site-nav .world-disclosure>summary:focus-visible {
  outline:2px solid #93d8f8;outline-offset:6px;border-radius:2px;
}
.site-header .site-nav .world-submenu {
  position:absolute;top:calc(100% - 5px);left:-20px;z-index:150;
  min-width:218px;padding:8px;
  display:grid;gap:1px;
  border:1px solid rgba(128,191,230,.31);
  border-top:2px solid rgba(233,201,138,.85);
  background:linear-gradient(150deg,rgba(9,24,38,.98),rgba(3,10,18,.99));
  box-shadow:0 18px 38px rgba(0,0,0,.58);
}
.site-header .site-nav .world-submenu a {
  position:static;display:flex;align-items:center;justify-content:space-between;
  padding:12px 13px;color:#b6cddd;font-size:11px;font-weight:600;
  text-transform:none;letter-spacing:.04em;white-space:nowrap;
  transition:color .15s,background .15s;
}
.site-header .site-nav .world-submenu a:after {display:none}
.site-header .site-nav .world-submenu a:hover,
.site-header .site-nav .world-submenu a:focus-visible,
.site-header .site-nav .world-submenu a[aria-current="page"] {
  color:#f2dba6;background:rgba(118,167,198,.13);
}
.site-header .site-nav .world-submenu small {
  font:600 8px "Trebuchet MS",Arial,sans-serif;
  letter-spacing:.08em;color:#6d91a7;
}
.mobile-nav .mobile-world {
  border-top:1px solid rgba(118,170,209,.12);
  border-bottom:1px solid rgba(118,170,209,.12);
}
.mobile-nav .mobile-world>summary {
  list-style:none;display:flex;justify-content:space-between;align-items:center;
  padding:12px 8px;color:#bed1df;
  text-transform:uppercase;font-size:11px;letter-spacing:.13em;
  cursor:pointer;
}
.mobile-nav .mobile-world>summary::-webkit-details-marker {display:none}
.mobile-nav .mobile-world>summary::after {
  content:"+";color:#d8bd84;font-size:16px;font-weight:400;
}
.mobile-nav .mobile-world[open]>summary::after {content:"−"}
.mobile-nav .mobile-world>summary:focus-visible {
  outline:2px solid #93d8f8;outline-offset:1px;
}
.mobile-nav .mobile-world-links {
  display:grid;gap:1px;margin:0 0 8px 10px;
  padding-left:12px;border-left:1px solid rgba(214,184,125,.45);
}
.mobile-nav .mobile-world-links a {padding:9px 12px;color:#a6c1d2}
.mobile-nav .mobile-world-links a[aria-current="page"] {color:#f0d59f}
.site-footer {background:linear-gradient(180deg,#070e15,#04080d);border-top:1px solid rgba(133,188,224,.2)}
.site-footer .footer-info {
  width:var(--shell);margin:auto;padding:35px 0 28px;
  display:grid;grid-template-columns:minmax(210px,1.25fr) repeat(2,minmax(135px,.7fr)) minmax(180px,.9fr);
  gap:clamp(18px,3vw,48px);
}
.site-footer .footer-identity {display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.site-footer .footer-identity a {display:flex;align-items:center;gap:10px;color:#e6eff6;text-decoration:none}
.site-footer .footer-identity img {width:37px;height:37px;object-fit:contain}
.site-footer .footer-identity strong {
  font:500 19px Georgia,serif;letter-spacing:.055em;
}
.site-footer .footer-identity strong em {font-style:normal;color:#e8c88c}
.site-footer .footer-identity p {max-width:245px;margin:0;color:#829dad;font-size:11px;line-height:1.65}
.site-footer .footer-group {display:grid;align-content:start;justify-items:start;gap:10px}
.site-footer .footer-group>strong {
  color:#e4c88f;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
}
.site-footer .footer-group a {
  color:#a0b9ca;text-decoration:none;font-size:11px;line-height:1.4;
  transition:color .17s;
}
.site-footer .footer-group a:hover,.site-footer .footer-group a:focus-visible {color:#fff}
.site-footer .footer-group .footer-pending {
  color:#7791a4;font-size:11px;line-height:1.55;max-width:195px;
}
.site-footer .footer-bottom {
  width:var(--shell);margin:auto;min-height:55px;
  padding:13px 0 17px;border-top:1px solid rgba(137,191,228,.13);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 25px;
  font-size:10px;letter-spacing:.08em;color:#718b9b;
}
.site-footer .footer-bottom span:last-child {font-size:9px;text-transform:uppercase}
@media(max-width:980px) {
  .site-footer .footer-info {grid-template-columns:1.2fr 1fr 1fr;gap:25px}
  .site-footer .footer-group:last-child {grid-column:2/4}
  .site-header .site-nav .world-disclosure>summary {font-size:9px;letter-spacing:.08em}
}
@media(max-width:760px) {
  .site-footer .footer-info {grid-template-columns:repeat(2,minmax(0,1fr));padding:32px 0 20px;gap:25px 20px}
  .site-footer .footer-identity {grid-column:1/-1}
  .site-footer .footer-group:last-child {grid-column:auto}
  .site-header .site-nav .world-disclosure {display:none}
}
@media(max-width:440px) {
  .site-footer .footer-info {gap:21px 12px}
  .site-footer .footer-group>strong {font-size:9px}
  .site-footer .footer-bottom {align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce) {
  .site-header .site-nav .world-disclosure>summary,
  .site-header .site-nav .world-submenu a,
  .site-footer .footer-group a {transition:none}
}

/* WEB-PRODUCT: consistent keyboard focus for public footer links. */
.site-footer .footer-group a:focus-visible,
.site-footer .footer-identity a:focus-visible {
  outline:2px solid #93d8f8;
  outline-offset:4px;
  border-radius:2px;
}
.site-header .site-nav .world-disclosure.is-section-active>summary {
  color:#f4ead9;
}


/* EXT-01: compact Sandbox-only feedback destination on desktop/mobile nav. */
.site-header .site-nav a.sandbox-feedback-nav,
.mobile-nav a.sandbox-feedback-nav { color:#e5c688; }


/* WEB-STATUS-01/02: ONE LINE only; the whole frame rotates. */
.site-header .xcess-status-strip {
  width:100%;background:rgba(4,12,21,.95);
  border-top:1px solid rgba(147,190,213,.15);
  border-bottom:1px solid rgba(172,202,220,.18);
  color:#c2d4df;font-family:"Trebuchet MS",Arial,sans-serif;
}
.site-header .xcess-strip-inner {
  width:min(1380px,calc(100% - 30px));margin:auto;
  height:35px;min-height:35px;max-height:35px;
  display:flex;align-items:center;gap:9px;flex-wrap:nowrap;
}
.xcess-strip-viewport{flex:1;min-width:0;overflow:hidden}
.xcess-strip-metrics,.xcess-strip-notice{
  height:33px;max-height:33px;min-width:0;
  align-items:center;white-space:nowrap;overflow:hidden;
}
.xcess-strip-metrics{display:flex;gap:14px}
.xcess-strip-notice{display:flex}
.xcess-strip-metrics[hidden],.xcess-strip-notice[hidden],.xcess-strip-controls[hidden]{
  display:none!important
}
.xcess-strip-state{
  display:inline-flex;align-items:center;gap:7px;
  color:#c0ced6;font-size:10px;letter-spacing:.03em;
  min-width:0;white-space:nowrap;
}
.xcess-strip-state-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xcess-strip-state[data-state="online"]{color:#c6eadc}
.xcess-strip-state[data-state="maintenance"]{color:#f1d397}
.xcess-strip-dot {
  width:7px;height:7px;flex:0 0 7px;
  border-radius:50%;background:#93a4ae;
}
.xcess-strip-state[data-state="online"] .xcess-strip-dot {
  background:#63cca0;box-shadow:0 0 8px rgba(99,204,160,.38);
}
.xcess-strip-state[data-state="maintenance"] .xcess-strip-dot{background:#e3b966}
.xcess-strip-online{
  border-left:1px solid rgba(159,191,215,.27);padding-left:14px;
  color:#e0c58f;font-size:10px;font-variant-numeric:tabular-nums;
  flex:0 0 auto;white-space:nowrap;
}
.xcess-strip-notice-link{
  color:#bed1e0;font-size:10px;line-height:1.5;
  text-decoration:none;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;min-width:0;display:inline-block;
}
.xcess-strip-notice-link:hover{color:#f1dba8;text-decoration:underline}
.xcess-strip-metrics.is-changing,.xcess-strip-notice.is-changing{
  animation:xcess-strip-enter .4s ease-out both
}
.xcess-strip-controls{
  display:flex;align-items:center;gap:2px;flex:0 0 auto;
}
.xcess-strip-controls button{
  display:grid;place-items:center;width:25px;height:27px;padding:0;
  border:1px solid transparent;border-radius:3px;
  background:transparent;color:#b9cbd7;font:15px/1 Arial,sans-serif
}
.xcess-strip-controls button:hover{color:#f1dba8;border-color:rgba(195,167,114,.45)}
.xcess-strip-controls button:focus-visible,.xcess-strip-notice-link:focus-visible{
  outline:2px solid #93d8f8;outline-offset:1px;border-radius:2px
}
@keyframes xcess-strip-enter{
  from{opacity:.35;transform:translateX(-14px)}
  to{opacity:1;transform:translateX(0)}
}
@media(max-width:680px){
  .site-header .xcess-strip-inner{
    width:calc(100% - 20px);height:34px;min-height:34px;max-height:34px;
    display:flex;gap:3px;padding:0;
  }
  .xcess-strip-metrics{gap:7px}
  .xcess-strip-state,.xcess-strip-online,.xcess-strip-notice-link{font-size:10px}
  .xcess-strip-online{padding-left:8px}
  .xcess-strip-controls button{width:22px;height:25px}
}
@media(max-width:380px){
  .xcess-strip-metrics{gap:5px}
  .xcess-strip-state,.xcess-strip-online{font-size:9px}
  .xcess-strip-online{padding-left:6px}
}
@media(prefers-reduced-motion:reduce){
  .xcess-strip-metrics.is-changing,.xcess-strip-notice.is-changing{animation:none}
}
