:root {
  --ugfx-bg: #050507;
  --ugfx-bg-soft: #0c0d12;
  --ugfx-panel: rgba(20, 22, 29, 0.78);
  --ugfx-panel-strong: rgba(12, 14, 20, 0.92);
  --ugfx-line: rgba(255, 122, 0, 0.22);
  --ugfx-orange: #ff6a00;
  --ugfx-orange-2: #ff9a1f;
  --ugfx-orange-3: #ff7a00;
  --ugfx-red: #ff3b1f;
  --ugfx-warm: #ffd6a0;
  --ugfx-text: #f6f1ea;
  --ugfx-muted: #a2a5ad;
  --ugfx-shadow: 0 24px 80px rgba(0, 0, 0, 0.55);
  --ugfx-radius: 24px;
}
html { scroll-behavior: smooth; }
body.ugfx-body {
  color: var(--ugfx-text);
  font-family: 'Inter', sans-serif;
  background: radial-gradient(circle at 50% 0%, rgba(255,106,0,0.18), transparent 35%), linear-gradient(180deg, #07080c 0%, #050507 100%);
  min-height: 100vh;
}
.ugfx-body::before {
  content: '';
  position: fixed;
  inset: 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(255, 122, 0, 0.12), transparent 20%),
    radial-gradient(circle at 80% 15%, rgba(255, 59, 31, 0.12), transparent 18%),
    radial-gradient(circle at 50% 75%, rgba(255, 154, 31, 0.08), transparent 22%);
  pointer-events: none;
  z-index: -2;
}
.ugfx-body::after {
  content: '';
  position: fixed;
  inset: 0;
  background-image: radial-gradient(rgba(255,154,31,.22) 1px, transparent 1px);
  background-size: 32px 32px;
  opacity: .08;
  pointer-events: none;
  z-index: -1;
}
main { padding-bottom: 7rem; }
.ugfx-topbar { backdrop-filter: blur(18px); background: rgba(5,5,7,.72); border-bottom: 1px solid rgba(255,122,0,.16); }
.ugfx-brand { display:flex; align-items:center; gap:.9rem; font-family:'Orbitron', sans-serif; }
.ugfx-brand-mark {
  display:inline-grid; place-items:center; width:52px; height:52px; border-radius:50%;
  background: linear-gradient(135deg, rgba(255,106,0,.18), rgba(255,59,31,.18));
  border:1px solid rgba(255,154,31,.38); box-shadow: 0 0 28px rgba(255,106,0,.24), inset 0 0 18px rgba(255,154,31,.15);
  font-weight:800; letter-spacing:.08em; color:var(--ugfx-warm);
}
.ugfx-brand-text { font-weight:700; letter-spacing:.08em; font-size:1rem; }
.ugfx-nav .nav-link {
  color: rgba(246,241,234,.86); padding: .8rem .95rem !important; border-radius:999px; font-weight:600;
}
.ugfx-nav .nav-link.active, .ugfx-nav .nav-link:hover {
  color:#fff; background:linear-gradient(135deg, rgba(255,106,0,.16), rgba(255,59,31,.12)); box-shadow: inset 0 0 0 1px rgba(255,154,31,.22);
}
.ugfx-btn-primary, .ugfx-btn-outline {
  border-radius: 999px; font-weight: 700; letter-spacing:.02em; padding:.78rem 1.15rem; transition: .25s ease;
}
.ugfx-btn-primary {
  background: linear-gradient(135deg, var(--ugfx-orange), var(--ugfx-red)); border: 0; color:#fff; box-shadow: 0 12px 30px rgba(255, 106, 0, .25);
}
.ugfx-btn-primary:hover { transform: translateY(-1px); box-shadow: 0 16px 36px rgba(255, 106, 0, .35); }
.ugfx-btn-outline {
  color: var(--ugfx-warm); border:1px solid rgba(255,154,31,.34); background: rgba(255,255,255,.03);
}
.ugfx-btn-outline:hover { background: rgba(255,154,31,.08); color:#fff; }
.ugfx-hero {
  position: relative; overflow: hidden; min-height: 88vh; display:flex; align-items:center;
}
.ugfx-hero::before {
  content:''; position:absolute; inset:0; background:
    linear-gradient(90deg, rgba(5,5,7,.96) 0%, rgba(5,5,7,.74) 48%, rgba(5,5,7,.48) 100%),
    url('../img/brand/ugfx-hero.png') center/cover no-repeat;
  filter: saturate(1.08) contrast(1.02);
}
.ugfx-hero::after {
  content:''; position:absolute; inset:auto 0 0 0; height:180px; background:linear-gradient(180deg, transparent, rgba(5,5,7,.94));
}
.ugfx-hero-content { position:relative; z-index:1; }
.ugfx-kicker {
  display:inline-flex; gap:.6rem; align-items:center; border:1px solid rgba(255,154,31,.24); background:rgba(10,10,14,.55);
  padding:.5rem .9rem; border-radius:999px; color:var(--ugfx-warm); font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.8rem;
}
.ugfx-display {
  font-family:'Orbitron', sans-serif; font-size: clamp(2.3rem, 5.3vw, 5rem); line-height:.9; letter-spacing:.01em; margin:1rem 0 1.25rem;
  text-shadow: 0 0 34px rgba(255,106,0,.14);
}
.ugfx-lead { color: var(--ugfx-muted); font-size: 1.1rem; max-width: 680px; }
.ugfx-hero-cta { display:flex; gap:1rem; flex-wrap:wrap; margin-top:2rem; }
.ugfx-stats-row { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.ugfx-stat-card, .ugfx-panel {
  background: var(--ugfx-panel); border:1px solid var(--ugfx-line); box-shadow: var(--ugfx-shadow); border-radius: var(--ugfx-radius); backdrop-filter: blur(18px);
}
.ugfx-stat-card { padding:1.25rem; }
.ugfx-stat-card strong { display:block; font-size:1.35rem; }
.section-pad { padding: 5rem 0; }
.section-heading { margin-bottom: 1.5rem; }
.section-heading .title { font-size: clamp(1.7rem, 3vw, 2.6rem); font-weight: 800; }
.section-heading .copy { color: var(--ugfx-muted); max-width: 720px; }
.ugfx-feature-grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:1.2rem; }
.ugfx-feature-card, .ugfx-card {
  position: relative; overflow:hidden; border-radius: var(--ugfx-radius); padding:1.35rem; background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)); border:1px solid var(--ugfx-line); box-shadow: var(--ugfx-shadow);
}
.ugfx-feature-card::before, .ugfx-card::before {
  content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgba(255,106,0,.08), transparent 35%, rgba(255,59,31,.05) 100%); pointer-events:none;
}
.ugfx-icon-badge {
  width:54px; height:54px; display:grid; place-items:center; border-radius:18px; margin-bottom:1rem; font-size:1.25rem;
  background:linear-gradient(135deg, rgba(255,106,0,.18), rgba(255,59,31,.12)); border:1px solid rgba(255,154,31,.22);
}
.ugfx-card:hover, .ugfx-feature-card:hover { transform: translateY(-4px); transition: .2s ease; }
.ugfx-grid-2 { display:grid; grid-template-columns:1.35fr .95fr; gap:1.25rem; }
.ugfx-media-card img { width:100%; height:100%; object-fit:cover; }
.ugfx-news-grid, .ugfx-team-grid, .ugfx-event-grid, .ugfx-chart-grid { display:grid; gap:1.25rem; }
.ugfx-news-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.ugfx-team-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.ugfx-event-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.ugfx-chat-grid { display:grid; grid-template-columns: 1.1fr .9fr; gap: 1.2rem; }
.ugfx-card h3, .ugfx-card h4, .ugfx-card h5 { position:relative; z-index:1; }
.ugfx-muted, .text-secondary { color: var(--ugfx-muted) !important; }
.ugfx-chip { display:inline-flex; align-items:center; gap:.45rem; border-radius:999px; padding:.45rem .8rem; border:1px solid rgba(255,154,31,.2); color:var(--ugfx-warm); background:rgba(255,255,255,.03); }
.ugfx-live-pill { color:#fff; background:linear-gradient(135deg, rgba(255,59,31,.85), rgba(255,106,0,.85)); border-radius:999px; padding:.4rem .7rem; font-size:.75rem; font-weight:800; letter-spacing:.08em; }
.table.ugfx-table { --bs-table-bg: transparent; --bs-table-color: var(--ugfx-text); --bs-table-border-color: rgba(255,255,255,.08); }
.table.ugfx-table tr.live-row { background: rgba(255,106,0,.08); }
.form-control, .form-select, textarea {
  background: rgba(12,14,20,.84) !important; border: 1px solid rgba(255,154,31,.18) !important; color: #fff !important; border-radius: 16px !important; padding: .9rem 1rem !important;
}
.form-control:focus, .form-select:focus, textarea:focus { box-shadow: 0 0 0 .2rem rgba(255,106,0,.12) !important; border-color: rgba(255,154,31,.45) !important; }
.ugfx-footer { padding: 4rem 0 8rem; border-top: 1px solid rgba(255,154,31,.12); background: linear-gradient(180deg, rgba(255,255,255,.01), rgba(255,255,255,.02)); }
.ugfx-footer-brand { font-family:'Orbitron', sans-serif; font-weight:800; margin-bottom:.8rem; }
.ugfx-footer-links a { color: var(--ugfx-muted); text-decoration:none; display:inline-block; padding:.2rem 0; }
.ugfx-footer-links a:hover { color:#fff; }
.ugfx-playerbar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 1040; padding: .8rem 0;
  background: linear-gradient(180deg, rgba(5,5,7,.15), rgba(5,5,7,.92) 40%);
}
.ugfx-playerbar-inner {
  display:flex; justify-content:space-between; gap:1rem; align-items:center; border-radius:24px; padding:.9rem 1rem; background:rgba(10,10,14,.82); border:1px solid rgba(255,154,31,.2); box-shadow:var(--ugfx-shadow); backdrop-filter: blur(18px);
}
.ugfx-player-thumb { width:56px; height:56px; object-fit:cover; border-radius:16px; }
.ugfx-micro-label { font-size:.72rem; letter-spacing:.12em; color:var(--ugfx-warm); font-weight:800; }
.ugfx-player-title { font-weight:800; }
.ugfx-player-meta { color:var(--ugfx-muted); font-size:.92rem; }
.ugfx-page-hero { padding: 4.5rem 0 2rem; }
.ugfx-page-hero .page-title { font-size: clamp(2rem, 5vw, 4rem); font-family:'Orbitron'; margin-bottom:.6rem; }
.ugfx-page-hero .page-copy { color: var(--ugfx-muted); max-width: 760px; }
.ugfx-team-avatar { width:100%; aspect-ratio: 4 / 4.3; object-fit:cover; border-radius:18px; margin-bottom:1rem; background:#0f121a; }
.ugfx-chat-messages { max-height: 540px; overflow:auto; display:flex; flex-direction:column; gap:.9rem; }
.ugfx-message { padding:1rem; border-radius:18px; background:rgba(255,255,255,.03); border:1px solid rgba(255,154,31,.13); }
.ugfx-message.system { background:rgba(255,106,0,.09); }
.ugfx-message .meta { font-size:.82rem; color:var(--ugfx-muted); margin-bottom:.4rem; }
.ugfx-message .gif-wrap img { max-width: 100%; border-radius: 14px; margin-top: .75rem; }
.ugfx-admin-shell { min-height:100vh; background:linear-gradient(180deg,#07080c,#050507); }
.ugfx-admin-sidebar { min-height:100vh; background:rgba(10,10,14,.92); border-right:1px solid rgba(255,154,31,.14); }
.ugfx-admin-sidebar a { color:var(--ugfx-muted); text-decoration:none; display:block; padding:.8rem 1rem; border-radius:14px; }
.ugfx-admin-sidebar a:hover, .ugfx-admin-sidebar a.active { color:#fff; background:rgba(255,106,0,.12); }


.ugfx-home-callout-list { display:grid; gap:.8rem; }
.ugfx-mini-callout { display:flex; align-items:flex-start; gap:.85rem; padding:.9rem 1rem; border-radius:18px; background:rgba(255,255,255,.03); border:1px solid rgba(255,154,31,.12); }
.ugfx-mini-callout i { color: var(--ugfx-orange-2); margin-top:.15rem; }
.ugfx-stack-list { display:grid; gap: .9rem; }
.ugfx-stack-link {
  display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.1rem; text-decoration:none; color:var(--ugfx-text);
  border-radius:20px; border:1px solid rgba(255,154,31,.15); background:rgba(255,255,255,.03);
}
.ugfx-stack-link:hover { color:#fff; transform: translateY(-2px); }
.ugfx-stack-link span { display:grid; gap:.25rem; }
.ugfx-stack-link small { color: var(--ugfx-muted); font-size:.88rem; }
.ugfx-stack-link.static { justify-content:flex-start; }
.ugfx-friend-row { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:.9rem 0; border-top:1px solid rgba(255,255,255,.06); }
.ugfx-friend-row:first-of-type { border-top:0; padding-top:0; }
.ugfx-friends-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.ugfx-page-body { line-height:1.8; font-size:1.05rem; }
.ugfx-page-body a { color: var(--ugfx-warm); }
.ugfx-event-grid.single-col { grid-template-columns:1fr; }


.ugfx-hero-orb{position:absolute;border-radius:50%;filter:blur(10px);opacity:.55;pointer-events:none;mix-blend-mode:screen;}
.ugfx-hero-orb-one{width:280px;height:280px;right:8%;top:12%;background:radial-gradient(circle,rgba(255,154,31,.55),rgba(255,106,0,0));animation:ugfxFloat 7s ease-in-out infinite;}
.ugfx-hero-orb-two{width:220px;height:220px;right:28%;bottom:10%;background:radial-gradient(circle,rgba(255,59,31,.45),rgba(255,59,31,0));animation:ugfxFloat 9s ease-in-out infinite reverse;}
.ugfx-hero-panel{box-shadow:0 24px 60px rgba(0,0,0,.32),0 0 55px rgba(255,106,0,.1);}
.ugfx-hero-art,.ugfx-cover-art{box-shadow:0 24px 60px rgba(0,0,0,.35);}
.ugfx-news-grid-home{grid-template-columns:repeat(2,minmax(0,1fr));}
.ugfx-team-grid-home{grid-template-columns:repeat(2,minmax(0,1fr));}
.reveal-up{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
.reveal-up.is-visible{opacity:1;transform:none;}
.ugfx-stack-link:hover,.ugfx-card:hover,.ugfx-feature-card:hover{box-shadow:0 18px 42px rgba(0,0,0,.28),0 0 26px rgba(255,106,0,.12);}
.ugfx-footer h6{font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ugfx-warm);}
@keyframes ugfxFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* Phase 3.1 polish */
.ugfx-hero .row{position:relative;}
.ugfx-hero .col-xl-7{position:relative;z-index:3;}
.ugfx-hero .col-xl-5{position:relative;z-index:2;}
.ugfx-display{position:relative;z-index:4;max-width:7.6ch;}
.ugfx-display span{display:block;}
.ugfx-hero-panel{position:relative;z-index:2;}
.ugfx-hero-panel::after{
  content:'';position:absolute;inset:-1px;border-radius:calc(var(--ugfx-radius) + 2px);
  background:linear-gradient(135deg,rgba(255,154,31,.28),rgba(255,106,0,.05),rgba(255,59,31,.18));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;padding:1px;pointer-events:none;opacity:.85;
}
.ugfx-card,.ugfx-feature-card,.ugfx-stack-link,.ugfx-stat-card{transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease, background .24s ease;}
.ugfx-card::after,.ugfx-feature-card::after{
  content:'';position:absolute;top:-140%;left:-35%;width:70%;height:320%;
  background:linear-gradient(115deg,transparent 0%,rgba(255,190,120,.16) 48%,transparent 100%);
  transform:rotate(18deg);opacity:0;pointer-events:none;
}
.ugfx-card:hover::after,.ugfx-feature-card:hover::after{animation:ugfxSweep 1.15s ease;opacity:1;}
.ugfx-card:hover,.ugfx-feature-card:hover,.ugfx-stack-link:hover,.ugfx-stat-card:hover{
  border-color:rgba(255,154,31,.28);
  box-shadow:0 22px 48px rgba(0,0,0,.34),0 0 38px rgba(255,106,0,.12);
}
.ugfx-home-media{display:block;width:100%;object-fit:cover;border-radius:18px;margin-bottom:1rem;border:1px solid rgba(255,154,31,.16);box-shadow:0 18px 40px rgba(0,0,0,.28),0 0 18px rgba(255,106,0,.08);}
.ugfx-home-media-news{height:150px;}
.ugfx-home-media-event{height:178px;}
.ugfx-home-media-friend{height:170px;}
.ugfx-news-card h4,.ugfx-news-card p,.ugfx-news-card .btn{position:relative;z-index:1;}
.ugfx-team-avatar{box-shadow:0 18px 40px rgba(0,0,0,.30),0 0 20px rgba(255,106,0,.10);}
.ugfx-btn-primary,.ugfx-live-pill{position:relative;overflow:hidden;}
.ugfx-btn-primary::after,.ugfx-live-pill::after{
  content:'';position:absolute;top:0;left:-140%;width:70%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
  transform:skewX(-24deg);
}
.ugfx-btn-primary:hover::after,.ugfx-live-pill::after{animation:ugfxShine 2.8s ease-in-out infinite;}
.ugfx-hero::before{animation:ugfxHeroPulse 12s ease-in-out infinite alternate;}
.body-embers{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0;}
.body-embers span{position:absolute;bottom:-20px;width:4px;height:4px;border-radius:50%;background:rgba(255,132,32,.9);box-shadow:0 0 12px rgba(255,132,32,.9),0 0 24px rgba(255,80,0,.45);animation:ugfxEmberUp linear infinite;opacity:.0;}
@keyframes ugfxSweep{0%{transform:translateX(0) rotate(18deg);opacity:0;}15%{opacity:1;}100%{transform:translateX(240%) rotate(18deg);opacity:0;}}
@keyframes ugfxShine{0%{left:-140%;}24%,100%{left:190%;}}
@keyframes ugfxHeroPulse{from{filter:saturate(1.08) contrast(1.02) brightness(1);}to{filter:saturate(1.12) contrast(1.05) brightness(1.03);}}
@keyframes ugfxEmberUp{0%{transform:translate3d(0,0,0) scale(.65);opacity:0;}12%{opacity:.9;}100%{transform:translate3d(var(--drift,0px),-110vh,0) scale(1.6);opacity:0;}}
@media (max-width:1199.98px){
  .ugfx-display{max-width:none;}
}


.ugfx-hero-content{position:relative;z-index:1;}
.ugfx-hero::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:120px;opacity:.28;pointer-events:none;
  background:
    linear-gradient(to top, rgba(255,106,0,.20), transparent 72%),
    repeating-linear-gradient(to right, rgba(255,106,0,.55) 0 4px, transparent 4px 13px);
  mask: linear-gradient(to top, #000, transparent 85%);
  animation: ugfxEqualizer 2.4s ease-in-out infinite alternate;
}
@keyframes ugfxEqualizer{from{transform:scaleY(.86);transform-origin:bottom;}to{transform:scaleY(1.12);transform-origin:bottom;}}
