
:root{
  --ph-bg:#060b13;
  --ph-panel:#0d1524;
  --ph-panel-2:#101b30;
  --ph-line:rgba(255,255,255,.08);
  --ph-text:#f3f7ff;
  --ph-muted:#9db0c7;
  --ph-green:#34d399;
  --ph-red:#f87171;
  --ph-blue:#60a5fa;
}
body{
  background:radial-gradient(circle at top, rgba(59,130,246,.08), transparent 36%), #050912;
  color:var(--ph-text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
#main-menu-wrap{
  position:sticky;
  top:0;
  z-index:1500;
  backdrop-filter:blur(14px);
  background:rgba(6,11,19,.84);
  border-bottom:1px solid rgba(255,255,255,.08);
}
#main-menu{
  max-width:1180px;
  margin:0 auto;
  padding:14px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.ph-brand{
  display:flex;
  align-items:center;
  gap:14px;
  color:#fff;
  text-decoration:none;
  min-width:0;
}
.ph-logo{
  width:46px;
  height:46px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, rgba(96,165,250,.22), rgba(52,211,153,.24));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 14px 30px rgba(0,0,0,.28);
}
.ph-logo i{font-size:20px;color:#dbeafe}
.ph-title{display:grid;gap:2px;min-width:0}
.ph-title strong{font-size:18px;line-height:1.05}
.ph-title span{font-size:12px;color:var(--ph-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph-mobile-toggle{
  display:none;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
  color:#fff;
  border-radius:14px;
  padding:10px 14px;
  font-weight:700;
}
.ph-nav{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.nav-link,
.ph-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#f8fbff;
  text-decoration:none;
  padding:11px 14px;
  border-radius:14px;
  border:1px solid transparent;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.nav-link:hover,
.ph-btn:hover,
.submenu a:hover{
  text-decoration:none;
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.1);
  transform:translateY(-1px);
}
.nav-btn-login{background:rgba(96,165,250,.14);border-color:rgba(96,165,250,.2)}
.nav-btn-register{background:rgba(52,211,153,.14);border-color:rgba(52,211,153,.2)}
.has-submenu{position:relative}
.submenu{
  display:none;
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  min-width:240px;
  padding:10px;
  border-radius:18px;
  background:rgba(8,14,24,.98);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 40px rgba(0,0,0,.36);
}
.has-submenu.open .submenu{display:grid;gap:6px}
.submenu a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  color:#fff;
  border-radius:12px;
  text-decoration:none;
}
.ph-badge{
  min-width:18px;
  height:18px;
  padding:0 6px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#ef4444;
  color:#fff;
  font-size:11px;
  font-weight:800;
}
.modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:1800;
  background:rgba(0,0,0,.7);
  padding:18px;
}
.modal.open{display:block}
.modal-content{
  max-width:440px;
  margin:8vh auto 0;
  padding:22px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(16,24,38,.98), rgba(7,12,21,.98));
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 24px 70px rgba(0,0,0,.48);
}
.modal-content h2{margin:0 0 16px;font-size:24px}
.modal-content input,
.modal-content button{
  width:100%;
  box-sizing:border-box;
  border-radius:14px;
}
.modal-content input{
  background:#09111d;
  color:#fff;
  border:1px solid rgba(255,255,255,.1);
  padding:13px 14px;
  margin-bottom:10px;
}
.modal-content button{
  border:0;
  padding:13px 14px;
  background:linear-gradient(135deg, #34d399, #60a5fa);
  color:#04131a;
  font-weight:900;
  cursor:pointer;
}
.form-msg{font-size:13px;color:var(--ph-muted);margin-top:8px}
.modal-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:12px;
}
.modal-actions a,
.close{
  color:#cbd5e1;
  text-decoration:none;
  font-size:13px;
}
.close{display:inline-block;margin-top:16px;cursor:pointer}
@media (max-width: 980px){
  #main-menu{padding:12px 14px;align-items:flex-start;flex-direction:column}
  .ph-mobile-toggle{display:inline-flex;align-items:center;gap:8px}
  .ph-nav{display:none;width:100%;flex-direction:column;align-items:stretch}
  .ph-nav.open{display:flex}
  .nav-link,.ph-btn{justify-content:space-between;width:100%}
  .submenu{position:static;min-width:0;margin-top:8px}
}
