/* Invictus glass: a material layer over the existing layout and controls. */
:root {
  --ig-pane: linear-gradient(135deg, #ffffff12 0%, #e7c88708 42%, #ffffff03 100%), #12120fe6;
  --ig-edge: #e8d7af38;
  --ig-light: inset 0 1px 0 #fff7e32e, inset 0 -1px 0 #ffffff06;
  --ig-shadow: 0 16px 48px #00000030;
  --ig-blur: none;
}
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  :root {
    --ig-pane: linear-gradient(135deg, #ffffff14 0%, #e7c88708 42%, #ffffff03 100%), #12120f94;
    --ig-blur: blur(24px) saturate(145%);
  }
}
body[data-glass] {
  background-color: #080807;
  background-image: radial-gradient(ellipse at 90% 0%, #a8823425, transparent 52%), radial-gradient(ellipse at 0% 70%, #d8d8cb08, transparent 48%);
  background-attachment: fixed;
}
.invictus-lobby .lobby-launch,
.invictus-lobby .one-market,
.invictus-lobby .lobby-shortcuts,
body[data-glass] .native-entry,
body[data-glass] #core-panel .core-card,
body[data-glass] #messages article,
body[data-glass] .table,
body[data-glass] .app {
  background: var(--ig-pane);
  border-color: var(--ig-edge);
  border-radius: 26px;
  box-shadow: var(--ig-light), var(--ig-shadow);
  -webkit-backdrop-filter: var(--ig-blur);
  backdrop-filter: var(--ig-blur);
}
body[data-glass] .native-entry { outline: 1px solid var(--ig-edge); outline-offset: -1px; }
.invictus-lobby .lobby-identity,
.invictus-lobby .lobby-dock button,
.invictus-lobby .lobby-outline,
body[data-glass] .catalog button,
body[data-glass] .account-trigger,
body[data-glass] .account-menu {
  background: var(--ig-pane);
  border-color: var(--ig-edge);
  border-radius: 18px;
  box-shadow: var(--ig-light), 0 8px 24px #0002;
  -webkit-backdrop-filter: var(--ig-blur);
  backdrop-filter: var(--ig-blur);
}
.invictus-lobby .lobby-dock button[aria-selected=true],
body[data-glass] .catalog button[aria-pressed=true] {
  background: linear-gradient(125deg, #e3c38138, #c8b07a16 55%, #fff1c80a), #201d14bd;
  border-color: #e7cb8794;
  box-shadow: inset 0 1px 0 #fff4d466, inset 0 -1px 0 #dec28b36, 0 6px 26px #bf9b2520;
  color: #f1e1bc;
}
.invictus-lobby .lobby-dock button:hover,
body[data-glass] .catalog button:hover,
body[data-glass] .app:hover { border-color: #e7d09e90; }
.invictus-lobby .lobby-shortcuts { overflow: hidden; }
.invictus-lobby .lobby-shortcuts a { color: #c6bdab; }
.invictus-lobby .lobby-shortcuts a:hover { background: #fff1cb0c; }
.invictus-lobby .lobby-enter,
body[data-glass] .gold {
  border-radius: 14px;
  background: linear-gradient(120deg, #e1cca0 0%, #c1aa79 45%, #b39a62 100%);
  box-shadow: inset 0 1px 0 #fff9dcaa, inset 0 -1px 0 #705b3055, 0 6px 24px #bd9c3525;
  color: #15120b;
  border-color: #d7bf8b;
}
.invictus-lobby .lobby-enter:hover,
body[data-glass] .gold:not(:disabled):hover { filter: brightness(1.08); }
.invictus-lobby .market-periods button,
.invictus-lobby .market-tools button,
.invictus-lobby .market-state,
body[data-glass] .badge,
body[data-glass] .tag,
body[data-glass] .state,
body[data-glass] #core-panel .core-badge { border-radius: 999px; }
.invictus-lobby .market-periods button[aria-pressed=true] {
  background: #ddc68f20;
  box-shadow: inset 0 1px 0 #fff1c832;
  color: #e8d6b1;
}
.invictus-lobby .market-empty { background: radial-gradient(ellipse, #14120ddb, #10100b50 58%, transparent 80%); }
.invictus-lobby .lobby-world-copy > p:last-child,
.invictus-lobby .market-empty p { color: #c0b8a6; }
body:has(.invictus-lobby) header:has(nav[aria-label="Primary"]),
body[data-glass] > header,
body[data-glass] .topbar {
  background: linear-gradient(180deg, #fff7dd08, #ffffff00), #0d0d0bae;
  border-color: #d8c18e26;
  box-shadow: inset 0 -1px 0 #fff5dc08;
  -webkit-backdrop-filter: blur(24px) saturate(140%);
  backdrop-filter: blur(24px) saturate(140%);
}
body:has(.invictus-lobby) [role="dialog"] {
  background: linear-gradient(125deg, #fff5db0c, #d6b06808 50%, transparent), #090908ec;
  -webkit-backdrop-filter: blur(36px) saturate(150%);
  backdrop-filter: blur(36px) saturate(150%);
}
body[data-glass] button:not(.gold):not(.bare):not(.text-button),
body[data-glass] .outline { border-radius: 13px; }
body[data-glass] .outline {
  background: linear-gradient(135deg, #fff9e810, #ffffff03), #16161075;
  box-shadow: var(--ig-light);
  border-color: #d2bc863b;
}
body[data-glass] input:not([type=checkbox]):not([type=range]),
body[data-glass] textarea,
body[data-glass] select,
body[data-glass] #core-panel input:not([type=checkbox]),
body[data-glass] #core-panel select {
  background: #090a08b5;
  border-color: #ddc99d38;
  border-radius: 12px;
  box-shadow: inset 0 1px 4px #0005, 0 1px 0 #fff6dd08;
  color: #f0e8d6;
}
body[data-glass] input::placeholder, body[data-glass] textarea::placeholder { color: #938976; }
body[data-glass] select option { background: #14140f; color: #f0e8d6; }
body[data-glass] input:focus-visible, body[data-glass] textarea:focus-visible, body[data-glass] select:focus-visible {
  outline: 2px solid #e0c48b;
  outline-offset: 3px;
}
body[data-glass="mail"] aside button[aria-pressed=true] {
  background: linear-gradient(110deg, #ead19a20, #d3b97108);
  box-shadow: var(--ig-light);
  color: #e8d8b7;
}
body[data-glass="mail"] .notice, body[data-glass="mail"] .small { color: #aaa18e; }
body[data-glass="casino"] .table { background: linear-gradient(145deg, #fff5cf0b, #c6a75506), #10160ed6; }
body[data-glass="casino"] .card { box-shadow: inset 0 1px 0 #fff9, 0 8px 18px #0005; }
body[data-glass="wallet"] .moon-scene { opacity: .75; }
body[data-glass="wallet"] #cloud-boot { position: relative; }
@media (max-width: 700px) {
  .invictus-lobby .lobby-launch, .invictus-lobby .one-market,
  body[data-glass] .native-entry, body[data-glass] #core-panel .core-card,
  body[data-glass] .table, body[data-glass] .app { border-radius: 22px; }
  .invictus-lobby .lobby-dock button { border-radius: 16px; }
  .invictus-lobby .lobby-identity { background: none; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
}
@media (prefers-reduced-transparency: reduce) {
  :root { --ig-pane: linear-gradient(135deg, #ffffff08, transparent), #151510; --ig-blur: none; }
  body:has(.invictus-lobby) header:has(nav[aria-label="Primary"]),
  body[data-glass] > header, body[data-glass] .topbar,
  body:has(.invictus-lobby) [role="dialog"] { background: #10100d; -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (prefers-reduced-motion: reduce) {
  .invictus-lobby .lobby-dock button, body[data-glass] .catalog button,
  body[data-glass] .app, body[data-glass] .gold { transition: none; }
}
@media (forced-colors: active) {
  .invictus-lobby .lobby-launch, .invictus-lobby .one-market,
  .invictus-lobby .lobby-dock button, body[data-glass] .native-entry,
  body[data-glass] #core-panel .core-card, body[data-glass] .app { box-shadow: none; border: 1px solid CanvasText; }
}
