.page-records{
  position:relative;
  min-height:100vh;
  padding:32px 0 64px;
  font-family:"Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
  color:#e5e7eb;
}

.page-records::before,
.page-records::after{
  display:none;
}

.page-records{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.page-records .records-header,
.page-records .records-filters,
.page-records .records-layout{
  width:min(960px, calc(100% - 48px));
}

.page-records .records-header{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:0 auto 26px;
  text-align:left;
}

.page-records .records-title{
  margin:0;
  font-size:clamp(2.1rem, 4vw, 3.2rem);
  line-height:1.05;
  font-weight:900;
  color:#f8fafc;
  letter-spacing:-.03em;
}

.page-records .records-subtitle{
  margin:0;
  max-width:760px;
  color:rgba(226,232,240,.72);
  font-size:15px;
  line-height:1.65;
}

.page-records .records-filters{
  display:flex;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:8px;
  margin:0 auto 24px;
}

.page-records .records-filters-primary{
  justify-content:center;
  margin-bottom:10px;
}

.page-records .records-filters-secondary{
  justify-content:center;
  margin-bottom:18px;
}

.page-records .records-filters-range{
  justify-content:center;
  margin-bottom:12px;
}

.page-records .records-monthly-card{
  width:min(960px, calc(100% - 48px));
  margin:0 auto 18px;
  padding:18px 0 10px;
  text-align:center;
}

.page-records .monthly-contest-title{
  font-size:22px;
  font-weight:800;
  color:#f1f5f9;
  margin:0 0 4px;
}

.page-records .monthly-contest-subtitle{
  font-size:14px;
  color:rgba(203,213,225,.8);
  margin:0 0 14px;
}

.page-records .monthly-prize-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  flex-wrap:wrap;
}

.page-records .monthly-prize-timer{
  display:flex;
  align-items:center;
  gap:8px;
  color:rgba(226,232,240,.86);
  font-size:14px;
}

.page-records .monthly-prize-timer-value{
  color:#93c5fd;
  font-weight:800;
  letter-spacing:.02em;
}

.page-records .monthly-prize-info{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:14px;
}

.page-records .monthly-prize-label{
  color:rgba(203,213,225,.7);
}

.page-records .monthly-prize-model{
  font-weight:700;
  color:#f8fafc;
}

.page-records .monthly-prize-winner{
  margin-top:6px;
  color:rgba(226,232,240,.75);
  font-size:13px;
}

.page-records .monthly-maintenance-note{
  width:min(960px, calc(100% - 48px));
  margin:0 auto 14px;
  text-align:center;
  color:rgba(248,250,252,.9);
  font-size:15px;
  line-height:1.6;
  font-weight:600;
}

.page-records .monthly-user-sep{
  opacity:.35;
  font-size:18px;
  letter-spacing:4px;
  text-align:center;
  padding:4px 0;
  border:none;
  background:none;
}

.page-records .current-user-row{
  background:rgba(59,130,246,.15) !important;
  border:2px solid rgba(59,130,246,.6) !important;
  border-radius:10px;
  box-shadow:0 0 12px rgba(59,130,246,.25), inset 0 0 8px rgba(59,130,246,.08);
}

.page-records .monthly-you{
  display:inline-block;
  background:rgba(59,130,246,.35);
  color:#93c5fd;
  font-size:11px;
  font-weight:800;
  padding:1px 7px;
  border-radius:6px;
  margin-right:4px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

/* Contest footer */
.page-records .contest-footer{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:18px 0 8px;
}
.page-records .contest-footer-link{
  color:#e2e8f0;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  transition:color .15s;
}
.page-records .contest-footer-link:hover{
  color:#f1f5f9;
  text-decoration:underline;
}
.page-records .contest-footer-sep{
  color:rgba(226,232,240,.3);
  font-size:16px;
}
[data-theme="light"] .page-records .contest-footer-link{
  color:#1e293b;
}
[data-theme="light"] .page-records .contest-footer-link:hover{
  color:#334155;
}
[data-theme="light"] .page-records .contest-footer-sep{
  color:rgba(30,41,59,.25);
}
[data-theme="light"] .page-records .monthly-contest-title{
  color:#1e293b;
}
[data-theme="light"] .page-records .monthly-contest-subtitle{
  color:#334155;
}
[data-theme="light"] .page-records .monthly-prize-timer{
  color:#475569;
}
[data-theme="light"] .page-records .monthly-prize-timer-value{
  color:#1d4ed8;
}
[data-theme="light"] .page-records .monthly-prize-label{
  color:#64748b;
}
[data-theme="light"] .page-records .monthly-prize-model{
  color:#334155;
}
[data-theme="light"] .page-records .monthly-prize-winner{
  color:#64748b;
}
[data-theme="light"] .page-records .monthly-maintenance-note{
  color:#334155;
}
[data-theme="light"] .page-records .current-user-row{
  background:rgba(59,130,246,.08) !important;
  border:2px solid rgba(59,130,246,.45) !important;
  box-shadow:0 0 12px rgba(59,130,246,.15), inset 0 0 8px rgba(59,130,246,.04);
}
[data-theme="light"] .page-records .monthly-you{
  background:rgba(59,130,246,.2);
  color:#2563eb;
}

/* Contest modals */
.page-records .contest-modal-overlay{
  display:none;
  position:fixed;
  inset:0;
  z-index:10000;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(6px);
  align-items:center;
  justify-content:center;
}
.page-records .contest-modal-overlay.active{
  display:flex;
}
.page-records .contest-modal{
  background:linear-gradient(160deg, rgba(15,23,42,.98), rgba(30,41,59,.96));
  border:1px solid rgba(148,163,184,.28);
  border-radius:20px;
  width:min(760px, calc(100% - 32px));
  max-height:80vh;
  overflow-y:auto;
  padding:24px;
  position:relative;
  box-shadow:0 24px 68px rgba(2,6,23,.55);
}
.page-records .contest-modal-close{
  position:absolute;
  top:12px; right:14px;
  background:none;
  border:none;
  color:rgba(226,232,240,.6);
  font-size:20px;
  cursor:pointer;
  transition:color .15s;
}
.page-records .contest-modal-close:hover{ color:#f1f5f9; }
.page-records .contest-modal-title{
  font-size:18px;
  font-weight:700;
  color:#f1f5f9;
  margin:0 0 16px;
}
.page-records .contest-modal-body{
  color:rgba(226,232,240,.85);
  font-size:14px;
  line-height:1.6;
}
.page-records .contest-modal-body h4{
  font-size:17px;
  font-weight:700;
  color:#f1f5f9;
  margin:0 0 12px;
}
.page-records .contest-modal-body h5{
  font-size:14px;
  font-weight:700;
  color:#e2e8f0;
  margin:14px 0 6px;
}
.page-records .contest-modal-body ul{
  margin:4px 0 8px 18px;
  padding:0;
}
.page-records .contest-modal-body li{
  margin-bottom:4px;
}
.page-records .contest-modal-body p{
  margin:0 0 6px;
}

/* Winners table inside modal */
.page-records .winners-table-head,
.page-records .winners-table-row{
  display:grid;
  grid-template-columns:minmax(220px, 1fr) 110px 110px minmax(170px, 1fr);
  gap:10px;
  padding:10px 0;
  align-items:center;
}
.page-records .winners-table-head{
  color:rgba(148,163,184,.7);
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.05em;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.page-records .winners-table-row{
  border-bottom:1px solid rgba(255,255,255,.04);
}
.page-records .winners-table-row:hover{
  background:rgba(255,255,255,.03);
}
.page-records .winners-table-cell{
  min-width:0;
  overflow-wrap:anywhere;
}
.page-records .winners-name-cell{
  font-weight:700;
  color:#f8fafc;
}
.page-records .winners-month-cell,
.page-records .winners-chars-cell{
  text-align:center;
  color:rgba(226,232,240,.88);
  font-variant-numeric:tabular-nums;
}
.page-records .winners-prize-cell{
  color:rgba(226,232,240,.9);
}
.page-records .winners-name-link{
  color:inherit;
  text-decoration:none;
}
.page-records .winners-name-link:hover{
  text-decoration:underline;
}

[data-theme="light"] .page-records .contest-modal{
  background:linear-gradient(160deg, #f8fbff, #eef4ff);
  border-color:rgba(59,130,246,.25);
  box-shadow:0 22px 56px rgba(15,23,42,.18);
}
[data-theme="light"] .page-records .contest-modal-title{
  color:#0f172a;
}
[data-theme="light"] .page-records .contest-modal-close{
  color:#475569;
}
[data-theme="light"] .page-records .contest-modal-close:hover{
  color:#0f172a;
}
[data-theme="light"] .page-records .contest-modal-body{
  color:#334155;
}
[data-theme="light"] .page-records .contest-modal-body h4{
  color:#0f172a;
}
[data-theme="light"] .page-records .contest-modal-body h5{
  color:#1e293b;
}
[data-theme="light"] .page-records .winners-table-head{
  color:#64748b;
  border-bottom-color:rgba(15,23,42,.12);
}
[data-theme="light"] .page-records .winners-table-row{
  border-bottom-color:rgba(15,23,42,.08);
}
[data-theme="light"] .page-records .winners-table-row:hover{
  background:rgba(59,130,246,.07);
}
[data-theme="light"] .page-records .winners-name-cell{
  color:#0f172a;
}
[data-theme="light"] .page-records .winners-month-cell,
[data-theme="light"] .page-records .winners-chars-cell,
[data-theme="light"] .page-records .winners-prize-cell{
  color:#334155;
}

.page-records .filter-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:38px;
  padding:7px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  color:#e5e7eb;
  cursor:pointer;
  font-size:14px;
  font-weight:650;
  transition:background .18s ease, border-color .18s ease, transform .12s ease, color .18s ease;
  backdrop-filter:blur(12px);
}

.page-records .filter-btn svg{
  width:15px;
  height:15px;
  flex-shrink:0;
}

.page-records .filter-btn-secondary{
  min-height:34px;
  padding:6px 10px;
  font-size:13px;
}

.page-records .filter-btn-time{
  min-height:32px;
  padding:5px 11px;
  font-size:12px;
  letter-spacing:.02em;
}

.page-records .filter-btn-time:disabled{
  opacity:.45;
  cursor:default;
}

.page-records .filter-btn:hover{
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.12);
}

.page-records .filter-btn:active{
  transform:scale(.98);
}

.page-records .filter-btn.active{
  color:#eff6ff;
  border-color:rgba(59,130,246,.45);
  background:rgba(59,130,246,.12);
}

.page-records .records-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:16px;
}

.page-records .records-table{
  width:100%;
  margin:0;
  box-sizing:border-box;
  background:rgba(255,255,255,.03);
  backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  padding:24px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.page-records .table-head,
.page-records .table-row{
  display:grid;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  grid-template-columns:36px minmax(110px, 1.15fr) 64px 78px 64px minmax(130px, 1.2fr) minmax(120px, 1fr) 94px;
  gap:8px;
  align-items:center;
}

.page-records .records-table.race .table-head,
.page-records .records-table.race .table-row{
  grid-template-columns:36px minmax(140px,1fr) 92px 92px;
}

.page-records .records-table.shooter .table-head,
.page-records .records-table.shooter .table-row,
.page-records .records-table.reaction .table-head,
.page-records .records-table.reaction .table-row,
.page-records .records-table.word-scramble .table-head,
.page-records .records-table.word-scramble .table-row,
.page-records .records-table.compact .table-head,
.page-records .records-table.compact .table-row{
  grid-template-columns:36px minmax(140px,1fr) 120px minmax(150px,1fr) 120px;
}

.page-records .records-table.simulators .table-head,
.page-records .records-table.simulators .table-row{
  grid-template-columns:36px minmax(140px,1fr) 120px;
}

.page-records .records-table.monthly-contest .table-head,
.page-records .records-table.monthly-contest .table-row{
  grid-template-columns:36px minmax(140px,1fr) 140px;
}

.page-records .records-table.levels .table-head,
.page-records .records-table.levels .table-row{
  grid-template-columns:36px minmax(140px,1fr) 92px 120px;
}

.page-records .table-head{
  color:rgba(148,163,184,.88);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:0 4px 14px;
}

.page-records .th-with-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:100%;
  padding-left:0;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

.page-records .th-interactive{
  position:relative;
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  cursor:pointer;
}

.page-records .th-label-text{
  min-width:0;
}

.page-records .th-interactive::after{
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 8px);
  transform:translateX(-50%) translateY(4px);
  opacity:0;
  pointer-events:none;
  padding:6px 8px;
  border-radius:10px;
  background:rgba(15,23,42,.96);
  border:1px solid rgba(148,163,184,.28);
  color:#f8fafc;
  font-size:11px;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
  white-space:nowrap;
  transition:opacity .16s ease, transform .16s ease;
  z-index:5;
}

.page-records .th-interactive.tooltip-open::after,
.page-records .th-interactive:focus-visible::after{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

.page-records .th-with-icon svg{
  width:14px;
  height:14px;
  opacity:.9;
  color:#60a5fa;
  flex-shrink:0;
}

.page-records .table-body{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:14px;
}

.page-records .table-row{
  background:rgba(255,255,255,.02);
  padding:12px 4px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.06);
}

.page-records .record-cell{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
}

.page-records .cell-label{
  display:none;
  color:rgba(148,163,184,.88);
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  flex-shrink:0;
}

.page-records .cell-value{
  min-width:0;
}

.page-records .cell-rank{
  color:#60a5fa;
  font-weight:800;
}

.page-records .table-row > div:first-child{
  color:#60a5fa;
  font-weight:800;
}

.page-records .table-head > div,
.page-records .table-row > div{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.page-records .records-table.race .table-row > div,
.page-records .records-table.race .table-head > div,
.page-records .records-table.shooter .table-row > div,
.page-records .records-table.shooter .table-head > div,
.page-records .records-table.reaction .table-row > div,
.page-records .records-table.reaction .table-head > div,
.page-records .records-table.word-scramble .table-row > div,
.page-records .records-table.word-scramble .table-head > div,
.page-records .records-table.compact .table-row > div,
.page-records .records-table.compact .table-head > div,
.page-records .records-table.simulators .table-row > div,
.page-records .records-table.simulators .table-head > div,
.page-records .records-table.levels .table-row > div,
.page-records .records-table.levels .table-head > div{
  padding-left:0;
}

.page-records .records-table.race .table-row > div:nth-child(n+3),
.page-records .records-table.race .table-head > div:nth-child(n+3),
.page-records .records-table.shooter .table-row > div:nth-child(n+3),
.page-records .records-table.shooter .table-head > div:nth-child(n+3),
.page-records .records-table.reaction .table-row > div:nth-child(n+3),
.page-records .records-table.reaction .table-head > div:nth-child(n+3),
.page-records .records-table.word-scramble .table-row > div:nth-child(n+3),
.page-records .records-table.word-scramble .table-head > div:nth-child(n+3),
.page-records .records-table.compact .table-row > div:nth-child(n+3),
.page-records .records-table.compact .table-head > div:nth-child(n+3),
.page-records .records-table.simulators .table-row > div:nth-child(n+3),
.page-records .records-table.simulators .table-head > div:nth-child(n+3),
.page-records .records-table.levels .table-row > div:nth-child(n+3),
.page-records .records-table.levels .table-head > div:nth-child(n+3){
  text-align:center;
}

.page-records .table-head > div:nth-child(5),
.page-records .table-head > div:nth-child(6),
.page-records .table-head > div:nth-child(7),
.page-records .table-head > div:nth-child(8),
.page-records .table-row > div:nth-child(5),
.page-records .table-row > div:nth-child(6),
.page-records .table-row > div:nth-child(7),
.page-records .table-row > div:nth-child(8){
  text-align:center;
  padding-left:0;
  justify-content:center;
}

.page-records .table-head > div:nth-child(1),
.page-records .table-head > div:nth-child(2),
.page-records .table-row > div:nth-child(1),
.page-records .table-row > div:nth-child(2){
  text-align:left;
}

.page-records .table-head > div:nth-child(3),
.page-records .table-head > div:nth-child(4),
.page-records .table-row > div:nth-child(3),
.page-records .table-row > div:nth-child(4){
  text-align:center;
}

.page-records .table-row-testing{
  border-color:rgba(59,130,246,.18);
}

.page-records .table-row-testing > div:nth-child(6){
  text-align:center;
  padding-left:0;
}

@media (max-width:900px){
  .page-records .records-header,
  .page-records .records-filters,
  .page-records .records-monthly-card,
  .page-records .records-layout{
    width:calc(100% - 32px);
  }

  .page-records .records-table{
    width:100%;
    padding:16px;
    border-radius:20px;
  }

  .page-records .table-body{
    width:100%;
    min-width:0;
  }

  .page-records .table-head{
    display:grid;
    font-size:9px;
    letter-spacing:.04em;
    padding:0 0 10px;
  }

  .page-records .table-row,
  .page-records .records-table.race .table-row,
  .page-records .records-table.shooter .table-row,
  .page-records .records-table.reaction .table-row,
  .page-records .records-table.compact .table-row,
  .page-records .records-table.simulators .table-row,
  .page-records .records-table.levels .table-row{
    gap:6px;
    padding:10px 0;
  }

  .page-records .table-head,
  .page-records .table-row{
    grid-template-columns:20px minmax(56px, 1.1fr) 34px 40px 34px minmax(62px, 1fr) minmax(56px, .9fr) 48px;
  }

  .page-records .records-table.race .table-head,
  .page-records .records-table.race .table-row{
    grid-template-columns:20px minmax(72px,1fr) 44px 44px;
  }

  .page-records .records-table.shooter .table-head,
  .page-records .records-table.shooter .table-row,
  .page-records .records-table.reaction .table-head,
  .page-records .records-table.reaction .table-row,
  .page-records .records-table.compact .table-head,
  .page-records .records-table.compact .table-row{
    grid-template-columns:20px minmax(72px,1fr) 44px minmax(58px,.9fr) 44px;
  }

  .page-records .records-table.simulators .table-head,
  .page-records .records-table.simulators .table-row{
    grid-template-columns:20px minmax(92px,1fr) 56px;
  }

  .page-records .records-table.monthly-contest .table-head,
  .page-records .records-table.monthly-contest .table-row{
    grid-template-columns:20px minmax(92px,1fr) 62px;
  }

  .page-records .records-table.levels .table-head,
  .page-records .records-table.levels .table-row{
    grid-template-columns:20px minmax(72px,1fr) 38px 52px;
  }

  .page-records .record-cell{
    display:block;
    min-width:0;
  }

  .page-records .cell-label{
    display:none;
  }

  .page-records .cell-value{
    display:block;
    min-width:0;
  }

  .page-records .table-head > div,
  .page-records .table-row > div,
  .page-records .table-row-testing > div:nth-child(6){
    font-size:10px;
    line-height:1.2;
    padding-left:0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .page-records .table-head .th-with-icon{
    gap:0;
    overflow:visible !important;
  }

  .page-records .table-head .th-label-text{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0, 0, 0, 0);
    white-space:nowrap;
    border:0;
  }

  .page-records .table-head .th-interactive::after{
    max-width:min(140px, calc(100vw - 32px));
    white-space:normal;
    text-align:center;
  }

  .page-records .table-row > div:nth-child(5),
  .page-records .table-row > div:nth-child(6),
  .page-records .table-row > div:nth-child(7),
  .page-records .table-row > div:nth-child(8),
  .page-records .records-table.race .table-row > div:nth-child(n+3),
  .page-records .records-table.shooter .table-row > div:nth-child(n+3),
  .page-records .records-table.reaction .table-row > div:nth-child(n+3),
  .page-records .records-table.compact .table-row > div:nth-child(n+3),
  .page-records .records-table.simulators .table-row > div:nth-child(n+3),
  .page-records .records-table.levels .table-row > div:nth-child(n+3),
  .page-records .table-row-testing > div:nth-child(6){
    text-align:center !important;
    justify-content:center;
  }

  .page-records .table-head > div:nth-child(1),
  .page-records .table-head > div:nth-child(2),
  .page-records .table-row > div:nth-child(1),
  .page-records .table-row > div:nth-child(2){
    text-align:left !important;
  }

  .page-records .table-row > div:first-child,
  .page-records .cell-rank{
    font-size:11px;
  }

  .page-records .contest-modal{
    width:calc(100% - 20px);
    padding:16px;
    border-radius:16px;
  }
  .page-records .records-filters-range{
    margin-bottom:10px;
  }
  .page-records .filter-btn-time{
    min-height:30px;
    padding:4px 9px;
    font-size:11px;
  }
  .page-records .winners-table-head{
    display:none;
  }
  .page-records .winners-table-row{
    grid-template-columns:1fr;
    gap:6px;
    padding:12px 0;
  }
  .page-records .winners-table-cell{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    font-size:13px;
  }
  .page-records .winners-table-cell::before{
    content:attr(data-label);
    color:rgba(148,163,184,.85);
    font-size:11px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    flex-shrink:0;
  }
  .page-records .winners-name-cell::before{
    color:rgba(96,165,250,.95);
  }
  .page-records .winners-month-cell,
  .page-records .winners-chars-cell,
  .page-records .winners-prize-cell{
    text-align:right;
  }
  [data-theme="light"] .page-records .winners-table-cell::before{
    color:#64748b;
  }
  [data-theme="light"] .page-records .winners-name-cell::before{
    color:#1d4ed8;
  }
}
