:root{--bg:#080708;--panel:#121012;--panel2:#181417;--text:#f7f1f1;--muted:#a99fa2;--red:#ff3b30;--orange:#ff8a00;--line:#2a2326;--good:#35d07f}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 75% 5%,#3a120b33,transparent 30%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;line-height:1.55}a{color:inherit;text-decoration:none}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:16px 5%;background:#080708dd;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.brand{font-weight:900;letter-spacing:.8px}.brand-fire{filter:drop-shadow(0 0 10px #ff3b30)}.brand small{color:var(--orange);font-size:.65em;margin-left:4px}.topbar nav{display:flex;gap:22px;align-items:center;font-size:14px}.topbar nav a:hover{color:#ff7b5f}.menu{display:none;background:none;border:0;color:white;font-size:24px}.section{max-width:1120px;margin:auto;padding:92px 5%}.hero{min-height:650px;display:flex;align-items:center;position:relative;overflow:hidden}.hero-glow{position:absolute;width:500px;height:500px;border-radius:50%;background:#ff3b3015;filter:blur(80px);right:-100px;top:40px}.hero-content{position:relative;max-width:780px}.pill,.eyebrow{font-size:12px;letter-spacing:2px;color:#ff856b;font-weight:800}.hero h1{font-size:clamp(48px,8vw,88px);line-height:.95;margin:18px 0}.hero h1 span{display:block;background:linear-gradient(90deg,#fff,#ff6a45,#ffae42);-webkit-background-clip:text;color:transparent}.hero p{font-size:19px;color:var(--muted);max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:13px 20px;background:linear-gradient(135deg,var(--red),var(--orange));color:#fff;font-weight:800;cursor:pointer;box-shadow:0 8px 30px #ff3b3020}.btn:hover{transform:translateY(-1px);filter:brightness(1.08)}.btn-ghost{background:#ffffff08;border:1px solid var(--line);box-shadow:none}.btn-discord{background:#5865F2;box-shadow:0 8px 30px #5865f230}.btn-discord:hover{filter:brightness(1.12)}.footer-discord{color:#5865F2;font-weight:700;font-size:12px}.btn-small{padding:8px 14px;font-size:13px}.server-box{display:flex;align-items:center;justify-content:space-between;gap:15px;max-width:650px;padding:15px 17px;border:1px solid var(--line);background:#ffffff05;border-radius:12px}.server-box div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.server-box code{color:#ffb59d}.dot{width:9px;height:9px;border-radius:50%;background:var(--good);box-shadow:0 0 12px var(--good)}.copy-btn{background:none;color:#fff;border:1px solid var(--line);padding:7px 11px;border-radius:8px;cursor:pointer}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:20px}.cards article,.rules-grid article,.panel{border:1px solid var(--line);background:linear-gradient(145deg,#161214,#0e0c0d);border-radius:16px;padding:24px}.icon{font-size:28px}.cards h3,.rules-grid h3{margin:10px 0 4px}.cards p,.rules-grid p,.muted{color:var(--muted)}.section-head{margin-bottom:28px}.section-head h2{font-size:40px;margin:7px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:13px;color:#c8bfc2;font-weight:700;display:flex;align-items:center;gap:4px}.field input,.field textarea,.field select{width:100%;background:#090809;color:#fff;border:1px solid #332a2d;border-radius:9px;padding:12px;font:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus,.field textarea:focus,.field select:focus{border-color:#ff5b42;box-shadow:0 0 0 3px #ff3b3012}.field input[readonly]{opacity:.55;cursor:not-allowed}.field select option[value=""]{color:#a99fa2}.full{grid-column:1/-1}.msg{min-height:20px;color:#ffb09b;font-size:13px}.hint{font-size:11.5px;color:#8a7e82;margin-top:2px;line-height:1.4}.hint.counter{text-align:right;color:#6e6268}.req{color:#ff634a;font-weight:900;font-size:12px}.ticket-list{display:grid;gap:12px;margin-top:18px}.ticket{border:1px solid var(--line);padding:17px;border-radius:12px;background:#ffffff04}.ticket-top{display:flex;justify-content:space-between;gap:12px}.badge{padding:4px 8px;border-radius:99px;font-size:11px;background:#ffffff0d;color:#ffb09b}.rules-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.rules-grid b{color:#ff634a}.modal{position:fixed;inset:0;z-index:50;background:#000b;display:grid;place-items:center;padding:20px}.modal-card{position:relative;width:min(430px,100%);background:#121012;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 30px 100px #000}.modal-card h2{font-size:32px;margin:8px 0}.modal-close{position:absolute;right:15px;top:10px;background:none;border:0;color:#aaa;font-size:28px;cursor:pointer}.link-btn{margin-top:18px;background:none;border:0;color:#ff9278;cursor:pointer}.hidden{display:none!important}.admin{max-width:1200px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-item{border-bottom:1px solid var(--line);padding:14px 0}.admin-item:last-child{border:0}.admin-item button{margin:4px 5px 0 0}.status-card{display:grid;gap:8px}.status-large{font-size:25px;font-weight:900;color:#ff8c70}footer{border-top:1px solid var(--line);padding:25px 5%;display:flex;justify-content:space-between;color:#83797c;font-size:12px}#toast{position:fixed;right:20px;bottom:20px;background:#1b1719;border:1px solid #403437;padding:12px 16px;border-radius:10px;opacity:0;transform:translateY(10px);transition:.2s;z-index:100}#toast.show{opacity:1;transform:none}
@media(max-width:760px){.topbar nav{display:none;position:absolute;left:0;right:0;top:64px;background:#0c0a0b;padding:18px;flex-direction:column;border-bottom:1px solid var(--line)}.topbar nav.open{display:flex}.menu{display:block}.cards,.rules-grid,.admin-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.hero{min-height:590px}.server-box{align-items:flex-start;flex-direction:column}footer{flex-direction:column;gap:7px}}

.fc-sponsored-wrap{width:100%;margin:22px auto;display:none}.fc-sponsored-wrap.fc-sponsored-visible{display:block}.fc-sponsored{position:relative;display:flex;align-items:center;gap:14px;padding:15px 17px;background:linear-gradient(135deg,#111722,#0d1118);border:1px solid #303746;border-radius:14px;box-shadow:0 8px 30px rgba(0,0,0,.18)}.fc-sponsored::before{content:"SPONSORED";position:absolute;right:12px;top:9px;font-size:9px;letter-spacing:1px;color:#aeb7c7}.fc-sponsored img{width:52px;height:52px;object-fit:contain;border-radius:10px;background:#0a0d13;border:1px solid #252b37}.fc-sponsored-body{min-width:0;flex:1;padding-right:60px}.fc-sponsored-title{font-weight:800;color:#fff}.fc-sponsored-desc{color:#9da7b8;font-size:13px;margin-top:4px;line-height:1.45}.fc-sponsored-btn{display:inline-block;margin-top:9px;padding:7px 10px;border-radius:8px;text-decoration:none;background:#d96514;color:#fff;font-size:12px;font-weight:700}.fc-sponsored-btn:hover{filter:brightness(1.1)}

/* FireCraft announcements */
.fc-announcements-section{margin:24px 0;padding:20px;border-radius:18px;background:rgba(10,18,32,.72);border:1px solid rgba(255,255,255,.08)}
.fc-section-heading{margin-bottom:16px}.fc-section-kicker{font-size:.72rem;letter-spacing:.16em;opacity:.7}
.fc-section-heading h2{margin:4px 0 6px}.fc-section-heading p{margin:0;opacity:.72}
.fc-announcements-list{display:grid;gap:12px}.fc-announcement-card{padding:16px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.fc-announcement-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.75rem;opacity:.72}
.fc-announcement-type{text-transform:uppercase;letter-spacing:.08em}.fc-announcement-card h3{margin:8px 0 6px}.fc-announcement-card p{margin:0;line-height:1.6}.fc-announcements-empty{opacity:.65;margin:0}

/* =========================================================
   FireCraft Sponsored + Announcements UI
   Matches the existing dark/neon portal design
   ========================================================= */
.fc-sponsored-wrap,
.fc-announcements-section {
  width: 100%;
  box-sizing: border-box;
  margin: 24px 0;
}

.fc-sponsored-card,
.fc-announcements-section {
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(18,25,42,.96), rgba(8,13,25,.96));
  box-shadow: 0 12px 35px rgba(0,0,0,.22);
  overflow: hidden;
}

.fc-sponsored-card {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 18px 20px;
}

.fc-sponsored-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg,#5ee7ff,#7c5cff);
}

.fc-sponsored-card img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  border-radius: 13px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  padding: 7px;
  box-sizing: border-box;
}

.fc-sponsored-content {
  min-width: 0;
}

.fc-sponsored-label {
  display: inline-flex;
  align-items: center;
  margin-bottom: 5px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(124,92,255,.13);
  border: 1px solid rgba(124,92,255,.25);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .9;
}

.fc-sponsored-card h3 {
  margin: 0 0 5px;
  font-size: 1rem;
  line-height: 1.25;
}

.fc-sponsored-card p {
  margin: 0;
  color: rgba(255,255,255,.68);
  font-size: .88rem;
  line-height: 1.5;
}

.fc-sponsored-card a,
.fc-sponsored-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 15px;
  border-radius: 10px;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.11);
  background: rgba(255,255,255,.055);
  color: inherit;
  font-weight: 700;
  font-size: .82rem;
  transition: .2s ease;
}

.fc-sponsored-card a:hover,
.fc-sponsored-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,.09);
}

.fc-announcements-section {
  padding: 22px;
}

.fc-section-heading {
  margin-bottom: 17px;
}

.fc-section-kicker {
  display: inline-block;
  margin-bottom: 5px;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .16em;
  opacity: .58;
}

.fc-section-heading h2 {
  margin: 0 0 5px;
  font-size: 1.35rem;
}

.fc-section-heading p {
  margin: 0;
  color: rgba(255,255,255,.62);
  font-size: .88rem;
}

.fc-announcements-list {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
  gap: 12px;
}

.fc-announcement-card {
  min-width: 0;
  padding: 16px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.035);
  transition: .2s ease;
}

.fc-announcement-card:hover {
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.15);
  background: rgba(255,255,255,.05);
}

.fc-announcement-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  font-size: .68rem;
  color: rgba(255,255,255,.52);
}

.fc-announcement-type {
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(94,231,255,.08);
  border: 1px solid rgba(94,231,255,.16);
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.fc-announcement-card h3 {
  margin: 0 0 7px;
  font-size: 1rem;
}

.fc-announcement-card p {
  margin: 0;
  color: rgba(255,255,255,.68);
  font-size: .86rem;
  line-height: 1.55;
}

.fc-announcements-empty {
  margin: 0;
  padding: 10px 0;
  color: rgba(255,255,255,.5);
}

@media (max-width: 700px) {
  .fc-sponsored-card {
    grid-template-columns: auto 1fr;
    padding: 15px;
    gap: 13px;
  }
  .fc-sponsored-card > a,
  .fc-sponsored-card > .fc-sponsored-btn {
    grid-column: 1 / -1;
    width: 100%;
  }
  .fc-sponsored-card img {
    width: 50px;
    height: 50px;
  }
  .fc-announcements-section {
    padding: 16px;
  }
  .fc-announcements-list {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   Homepage Sponsored Placements — final synced styling
   Hero remains first; sponsored placements follow it.
   ========================================================= */

.fc-sponsored-section{
  width:min(1120px,90%);
  margin:0 auto 8px;
  padding:0;
}

.fc-sponsored-heading{
  margin:0 0 12px;
}

.fc-sponsored-kicker{
  display:block;
  color:#ff856b;
  font-size:11px;
  font-weight:800;
  letter-spacing:2px;
  margin-bottom:4px;
}

.fc-sponsored-heading h2{
  margin:0;
  font-size:28px;
}

.fc-sponsored-list{
  display:grid;
  gap:12px;
}

.fc-sponsored-wrap{
  width:100%;
  margin:0;
}

.fc-sponsored-wrap[hidden]{
  display:none !important;
}

.fc-sponsored{
  position:relative;
  display:flex;
  align-items:center;
  gap:15px;
  width:100%;
  padding:16px 18px;
  border:1px solid #332a2d;
  border-radius:16px;
  background:linear-gradient(145deg,#161214,#0e0c0d);
  box-shadow:0 12px 30px rgba(0,0,0,.18);
  overflow:hidden;
}

.fc-sponsored::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:linear-gradient(180deg,#ff3b30,#ff8a00);
}

.fc-sponsored-media{
  width:58px;
  height:58px;
  flex:0 0 58px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:12px;
  background:#090809;
  border:1px solid #332a2d;
}

.fc-sponsored-media img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:7px;
}

.fc-sponsored-placeholder{
  color:#ff8a00;
  font-size:12px;
  font-weight:900;
}

.fc-sponsored-body{
  min-width:0;
  flex:1;
  padding-right:5px;
}

.fc-sponsored-label{
  display:inline-flex;
  padding:4px 8px;
  margin-bottom:5px;
  border-radius:999px;
  border:1px solid rgba(255,138,0,.25);
  background:rgba(255,138,0,.10);
  color:#ffb59d;
  font-size:9px;
  font-weight:900;
  letter-spacing:1.2px;
}

.fc-sponsored-title{
  margin:0 0 3px;
  font-size:17px;
}

.fc-sponsored-desc{
  margin:0;
  color:#a99fa2;
  font-size:13px;
  line-height:1.45;
}

.fc-sponsored-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:9px;
  padding:8px 12px;
  border-radius:9px;
  background:linear-gradient(135deg,#ff3b30,#ff8a00);
  color:#fff;
  font-size:12px;
  font-weight:800;
  box-shadow:none;
}

.fc-sponsored-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.08);
}

@media(max-width:760px){
  .fc-sponsored-section{
    width:90%;
  }

  .fc-sponsored{
    align-items:flex-start;
  }
}

@media(max-width:520px){
  .fc-sponsored{
    flex-direction:column;
  }

  .fc-sponsored-body{
    width:100%;
  }

  .fc-sponsored-btn{
    width:100%;
  }
}

/* Final sponsored visibility fix */
.fc-sponsored-wrap.fc-sponsored-visible{
  display:block !important;
}
.fc-sponsored-wrap[hidden]{
  display:none !important;
}
