/* serveriai/assets/style.css */
:root{
  --bg:#06140c;
  --panel:#0c1f15;
  --panel2:#081810;
  --text:#e8e8e8;
  --muted:#a0a7b4;
  --green:#00d26a;
  --red:#ff4d4d;
  --blue:#4ea1ff;
  --line:#143324;
}
*{box-sizing:border-box}
html,body{height:100%;}
body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.wrap{max-width:1150px;margin:0 auto;padding:18px;min-height:100vh}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.brand{font-family:'Press Start 2P', system-ui, sans-serif; font-weight:400; letter-spacing:1px; font-size:18px; line-height:1.2}
.nav a{color:var(--muted);text-decoration:none;margin-left:14px}
.nav a:hover{color:var(--text)}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.table th{color:var(--muted);font-weight:600;background:linear-gradient(180deg,var(--panel2),var(--panel))}
.table tr:hover td{background:#141824}
.rank{width:52px;color:var(--muted);text-align:right}
.mode{font-weight:600}
.mode.all{color:#ff9f43}
.mode.pvp{color:var(--green)}
.mode.survival{color:var(--blue)}
.mode.rpg{color:#c084fc}
.online{font-variant-numeric:tabular-nums;color:var(--green)}
.offline{color:var(--red)}
.votes{font-variant-numeric:tabular-nums}
.badge{display:inline-block;padding:2px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px}
.actions a{color:var(--text);text-decoration:none;border:1px solid var(--line);padding:6px 10px;border-radius:10px;background:#10131a}
.actions a:hover{background:#141824}
.form{padding:16px}
.input{display:block;width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#0e1016;color:var(--text)}
.label{display:block;margin:12px 0 6px;color:var(--muted)}
.btn{display:inline-block;margin-top:12px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:#10131a;color:var(--text);text-decoration:none;cursor:pointer}
.btn:hover{background:#141824}
.msg{padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#10131a;margin-bottom:12px}
.msg.ok{border-color:#1f3; }
.msg.err{border-color:#f33; }
.footer{max-width:1150px;margin:0 auto;padding:0 18px 20px;color:var(--muted);font-size:12px}
.small{color:var(--muted);font-size:13px}

/* Version column */
.version{font-weight:600;color:var(--text)}

/* Center content inside server list rows */
.table td{
  text-align: center;
  vertical-align: middle;
}
.table td a{
  display: inline-block;
}

/* Dark overlay to keep text readable */
body:before{
  content:'';
  position:fixed;
  inset:0;
  background: rgba(0,0,0,0.55);
  pointer-events:none;
  z-index:-1;
}

.rank-icon{
  width:18px;
  height:18px;
  vertical-align:middle;
  margin-right:6px;
  image-rendering: pixelated;
}



/* Custom netherite sword cursor (image) */
body, a, button, input, select, textarea{
  cursor: url('netherite_sword.png') 6 6, auto;
}

/* Nav buttons with Minecraft texture */
.nav a{
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background-image: url('nav_bg_small.png');
  background-image: image-set(
    url('nav_bg.webp') type('image/webp'),
    url('nav_bg_small.png') type('image/png')
  );
  background-size: cover;
  background-position: center;
  color: #ffffff !important;
  text-shadow: 0 2px 6px rgba(0,0,0,0.65);
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}
.nav a:hover{
  filter: brightness(1.08);
}

/* Website background */
body{
  background-image: url('site_bg.png');
  background-repeat: repeat;
  background-size: auto;
  background-position: center;
}


/* ===============================
   GLOBAL OVERRIDES
   =============================== */

/* Force custom cursor everywhere (normal + hover) */
html, body, body *, body *:hover{
  cursor: url('cursor.cur') 0 0, auto !important;
}

/* Center rank/ID column (numbers + medal icons) */
td.rank, .rank{
  text-align: center !important;
  vertical-align: middle !important;
}
.rank-icon{
  display: block !important;
  margin: 0 auto !important;
}



/* Center align rank header/cells */
th.rank,
td.rank {
  text-align: center;
  vertical-align: middle;
}

/* Center medal icons (gold/silver/bronze) */
.rank-icon {
  display: block;
  margin: 0 auto;
}

.vote-sub {
  font-size: 11px;
  margin-left: 4px;
  opacity: 0.8;
}
.ip-copy {
  cursor: pointer;
}

/* Force uppercase display */
.server-name{ text-transform: uppercase; }
.server-ip{ text-transform: uppercase; }

/* Smaller cursor (2x smaller visual using scale) */
html {
  cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><polygon points="0,0 0,16 4,12 8,20 10,18 6,10 12,10" fill="white"/></svg>') 0 0, auto;
}

/* Server hover color -> dark gold */
.table tbody tr:hover td {
  background: #2a2208;
}

.table tbody tr:hover a {
  color: #d4af37;
}

/* Server name hover specifically */
.server-name:hover {
  color: #d4af37;
}

/* Fix border/line color on hover to match dark gold */
.table tbody tr:hover td {
  background: #2a2208;
  border-bottom-color: #3a2f0a;
}

.table tbody tr:hover td:first-child {
  border-left-color: #3a2f0a;
}

.panel, .table th, .table td {
  border-color: #143324;
}

/* FULL WIDTH dark-gold hover fix */
.table tbody tr:hover {
  background-color: #2a2208 !important;
}
.table tbody tr:hover td {
  background-color: #2a2208 !important;
}

/* Extra small cursor (2x smaller) */
html {
  cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12'><polygon points='0,0 0,12 3,9 6,16 8,14 5,8 10,8' fill='white'/></svg>") 0 0, auto;
}

/* EXTEND hover background to the right (fix small green strip on the far right) */
.table tbody tr:hover td:last-child{
  position: relative;
}
.table tbody tr:hover td:last-child::after{
  content:"";
  position:absolute;
  top:0;
  right:-2000px;
  width:2000px;
  height:100%;
  background:#2a2208;
  pointer-events:none;
}

/* Super small cursor (2x smaller) */
html, body, * {
  cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 16 16'><polygon points='0,0 0,16 5,11 8,20 11,18 7,10 15,10' fill='white'/></svg>") 0 0, auto !important;
}

/* FULL WIDTH light green line fix */
.table {
  width: 100%;
}
.table tbody tr td {
  position: relative;
}
.table tbody tr td:last-child::after {
  content:"";
  position:absolute;
  right:-2000px;
  top:0;
  width:2000px;
  height:100%;
  border-bottom:1px solid #1f5a3a;
  pointer-events:none;
}

/* Remove green text, use default gray like other text */
.table td,
.table td span,
.table td a {
  color: var(--text);
}

.live-online,
.online,
.offline {
  color: var(--text) !important;
}

/* Fix green separator lines -> use default line color everywhere */
.table th,
.table td,
.table tbody tr td::after,
.table tbody tr:hover td,
.table tbody tr:hover td::after {
  border-color: var(--line) !important;
}

/* Ensure no green lines remain */
:root {
  --green: var(--line);
}

/* AUTH PAGE */
.auth-wrap {display:flex;gap:30px}
.auth-box {flex:1;border:2px solid #333;padding:20px}
.auth-divider {width:2px;background:#333}
