/* Forge Horizons — Titan Reach visual language */
:root{
  --bg:#0a0a0b; --panel:#141416; --panel2:#101012; --line:rgba(255,255,255,.08);
  --gold:#d4a017; --gold-soft:rgba(212,160,23,.12); --gold-glow:0 0 24px rgba(212,160,23,.35);
  --red:#e5484d; --red-soft:rgba(229,72,77,.1);
  --text:#f2f0eb; --muted:#9b98a6; --ok:#4ade80;
  --radius:14px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;line-height:1.55;min-height:100vh}
.display,h1,h2,h3{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.02em;font-weight:500}
a{color:var(--gold);text-decoration:none}
button{font-family:'Inter',sans-serif;cursor:pointer}
img{display:block}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.hidden{display:none!important}

/* ---- nav ---- */
nav{background:#0d0d0f;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
nav .inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:12px}
.brand .chip{width:38px;height:38px;border-radius:10px;background:var(--gold);color:#0a0a0b;display:grid;place-items:center;font-family:'Oswald';font-weight:600;font-size:.85rem}
.brand .name{font-family:'Oswald';letter-spacing:.18em;font-size:1.02rem}
.navlinks{display:flex;gap:30px;font-size:.93rem}
.navlinks a{color:#cfcdd8;transition:color .15s}
.navlinks a:hover{color:var(--gold)}
.navlinks a.active{color:var(--gold)}
.navlinks a.admin-link.active{color:var(--red)}
.userchip{background:#151517;border:1px solid var(--line);border-radius:12px;padding:8px 14px;display:flex;align-items:center;gap:10px;cursor:pointer;position:relative}
.userchip .avatar{width:30px;height:30px;border-radius:50%;background:#3d1d20;color:#e58c8c;display:grid;place-items:center;font-size:.8rem;font-weight:600}
.userchip .who b{display:block;font-size:.86rem;line-height:1.2}
.userchip .who span{font-size:.66rem;letter-spacing:.12em;color:var(--red);text-transform:uppercase;font-weight:700}
.userchip .who span.role-brand,.userchip .who span.role-creator{color:var(--gold)}
.usermenu{position:absolute;top:calc(100% + 8px);right:0;background:#131315;border:1px solid var(--line);border-radius:12px;min-width:230px;padding:8px;box-shadow:0 20px 50px rgba(0,0,0,.6)}
.usermenu a{display:block;padding:10px 14px;color:#cfcdd8;border-radius:8px;font-size:.9rem}
.usermenu a:hover{background:rgba(255,255,255,.05);color:var(--gold)}
.usermenu .logout{color:#fff;background:var(--red);margin-top:6px;text-align:left}
.btn{border:none;border-radius:10px;padding:13px 26px;font-weight:600;font-size:.93rem;transition:transform .12s, box-shadow .12s}
.btn.gold{background:var(--gold);color:#0a0a0b;box-shadow:var(--gold-glow)}
.btn.gold:hover{transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn.red{background:var(--red);color:#fff;box-shadow:0 0 24px rgba(229,72,77,.35)}
.btn:disabled{opacity:.55;cursor:wait;transform:none}

/* ---- hero ---- */
.hero{position:relative;text-align:center;padding:110px 0 80px;overflow:hidden}
.hero .bgcards{position:absolute;inset:0;opacity:.16;filter:blur(2px);pointer-events:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:30px;transform:scale(1.06)}
.hero .bgcards div{background:var(--panel);border:1px solid var(--line);border-radius:14px;min-height:150px}
.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(212,160,23,.4);color:var(--gold);border-radius:100px;padding:8px 20px;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;background:rgba(10,10,11,.6)}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}
.hero h1{font-size:clamp(2.6rem,7vw,4.6rem);line-height:1.04;margin:30px 0 22px;font-weight:600}
.hero h1 .gold{color:var(--gold)}
.hero p.sub{color:var(--muted);max-width:640px;margin:0 auto 34px;font-size:1.05rem}
.hero .ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.statbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;max-width:860px;margin:70px auto 0}
.statbar div{background:rgba(16,16,18,.9);padding:22px}
.statbar b{font-family:'Oswald';font-size:1.7rem;color:var(--gold);display:block}
.statbar span{color:var(--muted);font-size:.8rem}

/* ---- sections ---- */
section{padding:70px 0}
.eyebrow{color:var(--gold);letter-spacing:.22em;text-transform:uppercase;font-size:.74rem;font-weight:700}
.eyebrow.red{color:var(--red)}
.pagehead h1{font-size:clamp(1.9rem,4vw,3rem);margin-top:6px}
.pagehead .sub{color:var(--muted);margin-top:8px;max-width:640px}
.sechead{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px}
.sechead h2{font-size:1.6rem}

/* ---- tabs ---- */
.tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin:34px 0 30px;overflow-x:auto}
.tab{font-family:'Oswald';text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;color:var(--muted);padding:12px 2px;border-bottom:2px solid transparent;background:none;border-top:none;border-left:none;border-right:none;white-space:nowrap}
.tab.active{color:var(--gold);border-bottom-color:var(--gold)}
.admin .tab.active{color:var(--red);border-bottom-color:var(--red)}

/* ---- cards / panels ---- */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.statcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.statcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}
.statcard .top{display:flex;justify-content:space-between;color:var(--muted);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}
.statcard b{font-family:'Oswald';font-size:1.9rem;font-weight:500;display:block;margin-top:8px}
.statcard b.gold{color:var(--gold)}
.admin .statcard{border-color:rgba(229,72,77,.25);background:linear-gradient(180deg,rgba(229,72,77,.05),transparent)}
.admin .statcard svg{color:var(--red)}

/* ---- creator grid ---- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.ccard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:transform .15s,border-color .15s}
.ccard:hover{transform:translateY(-3px);border-color:rgba(212,160,23,.5)}
.cover{height:150px;position:relative;background-size:cover;background-position:center}
.cover .tags{position:absolute;left:12px;bottom:10px;display:flex;gap:6px}
.cover .tag{background:rgba(10,10,11,.75);border:1px solid var(--line);color:#ddd;font-size:.68rem;padding:3px 10px;border-radius:100px;text-transform:capitalize}
.cover .feat{position:absolute;left:12px;top:10px;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);background:rgba(10,10,11,.8);padding:4px 10px;border-radius:4px;border:1px solid rgba(212,160,23,.4)}
.ccard .body{padding:16px 18px 18px}
.ccard .id{display:flex;gap:12px;align-items:center}
.ccard .avatar{width:44px;height:44px;border-radius:50%;border:2px solid rgba(212,160,23,.6);background:#222 center/cover}
.ccard h3{font-size:1.02rem;text-transform:none;font-family:'Inter';font-weight:600}
.ccard .loc{color:var(--muted);font-size:.8rem;text-transform:capitalize}
.cstats{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line);margin-top:14px;padding-top:14px;text-align:center}
.cstats b{font-family:'Oswald';color:var(--gold);font-size:1.05rem;display:block}
.cstats span{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}
.tierline{display:flex;justify-content:space-between;align-items:center;margin-top:12px;color:var(--muted);font-size:.75rem}
.badge{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 10px;border-radius:100px;border:1px solid}
.badge.Elite{color:var(--gold);border-color:var(--gold);background:var(--gold-soft)}
.badge.Verified{color:#7fb4d9;border-color:#7fb4d9;background:rgba(127,180,217,.08)}
.badge.Rising{color:#8fce9a;border-color:#8fce9a;background:rgba(143,206,154,.08)}
.badge.Developing{color:var(--muted);border-color:var(--muted)}
.badge.approved{color:var(--ok);border-color:var(--ok);background:rgba(74,222,128,.08);text-transform:lowercase}
.badge.rejected{color:var(--red);border-color:var(--red);background:var(--red-soft);text-transform:lowercase}
.badge.pending_analysis,.badge.analysis_failed{color:#e0b45c;border-color:#e0b45c;text-transform:lowercase}

/* ---- search & filters ---- */
.searchrow{display:flex;gap:12px;margin:26px 0}
.searchrow input{flex:1}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.chip{border:1px solid var(--line);background:var(--panel2);color:var(--muted);padding:7px 16px;border-radius:100px;font-size:.82rem;cursor:pointer;text-transform:capitalize}
.chip.active{border-color:var(--gold);color:var(--gold);background:var(--gold-soft)}

/* ---- forms ---- */
label.fl{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 7px}
input,select,textarea{width:100%;background:#fff;border:none;border-radius:12px;color:#1a1a1a;padding:13px 16px;font-family:'Inter';font-size:.93rem}
input::placeholder,textarea::placeholder{color:#9aa}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold)}
textarea{min-height:110px;resize:vertical}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.frow.single{grid-template-columns:1fr}
.formfoot{display:flex;justify-content:flex-end;margin-top:6px}

/* ---- auth ---- */
.authwrap{max-width:470px;margin:60px auto;padding:0 20px}
.authlogo{display:flex;justify-content:center;margin-bottom:26px}
.authcard{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:34px}
.authcard h2{font-size:1.45rem;margin-bottom:4px}
.authcard .sub{color:var(--muted);font-size:.9rem;margin-bottom:24px}
.authcard .field{margin-bottom:16px}
.authcard .btn{width:100%;margin-top:6px}
.rolepick{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.rolepick .opt{border:1px solid var(--line);border-radius:12px;padding:14px;cursor:pointer;background:var(--panel2)}
.rolepick .opt b{display:block;font-size:.9rem}
.rolepick .opt span{font-size:.78rem;color:var(--muted)}
.rolepick .opt.active{border-color:var(--gold)}
.rolepick .opt.active b,.rolepick .opt.active span{color:var(--gold)}
.authnote{border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:var(--muted);font-size:.8rem;margin-top:18px;display:flex;gap:8px}
.authfoot{text-align:center;color:var(--muted);font-size:.88rem;margin-top:20px}
.divider{height:1px;background:var(--line);margin:22px 0}

/* ---- profile page ---- */
.profilegrid{display:grid;grid-template-columns:340px 1fr;gap:22px;align-items:start}
.pcard{text-align:center}
.pcard .pavatar{width:110px;height:110px;border-radius:50%;margin:6px auto 16px;border:3px solid rgba(212,160,23,.55);background:#222 center/cover}
.pcard h2{font-size:1.5rem}
.vrow{color:var(--gold);font-size:.85rem;margin:8px 0 4px}
.pstat4{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
.pstat4 .statcard{text-align:center}
.pillrow{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:.8rem}
.pillrow label{width:130px;color:var(--muted);text-align:left;flex:none}
.bar{flex:1;height:6px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden}
.bar i{display:block;height:100%;background:linear-gradient(90deg,#8a6c14,var(--gold))}
.pillrow b{width:28px;text-align:right}

/* ---- modal ---- */
.overlay{position:fixed;inset:0;background:rgba(5,5,7,.78);backdrop-filter:blur(3px);display:grid;place-items:center;z-index:100;padding:20px}
.modal{background:#131315;border:1px solid rgba(212,160,23,.35);border-radius:18px;max-width:460px;width:100%;padding:34px;position:relative;box-shadow:0 0 60px rgba(212,160,23,.18);max-height:90vh;overflow:auto}
.modal.red{border-color:rgba(229,72,77,.4);box-shadow:0 0 60px rgba(229,72,77,.15)}
.modal .close{position:absolute;top:16px;right:18px;background:none;border:none;color:var(--muted);font-size:1.2rem}
.modal .icon{width:54px;height:54px;border-radius:14px;background:var(--gold-soft);border:1px solid rgba(212,160,23,.4);display:grid;place-items:center;font-size:1.4rem;margin-bottom:20px}
.modal.red .icon{background:var(--red-soft);border-color:rgba(229,72,77,.4)}
.modal .eyebrow{margin-bottom:4px}
.modal h2{font-size:1.6rem;margin-bottom:12px}
.modal p{color:var(--muted);font-size:.92rem;margin-bottom:22px}
.modal .btn{width:100%}

/* ---- lists (admin) ---- */
.rowitem{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:10px}
.admin .rowitem{border-color:rgba(229,72,77,.2)}
.rowitem .avatar{width:38px;height:38px;border-radius:50%;background:#222 center/cover;flex:none}
.rowitem .info{flex:1;min-width:0}
.rowitem .info b{font-size:.92rem;display:block}
.rowitem .info span{color:var(--muted);font-size:.78rem}
.rowitem .actions{display:flex;gap:8px;align-items:center}
.iconbtn{background:none;border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:6px 10px;font-size:.78rem}
.iconbtn:hover{color:var(--gold);border-color:var(--gold)}
.iconbtn.danger:hover{color:var(--red);border-color:var(--red)}

/* ---- misc ---- */
.empty{text-align:center;color:var(--muted);padding:60px 20px}
.empty .big{font-size:2rem;margin-bottom:10px}
.ctapanel{background:linear-gradient(180deg,rgba(212,160,23,.06),transparent);border:1px solid var(--line);border-radius:20px;text-align:center;padding:70px 30px}
.ctapanel h2{font-size:2.2rem}
.ctapanel h2 .gold{color:var(--gold)}
.ctapanel p{color:var(--muted);margin:14px 0 28px}
footer{border-top:1px solid var(--line);margin-top:60px;padding:34px 0;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.85rem}
.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:#131315;border:1px solid var(--gold);color:var(--text);border-radius:10px;padding:13px 24px;z-index:200;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.toast.err{border-color:var(--red)}
.hiw{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.hiw .panel b{font-family:'Oswald';color:var(--gold);font-size:1.05rem;text-transform:uppercase;display:block;margin-bottom:8px}
.hiw .panel p{color:var(--muted);font-size:.88rem}
.matchcard{display:flex;gap:16px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:12px}
.matchcard .rank{font-family:'Oswald';font-size:1.5rem;color:var(--gold);width:30px;flex:none;text-align:center}
@media(max-width:880px){.profilegrid{grid-template-columns:1fr}.navlinks{display:none}}
