:root {
  --bg: #0b0f14;
  --card: #111826;
  --muted: #91a0b6;
  --text: #e8eef7;
  --line: #1c2a3f;
  --btn: #e8eef7;
  --btnText: #0b0f14;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  background: var(--bg);
  color: var(--text);
}

.wrap { max-width: 1100px; margin: 0 auto; padding: 22px; }

.topbar { position: sticky; top: 0; background: rgba(11,15,20,.92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.topbar-inner { display: flex; gap: 18px; align-items: center; justify-content: space-between; }

.brand-title { font-weight: 800; letter-spacing: .2px; font-size: 18px; }
.brand-sub { color: var(--muted); font-size: 12px; margin-top: 2px; }

.nav a { color: var(--muted); text-decoration: none; margin-left: 14px; font-size: 13px; }
.nav a.active, .nav a:hover { color: var(--text); }

.hero { display: grid; grid-template-columns: 1.2fr .8fr; gap: 18px; margin-top: 18px; }
.hero h1 { margin: 0; font-size: 42px; letter-spacing: -0.5px; }
.muted { color: var(--muted); }

.hero-cta { margin-top: 14px; display: flex; gap: 10px; flex-wrap: wrap; }
.btn {
  display: inline-block; padding: 10px 14px; border-radius: 10px;
  background: var(--btn); color: var(--btnText); text-decoration: none; font-weight: 700; font-size: 13px;
}
.btn-ghost { background: transparent; color: var(--text); border: 1px solid var(--line); }

.card { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 16px; margin-top: 18px; }
.card-head h2 { margin: 0; }
.card-head p { margin: 6px 0 0; }

.stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.stat { border: 1px solid var(--line); border-radius: 14px; padding: 12px; background: rgba(255,255,255,0.02); }
.stat-label { color: var(--muted); font-size: 12px; }
.stat-value { margin-top: 6px; font-weight: 800; font-size: 14px; }

.table-wrap { overflow: auto; margin-top: 10px; }
.table { width: 100%; border-collapse: collapse; font-size: 13px; }
.table th, .table td { border-bottom: 1px solid var(--line); padding: 10px; text-align: left; white-space: nowrap; }
.table th { color: var(--muted); font-weight: 700; }

.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 10px; }
.list { list-style: none; padding: 0; margin: 10px 0 0; }
.list li { padding: 8px 0; border-bottom: 1px solid var(--line); }.tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.tile { border: 1px solid rgba(255,255,255,0.12); border-radius: 12px; padding: 12px; }
.tile .label { opacity: 0.7; font-size: 12px; }
.tile .value { font-weight: 800; margin-top: 6px; }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.table-wrap { overflow: auto; }
/* === Kib Tour Home polish (premium) === */
body{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.kib-hero{
  background:
    radial-gradient(900px 300px at 10% 0%, rgba(255,255,255,0.10), rgba(255,255,255,0.02)),
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
}

.kib-title{
  text-shadow: 0 10px 40px rgba(0,0,0,0.35);
}

.kib-card{
  box-shadow: 0 18px 60px rgba(0,0,0,0.22);
}

.kib-nav a{
  transition: transform .12s ease, opacity .12s ease, border-color .12s ease;
}
.kib-nav a:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.22);
}

.kib-tile{
  transition: transform .12s ease, border-color .12s ease, background .12s ease;
}
.kib-tile:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.22);
  background: rgba(255,255,255,0.04);
}

.kib-table tr{
  transition: background .12s ease;
}
.kib-table tbody tr:hover{
  background: rgba(255,255,255,0.03);
}

.kib-rank{
  background: rgba(255,255,255,0.03);
}

.kib-top3{
  border-left: 3px solid rgba(255,255,255,0.22);
  background: rgba(255,255,255,0.02);
}/* === Kib Tour Home (premium layout) === */
.kt-shell{max-width:1120px;margin:0 auto;padding:22px;}
.kt-main{margin-top:16px;display:grid;gap:16px;}

.kt-hero{
  border-radius:18px;
  padding:18px;
  border:1px solid rgba(255,255,255,0.10);
  background:
    radial-gradient(900px 300px at 10% 0%, rgba(255,255,255,0.10), rgba(255,255,255,0.02)),
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
}

.kt-hero-row{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;}
.kt-brand{min-width:280px;}
.kt-eyebrow{opacity:.75;font-size:12px;letter-spacing:.12em;text-transform:uppercase;}
.kt-title{margin:6px 0 0;font-size:44px;letter-spacing:-0.02em;text-shadow:0 10px 40px rgba(0,0,0,0.35);}
.kt-sub{margin-top:6px;opacity:.82;}
.kt-muted{opacity:.72;}

.kt-actions{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap;}
.kt-btn{display:inline-block;text-decoration:none;font-weight:800;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.06);}
.kt-btn-ghost{background:transparent;}

.kt-nav{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end;}
.kt-nav a{text-decoration:none;opacity:.80;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,0.10);transition:transform .12s ease, opacity .12s ease, border-color .12s ease;}
.kt-nav a:hover{transform:translateY(-1px);opacity:1;border-color:rgba(255,255,255,0.22);}
.kt-nav a.active{opacity:1;border-color:rgba(255,255,255,0.22);}

.kt-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px;}
.kt-tile{border-radius:16px;padding:12px;border:1px solid rgba(255,255,255,0.10);background:rgba(0,0,0,0.10);transition:transform .12s ease,border-color .12s ease,background .12s ease;}
.kt-tile:hover{transform:translateY(-1px);border-color:rgba(255,255,255,0.22);background:rgba(255,255,255,0.04);}
.kt-tile-label{opacity:.75;font-size:12px;}
.kt-tile-value{margin-top:6px;font-weight:900;font-size:14px;}

.kt-grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;}
.kt-card{
  border-radius:18px;
  padding:16px;
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(255,255,255,0.03);
  box-shadow:0 18px 60px rgba(0,0,0,0.22);
}
.kt-card-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.kt-h2{margin:0;}
.kt-link{text-decoration:none;font-weight:800;opacity:.85;}
.kt-link:hover{opacity:1;}

.kt-table-wrap{overflow:auto;margin-top:12px;}
.kt-table{width:100%;border-collapse:collapse;}
.kt-table th,.kt-table td{text-align:left;padding:10px;border-bottom:1px solid rgba(255,255,255,0.10);white-space:nowrap;}
.kt-table th{opacity:.75;font-weight:800;}
.kt-table tbody tr:hover{background:rgba(255,255,255,0.03);}
.kt-rank{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:26px;padding:0 8px;border-radius:999px;border:1px solid rgba(255,255,255,0.16);font-weight:900;background:rgba(255,255,255,0.03);}
.kt-top3{border-left:3px solid rgba(255,255,255,0.22);background:rgba(255,255,255,0.02);}

.kt-champs-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;}
.kt-section-label{opacity:.72;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;}
.kt-champs{display:grid;gap:10px;}
.kt-champ{border-radius:16px;padding:12px;border:1px solid rgba(255,255,255,0.10);background:rgba(0,0,0,0.10);}
.kt-champ-event{font-weight:900;}
.kt-champ-winner{margin-top:4px;opacity:.82;}

.kt-hub{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px;}
.kt-hub-card{display:block;padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,0.10);text-decoration:none;background:rgba(0,0,0,0.10);transition:transform .12s ease,border-color .12s ease,background .12s ease;}
.kt-hub-card:hover{transform:translateY(-1px);border-color:rgba(255,255,255,0.22);background:rgba(255,255,255,0.04);}
.kt-hub-title{font-weight:900;margin-bottom:6px;}

@media (max-width: 1000px){
  .kt-grid-2{grid-template-columns:1fr;}
  .kt-tiles{grid-template-columns:repeat(2,minmax(0,1fr));}
  .kt-hub{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 640px){
  .kt-title{font-size:36px;}
  .kt-champs-grid{grid-template-columns:1fr;}
}/* ===== Page layout improvements for records / majors / DE / trophy ===== */

body {
  line-height: 1.45;
}

.container,
.wrap,
.kib-shell,
.kt-shell {
  max-width: 1240px !important;
}

/* Generic page sections */
.page-section,
.section,
.card,
.kib-card,
.kt-card {
  border-radius: 18px;
  padding: 20px;
  margin-bottom: 18px;
}

/* Better headings */
h1 {
  margin-bottom: 10px;
}

h2 {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 26px;
}

h3 {
  margin-top: 0;
  margin-bottom: 8px;
  font-size: 18px;
}

.muted,
.kib-muted,
.kt-muted {
  display: block;
  margin-bottom: 10px;
}

/* Better spacing for pages with multiple sections */
.page-grid,
.kib-main,
.kt-main {
  gap: 20px !important;
}

/* Table wrappers */
.table-wrap,
.kib-table-wrap,
.kt-table-wrap {
  overflow-x: auto;
  border-radius: 14px;
  margin-top: 14px;
}

/* Better table spacing */
table,
.kib-table,
.kt-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 14px;
}

table thead th,
.kib-table thead th,
.kt-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 14px 14px;
  text-align: left;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.8;
  background: rgba(20, 24, 32, 0.96);
  border-bottom: 1px solid rgba(255,255,255,0.12);
}

table tbody td,
.kib-table tbody td,
.kt-table tbody td {
  padding: 14px 14px;
  vertical-align: middle;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

table tbody tr:hover,
.kib-table tbody tr:hover,
.kt-table tbody tr:hover {
  background: rgba(255,255,255,0.03);
}

/* Give first and last columns a little breathing room */
table th:first-child,
table td:first-child,
.kib-table th:first-child,
.kib-table td:first-child,
.kt-table th:first-child,
.kt-table td:first-child {
  padding-left: 18px;
}

table th:last-child,
table td:last-child,
.kib-table th:last-child,
.kib-table td:last-child,
.kt-table th:last-child,
.kt-table td:last-child {
  padding-right: 18px;
}

/* Rank pills cleaner */
.kib-rank,
.kt-rank {
  min-width: 34px;
  height: 28px;
  font-size: 13px;
}

/* Lists for majors / DE pages */
ul,
ol {
  padding-left: 20px;
}

li {
  margin-bottom: 8px;
}

/* Better spacing for champion cards / event lists */
.kib-champs,
.kt-champs,
.event-list,
.major-list,
.de-list {
  gap: 12px !important;
}

.kib-champ,
.kt-champ,
.event-card,
.major-card,
.de-card {
  padding: 14px;
  border-radius: 16px;
}

/* Better two-column layouts */
.grid2,
.kib-grid-2,
.kt-grid-2 {
  gap: 20px !important;
}

/* On smaller screens stack everything nicely */
@media (max-width: 900px) {
  .grid2,
  .kib-grid-2,
  .kt-grid-2 {
    grid-template-columns: 1fr !important;
  }

  table,
  .kib-table,
  .kt-table {
    font-size: 13px;
  }

  table thead th,
  .kib-table thead th,
  .kt-table thead th,
  table tbody td,
  .kib-table tbody td,
  .kt-table tbody td {
    padding: 12px 10px;
  }
}