@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;700&display=swap');

.section-title,
.section-title h2 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(2rem, 3.5vw, 2.8rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  background: linear-gradient(to bottom, #ffffff 0%, #94a3b8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-align: center !important;
  margin: 0 auto 0;
  padding-bottom: 0.15em;
}

.section-subtitle,
.section-subtitle p {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.75;
  color: #94a3b8;
  text-align: center !important;
  margin: 0 auto 1.25rem;
  max-width: 44rem;
}

/* BetterCheats hero-matched navy / steel-blue palette */
:root {
  --bettercheats-bg-deep: #050b14;
  --bettercheats-bg: #08111e;
  --bettercheats-surface: #0c1726;
  --bettercheats-surface-2: #12233a;
  --bettercheats-blue: #4f86c6;
  --bettercheats-blue-bright: #79a9dd;
  --bettercheats-steel: #9bb9d8;
  --bettercheats-border: rgba(103, 151, 201, .24);
  --bettercheats-text: #eef5fc;
  --bettercheats-muted: #9cafc5;
}

html, body {
  background: var(--bettercheats-bg-deep) !important;
  color: var(--bettercheats-text) !important;
}

body {
  background-image:
    radial-gradient(circle at 50% -10%, rgba(79,134,198,.14), transparent 36%),
    linear-gradient(180deg, var(--bettercheats-bg-deep), var(--bettercheats-bg)) !important;
}

header.sticky-top,
.navbar,
.navbar-container,
.dropdown-menu,
.modal-content,
.offcanvas,
footer {
  background-color: rgba(5, 11, 20, .92) !important;
  border-color: var(--bettercheats-border) !important;
}

.card,
.product-card,
.accordion-item,
.list-group-item,
.form-control,
.form-select,
.choices__inner,
.table,
.alert,
.component[class*="background-secondary"] {
  background-color: var(--bettercheats-surface) !important;
  border-color: var(--bettercheats-border) !important;
  color: var(--bettercheats-text) !important;
}

.card:hover,
.product-card:hover {
  border-color: rgba(121,169,221,.55) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.35), 0 0 30px rgba(79,134,198,.12) !important;
}

.btn-primary,
.button:not(.secondary),
.badge.bg-primary {
  background: linear-gradient(135deg, #659bd2, #315f91) !important;
  border-color: #79a9dd !important;
  color: #fff !important;
  box-shadow: 0 10px 28px rgba(49,95,145,.34) !important;
}

.btn-primary:hover,
.button:not(.secondary):hover {
  background: linear-gradient(135deg, #79a9dd, #3b70a7) !important;
  box-shadow: 0 12px 34px rgba(79,134,198,.44) !important;
}

.btn-clear,
.btn-outline-primary,
.button.secondary {
  color: var(--bettercheats-steel) !important;
  border-color: rgba(121,169,221,.45) !important;
  background: rgba(12,23,38,.72) !important;
}

a, .text-primary { color: var(--bettercheats-blue-bright) !important; }
.text-muted, p, .form-text { color: var(--bettercheats-muted); }

.p3wr8 {
  min-height: min(820px, 88vh);
  background-color: var(--bettercheats-bg-deep) !important;
}
.p3wr8::before {
  background-image:
    linear-gradient(rgba(121,169,221,.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(121,169,221,.09) 1px, transparent 1px) !important;
}
.p3wr8 .v9fb1 {
  background:
    linear-gradient(90deg, rgba(5,11,20,.78) 0%, rgba(5,11,20,.24) 48%, rgba(5,11,20,.58) 100%),
    linear-gradient(to bottom, rgba(5,11,20,.08) 0%, rgba(5,11,20,.18) 55%, #050b14 100%) !important;
}
.p3wr8 .n7kx2 { background: linear-gradient(to bottom, transparent, #050b14) !important; }
.p3wr8 .e8vp5 {
  background: linear-gradient(180deg, #ffffff 0%, #dbe9f6 55%, #8faecc 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}
.p3wr8 .r4yt9 {
  color: #b9d4ef !important;
  background: rgba(49,95,145,.34) !important;
  border-color: rgba(121,169,221,.48) !important;
  box-shadow: 0 0 30px rgba(79,134,198,.16) !important;
}

::selection { background: rgba(79,134,198,.55); color: #fff; }
::-webkit-scrollbar-thumb { background: #315f91; }

/* ===== BetterCheats welcome gate + media submission ===== */
html.connect-gate-open,
html.connect-tos-open { overflow: hidden !important; }

.connect-welcome-gate {
  position: fixed;
  inset: 0;
  z-index: 2147483200;
  display: grid;
  place-items: center;
  padding: 24px;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity .4s ease, visibility .4s ease;
}
.connect-welcome-gate.is-open { visibility: visible; opacity: 1; pointer-events: auto; }
.connect-welcome-backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 15% 50%, rgba(48,120,255,.18), transparent 36%),
    radial-gradient(circle at 85% 50%, rgba(48,120,255,.16), transparent 36%),
    rgba(4,7,14,.86);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.connect-welcome-card {
  position: relative;
  width: min(620px, 100%);
  padding: clamp(30px, 5vw, 52px);
  text-align: center;
  border: 1px solid rgba(102,165,255,.23);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(17,25,42,.97), rgba(7,11,21,.98));
  box-shadow: 0 36px 100px rgba(0,0,0,.58), inset 0 1px rgba(255,255,255,.05);
  transform: translateY(20px) scale(.98);
  transition: transform .55s cubic-bezier(.22,1,.36,1);
  overflow: hidden;
}
.connect-welcome-gate.is-open .connect-welcome-card { transform: translateY(0) scale(1); }
.connect-welcome-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  background: radial-gradient(circle at 50% 0%, rgba(65,135,255,.19), transparent 42%);
  pointer-events: none;
}
.connect-welcome-kicker,
.connect-media-kicker,
.connect-verified-label {
  display: inline-flex;
  letter-spacing: .18em;
  font-size: 11px;
  font-weight: 800;
  color: #6fa9ff;
}
.connect-welcome-card h2 { margin: 12px 0 10px; font-size: clamp(28px, 5vw, 44px); line-height: 1.05; color: #fff; }
.connect-welcome-card > p { margin: 0 auto; max-width: 480px; color: rgba(221,231,248,.68); line-height: 1.65; }
.connect-logo-stage { position: relative; height: 245px; margin: 24px auto 10px; display: flex; justify-content: center; align-items: flex-start; padding-top: 30px; perspective: 800px; }
.connect-stage-halo { position: absolute; top: 2px; width: 250px; height: 180px; border-radius: 50%; background: radial-gradient(circle, rgba(53,130,255,.28), transparent 68%); filter: blur(8px); }
.connect-logo-frame { position: relative; z-index: 3; width: 126px; height: 126px; border-radius: 28px; display: grid; place-items: center; padding: 18px; background: rgba(10,17,31,.86); border: 1px solid rgba(115,176,255,.36); box-shadow: 0 18px 55px rgba(15,95,225,.28), inset 0 1px rgba(255,255,255,.08); animation: connectLogoFloat 3.8s ease-in-out infinite; }
.connect-logo-frame img { width: 100%; height: 100%; object-fit: contain; }
.connect-logo-frame span { font-size: 54px; font-weight: 900; color: #73aeff; }
.connect-podium { position: absolute; left: 50%; transform: translateX(-50%); background: linear-gradient(180deg, rgba(49,76,121,.92), rgba(13,22,39,.97)); border: 1px solid rgba(122,173,255,.25); box-shadow: 0 20px 55px rgba(0,0,0,.4); }
.connect-podium-top { bottom: 49px; width: 215px; height: 42px; border-radius: 50%; transform: translateX(-50%) rotateX(63deg); }
.connect-podium-base { bottom: 5px; width: 180px; height: 62px; clip-path: polygon(8% 0,92% 0,100% 100%,0 100%); }
.connect-welcome-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.connect-gate-btn,
.connect-media-submit { min-height: 52px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 22px; font-weight: 800; text-decoration: none; border: 1px solid transparent; transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.connect-gate-btn:hover,
.connect-media-submit:hover { transform: translateY(-2px); }
.connect-gate-primary,
.connect-media-submit { color: #fff; background: linear-gradient(135deg, #2f7df4, #579dff); box-shadow: 0 12px 32px rgba(47,125,244,.28); }
.connect-gate-secondary { color: #dceaff; background: rgba(255,255,255,.055); border-color: rgba(129,176,255,.22); }
@keyframes connectLogoFloat { 0%,100% { transform: translateY(0) rotateY(-2deg); } 50% { transform: translateY(-9px) rotateY(2deg); } }

.connect-media-page { min-height: 100vh; padding: 150px 22px 100px; background: radial-gradient(circle at 0 50%, rgba(39,112,236,.13), transparent 32%), radial-gradient(circle at 100% 50%, rgba(39,112,236,.12), transparent 32%); }
.connect-media-shell { width: min(1180px, 100%); margin: 0 auto; }
.connect-media-header { max-width: 760px; margin-bottom: 42px; }
.connect-media-header h1 { margin: 12px 0 16px; color: #fff; font-size: clamp(38px, 6vw, 68px); line-height: .98; letter-spacing: -.045em; }
.connect-media-header p { max-width: 680px; color: rgba(220,231,249,.66); font-size: 17px; line-height: 1.7; }
.connect-media-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(290px, .75fr); gap: 22px; align-items: start; }
.connect-media-panel { border: 1px solid rgba(102,155,236,.18); border-radius: 24px; background: linear-gradient(145deg, rgba(15,23,38,.94), rgba(7,12,22,.96)); box-shadow: 0 24px 65px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.04); }
.connect-media-form { padding: clamp(24px, 4vw, 40px); }
.connect-panel-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 28px; }
.connect-panel-heading > div { display: flex; align-items: center; gap: 14px; }
.connect-step { width: 34px; height: 34px; border-radius: 10px; display: inline-grid; place-items: center; flex: 0 0 auto; color: #70aaff; background: rgba(49,124,240,.12); border: 1px solid rgba(83,148,249,.24); font-size: 11px; font-weight: 800; }
.connect-panel-heading h2,
.connect-review-panel h2 { margin: 0; color: #fff; font-size: 24px; }
.connect-tos-button { min-height: 38px; padding: 0 15px; border-radius: 11px; border: 1px solid rgba(91,153,250,.3); color: #83b7ff; background: rgba(44,111,220,.1); font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.connect-media-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.connect-media-field { display: block; margin-bottom: 18px; }
.connect-media-field > span { display: block; margin-bottom: 9px; color: rgba(227,236,251,.82); font-size: 13px; font-weight: 700; }
.connect-media-field input { width: 100%; height: 54px; padding: 0 16px; border-radius: 13px; border: 1px solid rgba(126,159,211,.17); outline: none; color: #fff; background: rgba(4,8,16,.64); transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.connect-media-field input::placeholder { color: rgba(190,205,229,.34); }
.connect-media-field input:focus { border-color: rgba(74,145,255,.7); box-shadow: 0 0 0 4px rgba(48,120,240,.11); background: rgba(7,12,23,.86); }
.connect-media-field.has-error input { border-color: rgba(255,91,112,.76); box-shadow: 0 0 0 4px rgba(255,70,92,.08); }
.connect-media-consent { display: flex; align-items: center; gap: 12px; margin: 5px 0 8px; padding: 15px; border-radius: 14px; border: 1px solid rgba(115,155,216,.15); background: rgba(255,255,255,.025); color: rgba(225,235,250,.72); }
.connect-media-consent input { position: absolute; opacity: 0; pointer-events: none; }
.connect-checkmark { width: 22px; height: 22px; flex: 0 0 auto; border-radius: 7px; border: 1px solid rgba(112,165,246,.42); background: rgba(4,9,18,.7); position: relative; }
.connect-media-consent input:checked + .connect-checkmark { background: #3f88f6; border-color: #66a6ff; }
.connect-media-consent input:checked + .connect-checkmark::after { content: "✓"; position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: 14px; font-weight: 900; }
.connect-media-consent button { border: 0; padding: 0; color: #73adff; background: transparent; text-decoration: underline; font-weight: 800; }
.connect-media-consent.has-error { border-color: rgba(255,91,112,.68); }
.connect-media-error { min-height: 22px; margin: 8px 0 12px; color: #ff8496; font-size: 13px; }
.connect-media-submit { width: 100%; border: 0; }
.connect-review-panel { padding: 30px; position: sticky; top: 120px; }
.connect-review-panel h2 { margin: 16px 0 24px; }
.connect-review-list { display: grid; gap: 12px; }
.connect-review-list article { display: grid; grid-template-columns: 38px 1fr; gap: 13px; padding: 16px; border-radius: 16px; background: rgba(255,255,255,.032); border: 1px solid rgba(121,162,225,.12); }
.connect-review-list article > span { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; color: #7cb2ff; background: rgba(49,124,240,.12); font-weight: 900; }
.connect-review-list strong { color: #f5f8ff; }
.connect-review-list p { margin: 4px 0 0; color: rgba(216,228,247,.57); font-size: 13px; line-height: 1.55; }
.connect-review-note { margin: 20px 0 0; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.07); color: rgba(208,222,245,.51); font-size: 12px; line-height: 1.6; }
.connect-media-success { display: none; max-width: 760px; margin: 30px auto 0; padding: clamp(30px, 6vw, 58px); text-align: center; border-radius: 28px; border: 1px solid rgba(93,168,255,.28); background: linear-gradient(145deg, rgba(14,29,50,.97), rgba(7,13,24,.98)); box-shadow: 0 30px 90px rgba(0,0,0,.36); }
.connect-media-success.is-visible { display: block; animation: connectSuccessIn .5s cubic-bezier(.22,1,.36,1); }
.connect-verified-icon { width: 72px; height: 72px; margin: 0 auto 18px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg,#2479ef,#70adff); box-shadow: 0 0 0 10px rgba(62,138,244,.09), 0 18px 40px rgba(35,116,230,.28); font-size: 26px; }
.connect-media-success h2 { margin: 12px 0; color: #fff; font-size: clamp(29px, 5vw, 46px); }
.connect-media-success > p { color: rgba(218,230,248,.66); }
.connect-media-success ol { max-width: 570px; margin: 24px auto; padding: 0; list-style: none; display: grid; gap: 10px; text-align: left; }
.connect-media-success li { position: relative; padding: 14px 15px 14px 48px; border-radius: 14px; color: rgba(236,243,255,.84); background: rgba(255,255,255,.035); border: 1px solid rgba(110,164,245,.13); }
.connect-media-success li::before { content: "✓"; position: absolute; left: 16px; top: 12px; color: #72adff; font-weight: 900; }
.connect-success-contact { font-size: 13px; }
.connect-return-home { width: auto; margin-top: 10px; }
@keyframes connectSuccessIn { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: none; } }

.connect-tos-modal { position: fixed; inset: 0; z-index: 2147483300; display: grid; place-items: center; padding: 22px; visibility: hidden; opacity: 0; pointer-events: none; transition: .3s ease; }
.connect-tos-modal.is-open { visibility: visible; opacity: 1; pointer-events: auto; }
.connect-tos-backdrop { position: absolute; inset: 0; background: rgba(2,5,11,.84); backdrop-filter: blur(13px); }
.connect-tos-card { position: relative; width: min(690px, 100%); max-height: min(780px, 88vh); overflow: auto; padding: clamp(26px, 5vw, 46px); border-radius: 25px; border: 1px solid rgba(96,159,255,.25); background: linear-gradient(145deg, #101a2b, #080e19); box-shadow: 0 35px 100px rgba(0,0,0,.62); }
.connect-tos-card h2 { margin: 10px 0 25px; color: #fff; font-size: 38px; }
.connect-tos-copy { display: grid; gap: 5px; }
.connect-tos-copy h3 { margin: 16px 0 4px; color: #f4f8ff; font-size: 16px; }
.connect-tos-copy p { margin: 0; color: rgba(213,226,246,.62); line-height: 1.65; font-size: 14px; }
.connect-tos-card .connect-media-submit { margin-top: 28px; }
.connect-tos-close { position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; border-radius: 12px; border: 1px solid rgba(255,255,255,.1); color: #fff; background: rgba(255,255,255,.05); font-size: 25px; line-height: 1; }

@media (max-width: 820px) {
  .connect-media-grid { grid-template-columns: 1fr; }
  .connect-review-panel { position: static; }
  .connect-media-row { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 560px) {
  .connect-welcome-actions { grid-template-columns: 1fr; }
  .connect-welcome-card { padding: 28px 20px; border-radius: 22px; }
  .connect-logo-stage { height: 215px; transform: scale(.9); margin: 10px auto 0; }
  .connect-media-page { padding: 120px 14px 70px; }
  .connect-panel-heading { align-items: center; }
  .connect-panel-heading > div { gap: 10px; }
  .connect-panel-heading h2 { font-size: 20px; }
  .connect-tos-button { padding: 0 11px; }
}

/* ===== Media portal overlay revision ===== */
html.connect-media-open { overflow: hidden !important; }
.connect-logo-stage { height: 180px; align-items: center; padding-top: 0; }
.connect-stage-halo { top: 50%; left: 50%; transform: translate(-50%,-50%); width: 270px; height: 180px; }
.connect-logo-spin { position: relative; z-index: 3; width: 142px; height: 142px; display: grid; place-items: center; animation: connectLogoSpin 12s linear infinite; filter: drop-shadow(0 18px 32px rgba(39,113,235,.35)); }
.connect-logo-spin img { width: 100%; height: 100%; object-fit: contain; }
.connect-logo-spin span { font-size: 64px; font-weight: 900; color: #73aeff; }
@keyframes connectLogoSpin { to { transform: rotate(360deg); } }
.connect-logo-frame,.connect-podium { display:none !important; }

.connect-media-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483250;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity .38s ease, visibility .38s ease;
}
.connect-media-overlay.is-open { visibility: visible; opacity: 1; pointer-events: auto; }
.connect-media-overlay-bg { position: absolute; inset: 0; background: rgba(2,14,31,.46); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.connect-media-overlay .connect-media-page {
  position: absolute;
  inset: 18px;
  min-height: 0;
  overflow-y: auto;
  padding: 74px 30px 70px;
  border: 1px solid rgba(255,255,255,.58);
  border-radius: 30px;
  background:
    radial-gradient(circle at 0 50%, rgba(255,255,255,.62), transparent 28%),
    radial-gradient(circle at 100% 50%, rgba(255,255,255,.52), transparent 28%),
    linear-gradient(145deg,#bfe2ff 0%,#89c8ff 48%,#a9d9ff 100%);
  box-shadow: 0 34px 100px rgba(0,35,77,.34), inset 0 1px rgba(255,255,255,.7);
  transform: translateY(22px) scale(.985);
  transition: transform .48s cubic-bezier(.22,1,.36,1);
}
.connect-media-overlay.is-open .connect-media-page { transform: translateY(0) scale(1); }
.connect-media-close { position: fixed; top: 36px; right: 38px; z-index: 5; width: 46px; height: 46px; border-radius: 14px; border: 1px solid rgba(17,74,128,.18); background: rgba(239,249,255,.76); color: #123f6b; font-size: 30px; line-height: 1; box-shadow: 0 12px 30px rgba(24,81,135,.18); }
.connect-media-overlay .connect-media-header h1,
.connect-media-overlay .connect-panel-heading h2,
.connect-media-overlay .connect-review-panel h2 { color: #092b4e; }
.connect-media-overlay .connect-media-header p { color: rgba(9,43,78,.7); }
.connect-media-overlay .connect-media-kicker,
.connect-media-overlay .connect-verified-label { color: #1269b4; }
.connect-media-overlay .connect-media-panel {
  border-color: rgba(25,94,153,.16);
  background: linear-gradient(145deg,rgba(246,252,255,.92),rgba(221,242,255,.86));
  box-shadow: 0 24px 65px rgba(31,91,145,.16), inset 0 1px rgba(255,255,255,.9);
}
.connect-media-overlay .connect-media-field > span { color: rgba(9,43,78,.82); }
.connect-media-overlay .connect-media-field input { color: #0b3155; background: rgba(255,255,255,.72); border-color: rgba(24,88,145,.18); }
.connect-media-overlay .connect-media-field input::placeholder { color: rgba(21,69,109,.4); }
.connect-media-overlay .connect-media-field input:focus { background: rgba(255,255,255,.94); }
.connect-media-overlay .connect-media-consent { color: rgba(9,43,78,.78); background: rgba(255,255,255,.48); border-color: rgba(25,94,153,.16); }
.connect-media-overlay .connect-review-panel p,
.connect-media-overlay .connect-review-note { color: rgba(9,43,78,.67); }
.connect-media-overlay .connect-review-list article { background: rgba(255,255,255,.48); border-color: rgba(26,95,154,.13); }
.connect-media-overlay .connect-review-list strong { color: #0a345b; }
.connect-media-overlay .connect-tos-card { background: linear-gradient(145deg,#edf8ff,#d6efff); border-color: rgba(25,94,153,.22); }
.connect-media-overlay .connect-tos-card h2,
.connect-media-overlay .connect-tos-copy h3 { color:#092b4e; }
.connect-media-overlay .connect-tos-copy p { color:rgba(9,43,78,.7); }
.connect-media-overlay .connect-media-success { background: linear-gradient(145deg,rgba(246,252,255,.96),rgba(218,240,255,.94)); border-color:rgba(25,94,153,.2); }
.connect-media-overlay .connect-media-success h2 { color:#092b4e; }
.connect-media-overlay .connect-media-success > p,
.connect-media-overlay .connect-media-success li { color:rgba(9,43,78,.76); }
.connect-media-overlay .connect-media-success li { background:rgba(255,255,255,.5); border-color:rgba(25,94,153,.13); }
@media (max-width: 600px) {
  .connect-media-overlay .connect-media-page { inset: 8px; border-radius: 22px; padding: 70px 14px 48px; }
  .connect-media-close { top: 20px; right: 20px; }
  .connect-logo-stage { height: 150px; }
  .connect-logo-spin { width: 112px; height: 112px; }
}

/* BetterCheats interactive ESP builder */
.esp-builder{--esp-accent:#58b7ff;--esp-opacity:.92;--esp-thickness:2px;position:fixed;inset:0;z-index:2147483500;display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.esp-builder.is-open{opacity:1;visibility:visible}.esp-builder__backdrop{position:absolute;inset:0;background:rgba(2,8,20,.84);backdrop-filter:blur(16px)}.esp-builder__panel{position:relative;width:min(1380px,96vw);height:min(860px,92vh);overflow:hidden;border:1px solid rgba(111,193,255,.35);border-radius:28px;background:linear-gradient(145deg,rgba(10,25,48,.98),rgba(3,10,23,.99));box-shadow:0 40px 120px rgba(0,0,0,.65),0 0 60px rgba(58,148,255,.15);display:flex;flex-direction:column}.esp-builder__header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 28px;border-bottom:1px solid rgba(127,190,255,.15);background:linear-gradient(90deg,rgba(62,158,255,.12),transparent)}.esp-builder__eyebrow{font-size:.72rem;letter-spacing:.24em;color:#7ec4ff;font-weight:800}.esp-builder__header h2{margin:5px 0 4px;font-size:clamp(1.45rem,2.4vw,2.2rem)}.esp-builder__header p{margin:0;color:rgba(226,239,255,.62);font-size:.9rem}.esp-builder__close{width:42px;height:42px;border-radius:50%;border:1px solid rgba(125,194,255,.3);background:rgba(26,75,125,.22);color:#fff;font-size:1.8rem;line-height:1}.esp-builder__layout{display:grid;grid-template-columns:230px 1fr 220px;gap:18px;padding:18px;min-height:0;flex:1}.esp-builder__toolbox,.esp-builder__inspector{border:1px solid rgba(112,189,255,.16);border-radius:20px;background:rgba(8,24,45,.72);padding:18px;overflow:auto}.esp-toolbox__title,.esp-inspector__title{font-size:.95rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.esp-toolbox__hint{font-size:.76rem;color:rgba(220,236,255,.54);margin:6px 0 14px}.esp-toolbox__items{display:grid;gap:8px}.esp-tool{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid rgba(111,193,255,.16);border-radius:12px;background:rgba(24,69,110,.22);color:#dff1ff;text-align:left;font-size:.82rem;transition:.18s ease}.esp-tool:hover{transform:translateX(4px);border-color:rgba(105,196,255,.62);background:rgba(40,113,176,.32)}.esp-tool span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:rgba(79,170,255,.16);color:#76c4ff;font-weight:900}.esp-toolbox__actions{display:grid;gap:8px;margin-top:16px}.esp-toolbox__actions button{padding:10px;border-radius:11px;border:1px solid rgba(113,193,255,.22);background:rgba(26,77,125,.32);color:#dff1ff;font-size:.78rem}.esp-builder__stage-wrap{min-width:0;min-height:0}.esp-builder__stage{position:relative;width:100%;height:100%;min-height:550px;overflow:hidden;border-radius:22px;border:1px solid rgba(109,193,255,.26);background:radial-gradient(circle at 50% 45%,rgba(44,129,201,.26),transparent 42%),linear-gradient(180deg,#07182b,#030b16);box-shadow:inset 0 0 70px rgba(0,0,0,.52)}.esp-builder__stage.is-dragover{outline:2px solid var(--esp-accent);outline-offset:-7px}.esp-stage__grid{position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(99,176,237,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(99,176,237,.14) 1px,transparent 1px);background-size:34px 34px}.esp-stage__status{position:absolute;left:18px;top:16px;z-index:2;font-size:.7rem;letter-spacing:.16em;color:#83cbff}.esp-stage__status span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#54e28f;box-shadow:0 0 12px #54e28f;margin-right:6px}.esp-operator-frame{position:absolute;left:50%;bottom:-4%;height:96%;transform:translateX(-50%);filter:drop-shadow(0 22px 35px rgba(0,0,0,.6))}.esp-operator-img{height:100%;width:auto;max-width:100%;object-fit:contain;user-select:none;pointer-events:none}.esp-stage__drop-hint{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);font-size:.65rem;letter-spacing:.24em;color:rgba(157,207,248,.34)}.esp-builder__inspector label{display:grid;gap:7px;margin:16px 0;font-size:.76rem;color:rgba(224,239,255,.7)}.esp-builder__inspector input[type=color]{width:100%;height:42px;border:0;border-radius:10px;background:transparent}.esp-builder__inspector input[type=range]{width:100%}.esp-inspector__stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.esp-inspector__stats div{padding:14px 8px;border-radius:13px;background:rgba(33,91,143,.22);text-align:center}.esp-inspector__stats span{display:block;font-size:1.2rem;font-weight:800;color:#86ceff}.esp-inspector__stats small{font-size:.62rem;color:rgba(224,239,255,.5)}.esp-inspector__note{margin-top:16px;padding:12px;border-radius:12px;background:rgba(72,161,232,.1);font-size:.7rem;line-height:1.5;color:rgba(218,237,255,.58)}.esp-overlay{position:absolute;z-index:5;transform:translate(-50%,-50%);cursor:grab;touch-action:none;opacity:var(--esp-opacity);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--esp-accent) 75%,transparent))}.esp-overlay.is-moving{cursor:grabbing;z-index:20}.esp-box-shape{display:block;width:260px;height:470px;border:var(--esp-thickness) solid var(--esp-accent);border-radius:2px}.esp-corner-shape{display:block;width:270px;height:480px;background:linear-gradient(var(--esp-accent),var(--esp-accent)) left top/45px var(--esp-thickness) no-repeat,linear-gradient(var(--esp-accent),var(--esp-accent)) left top/var(--esp-thickness) 45px no-repeat,linear-gradient(var(--esp-accent),var(--esp-accent)) right top/45px var(--esp-thickness) no-repeat,linear-gradient(var(--esp-accent),var(--esp-accent)) right top/var(--esp-thickness) 45px no-repeat,linear-gradient(var(--esp-accent),var(--esp-accent)) left bottom/45px var(--esp-thickness) no-repeat,linear-gradient(var(--esp-accent),var(--esp-accent)) left bottom/var(--esp-thickness) 45px no-repeat,linear-gradient(var(--esp-accent),var(--esp-accent)) right bottom/45px var(--esp-thickness) no-repeat,linear-gradient(var(--esp-accent),var(--esp-accent)) right bottom/var(--esp-thickness) 45px no-repeat}.esp-label-shape{white-space:nowrap;padding:5px 10px;border-radius:6px;background:rgba(3,13,27,.82);border:1px solid color-mix(in srgb,var(--esp-accent) 55%,transparent);color:var(--esp-accent);font-size:.72rem;font-weight:800;letter-spacing:.06em}.esp-health-shape{display:block;width:9px;height:360px;padding:2px;border:1px solid rgba(255,255,255,.5);background:#07101a}.esp-health-shape i{display:block;width:100%;height:76%;margin-top:24%;background:linear-gradient(#64f28f,#ffdf52)}.esp-glow-shape{display:block;width:250px;height:470px;border-radius:45%;box-shadow:0 0 42px 14px color-mix(in srgb,var(--esp-accent) 38%,transparent),inset 0 0 35px color-mix(in srgb,var(--esp-accent) 25%,transparent)}.esp-radar-shape{display:block;width:18px;height:18px;border:2px solid #fff;border-radius:50%;background:var(--esp-accent);box-shadow:0 0 16px var(--esp-accent)}.esp-snapline-shape{display:block;width:2px;height:340px;background:linear-gradient(transparent,var(--esp-accent));transform-origin:bottom;transform:rotate(18deg)}.esp-skeleton-shape{display:block;position:relative;width:150px;height:360px}.esp-skeleton-shape:before{content:"";position:absolute;left:50%;top:0;width:42px;height:42px;border:var(--esp-thickness) solid var(--esp-accent);border-radius:50%;transform:translateX(-50%)}.esp-skeleton-shape:after{content:"";position:absolute;left:50%;top:43px;width:var(--esp-thickness);height:150px;background:var(--esp-accent);box-shadow:-48px 72px 0 -0.5px var(--esp-accent),48px 72px 0 -0.5px var(--esp-accent)}.esp-skeleton-shape i{position:absolute;left:50%;width:var(--esp-thickness);background:var(--esp-accent);transform-origin:top}.esp-skeleton-shape i:nth-child(1){top:75px;height:110px;transform:rotate(64deg)}.esp-skeleton-shape i:nth-child(2){top:75px;height:110px;transform:rotate(-64deg)}.esp-skeleton-shape i:nth-child(3){top:188px;height:160px;transform:rotate(17deg)}.esp-skeleton-shape i:nth-child(4){top:188px;height:160px;transform:rotate(-17deg)}.esp-skeleton-shape i:nth-child(5){top:160px;height:46px;transform:rotate(90deg)}html.esp-builder-open{overflow:hidden}
@media(max-width:980px){.esp-builder__layout{grid-template-columns:180px 1fr}.esp-builder__inspector{display:none}.esp-builder__stage{min-height:520px}.esp-box-shape{width:210px;height:390px}.esp-corner-shape{width:220px;height:400px}.esp-glow-shape{width:210px;height:390px}}
@media(max-width:700px){.esp-builder__panel{width:100vw;height:100dvh;border-radius:0}.esp-builder__header{padding:16px}.esp-builder__header p{display:none}.esp-builder__layout{grid-template-columns:1fr;padding:10px}.esp-builder__toolbox{order:2;max-height:190px}.esp-toolbox__items{grid-template-columns:repeat(2,1fr)}.esp-builder__stage-wrap{order:1;min-height:55vh}.esp-builder__stage{min-height:55vh}.esp-builder__toolbox{padding:12px}.esp-tool{padding:7px 8px}.esp-toolbox__actions{grid-template-columns:1fr 1fr}.esp-box-shape{width:150px;height:300px}.esp-corner-shape{width:160px;height:310px}.esp-health-shape{height:250px}.esp-glow-shape{width:160px;height:300px}}
/* T-pose operator image integration */
.esp-builder__stage{background:radial-gradient(circle at 50% 45%,rgba(164,211,242,.5),transparent 58%),linear-gradient(180deg,#dfe6eb,#cfd9e0)!important;}
.esp-stage__grid{opacity:.1!important;mix-blend-mode:multiply}
.esp-stage__status{color:#15344b!important;font-weight:900}
.esp-stage__drop-hint{color:rgba(17,50,74,.48)!important}
.esp-operator-frame{left:50%!important;bottom:0!important;height:100%!important;width:100%!important;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 20px 30px rgba(20,42,58,.22))!important}
.esp-operator-img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
