:root{
    --bg-0:#070a06; --bg-1:#0d130c; --panel:#121a10; --panel-line:#243020;
    --ink:#e9eee2; --ink-dim:#8fa080; --amber:#e6b856; --red:#ff5b45; --green:#7fd88f;
    --shadow: 0 20px 60px rgba(0,0,0,.55);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html,body{height:100%;background:var(--bg-0);color:var(--ink);-webkit-tap-highlight-color:transparent;}
  body{font-family:'Rajdhani',sans-serif;overflow-x:hidden;}
  a{color:var(--amber);text-decoration:none;}
  a:hover{text-decoration:underline;}
  
  /* ---------- AUTH ---------- */
  .auth-wrap{
    min-height:100vh;display:flex;align-items:center;justify-content:center;
    padding:20px;background:radial-gradient(ellipse at center,#0d150b,#040603);
  }
  .auth-card{
    width:100%;max-width:480px;background:linear-gradient(180deg,#0f160d,#0a0f08);
    border:1px solid var(--panel-line);border-radius:14px;padding:32px 28px;
    box-shadow:var(--shadow);position:relative;
  }
  .auth-card::before,.auth-card::after{
    content:"";position:absolute;width:20px;height:20px;border-color:var(--amber);border-style:solid;opacity:.8;
  }
  .auth-card::before{top:-1px;left:-1px;border-width:2px 0 0 2px;border-radius:14px 0 0 0;}
  .auth-card::after{bottom:-1px;right:-1px;border-width:0 2px 2px 0;border-radius:0 0 14px 0;}
  .auth-title{font-size:34px;font-weight:700;text-align:center;line-height:1;margin-bottom:4px;}
  .auth-title em{font-style:normal;color:var(--red);}
  .auth-sub{text-align:center;color:var(--ink-dim);font-size:13px;margin-bottom:22px;letter-spacing:.15em;text-transform:uppercase;}
  .auth-tabs{display:flex;gap:6px;margin-bottom:20px;background:#080b06;border:1px solid var(--panel-line);border-radius:9px;padding:4px;}
  .auth-tab{flex:1;padding:9px;text-align:center;border-radius:6px;cursor:pointer;font-weight:700;color:var(--ink-dim);transition:.15s;font-size:14px;}
  .auth-tab.active{background:var(--amber);color:#1a1200;}
  .field{margin-bottom:12px;}
  .field label{display:block;font-size:11px;color:var(--ink-dim);letter-spacing:.1em;font-weight:600;margin-bottom:5px;text-transform:uppercase;}
  .field input{
    width:100%;padding:11px 13px;background:#080b06;border:1px solid var(--panel-line);border-radius:8px;
    color:var(--ink);font-family:'JetBrains Mono',monospace;font-size:14px;outline:none;transition:.15s;
  }
  .field input:focus{border-color:var(--amber);box-shadow:0 0 0 3px rgba(230,184,86,.15);}
  .field .hint{font-size:10.5px;color:var(--ink-dim);margin-top:4px;}
  .btn-primary{
    width:100%;padding:13px;background:linear-gradient(180deg,#ff6a52,var(--red));
    color:#160604;font-weight:700;font-size:15px;border:none;border-radius:9px;cursor:pointer;
    transition:.12s;font-family:inherit;letter-spacing:.02em;box-shadow:0 8px 24px rgba(255,91,69,.3);
  }
  .btn-primary:hover{filter:brightness(1.08);}
  .btn-primary:active{transform:scale(.98);}
  .msg{padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:14px;font-weight:600;}
  .msg.err{background:rgba(255,91,69,.12);border:1px solid rgba(255,91,69,.4);color:#ff8a7a;}
  .msg.ok{background:rgba(127,216,143,.12);border:1px solid rgba(127,216,143,.4);color:var(--green);}
  
  /* ---------- RANKING ---------- */
  .rank-wrap{max-width:1000px;margin:30px auto;padding:20px;}
  .rank-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:24px;}
  .rank-title{font-size:30px;font-weight:700;}
  .rank-title em{font-style:normal;color:var(--red);}
  .user-chip{
    display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--panel);
    border:1px solid var(--panel-line);border-radius:9px;font-size:14px;
  }
  .user-chip b{color:var(--amber);}
  .user-chip a{color:var(--ink-dim);font-size:12px;}
  table.rank{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--panel-line);border-radius:12px;overflow:hidden;}
  table.rank th,table.rank td{padding:12px 16px;text-align:left;font-size:14px;border-bottom:1px solid var(--panel-line);}
  table.rank th{background:#0a0f08;color:var(--ink-dim);font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;}
  table.rank tr:last-child td{border-bottom:none;}
  table.rank tr.me{background:rgba(230,184,86,.08);}
  table.rank td.pos{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--amber);width:50px;}
  table.rank td.pts{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--green);}
  table.rank td.lvl{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--amber);}
  .cta-row{margin-top:22px;text-align:center;}
  .btn-go{
    display:inline-block;padding:14px 40px;background:linear-gradient(180deg,#ff6a52,var(--red));
    color:#160604;font-weight:700;font-size:17px;border-radius:10px;border:none;cursor:pointer;
    box-shadow:0 10px 30px rgba(255,91,69,.4);transition:.12s;
  }
  .btn-go:hover{filter:brightness(1.1);text-decoration:none;color:#160604;}
  .btn-go:active{transform:scale(.97);}