/* Legal documents: terms, privacy policy, and operation policy. */

.game-rating-icon{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;margin-left:8px;border:0;border-radius:6px;background:transparent;box-shadow:none;text-decoration:none;vertical-align:-3px;overflow:hidden}
.game-rating-icon img{display:block;width:100%;height:100%;object-fit:contain}
.game-rating-icon--hero{position:relative;z-index:1;width:52px;height:52px;margin:0;border-radius:10px;align-self:center;justify-self:end;filter:drop-shadow(0 5px 9px rgba(15,23,42,.12))}
.game-rating-icon--battle-vs{width:38px;height:38px;margin:0;border-radius:8px;filter:drop-shadow(0 4px 7px rgba(15,23,42,.12))}
.battle-versus{align-self:center;justify-self:center;display:flex;flex-direction:column;align-items:center;gap:9px;width:42px}
.battle-versus .battle-vs{align-self:auto;justify-self:auto}

@media(max-width:420px){
  .game-rating-icon--battle-vs{width:34px;height:34px}
  .battle-versus{width:34px;gap:8px}
}

.rating-page{padding-bottom:34px}
.rating-document{gap:20px}
.rating-intro{display:flex;align-items:center;gap:16px;padding:17px;border:1px solid #dce8f7;border-radius:18px;background:linear-gradient(135deg,#f8fbff,#fffdf6)}
.rating-intro img{width:68px;height:68px;object-fit:contain;flex:0 0 auto}
.rating-intro small,.rating-company small{display:block;margin-bottom:3px;color:#667085;font-size:11px;font-weight:500}
.rating-intro h2{margin:0 0 4px!important;font-size:22px!important;font-weight:680}
.rating-intro p{color:#667085;font-size:12px;line-height:1.55}
.rating-company{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.rating-company>div{padding:12px;border:1px solid #e7ebf2;border-radius:14px;background:#fafbfc}
.rating-company b{display:block;color:#344054;font-size:12px;font-weight:620;word-break:keep-all}
.rating-list{display:grid;gap:8px}
.rating-list h3{margin:0 0 2px!important;padding:0!important;border:0!important;font-size:15px!important;font-weight:650!important}
.rating-game-row{display:grid;grid-template-columns:38px minmax(90px,1fr) auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid #e8ecf2;border-radius:14px;background:#fff}
.rating-game-row img{width:36px;height:36px;object-fit:contain}
.rating-game-row span{display:grid;gap:2px}
.rating-game-row b{font-size:13px;font-weight:620;color:#1d2939}
.rating-game-row small{font-size:10px;font-weight:450;color:#667085}
.rating-game-row code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:500;color:#475467;white-space:nowrap}
.rating-note{padding-top:2px;color:#667085;font-size:11px;line-height:1.55}

@media(max-width:560px){
  .rating-company{grid-template-columns:1fr}
  .rating-company>div{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:8px;padding:10px 12px}
  .rating-company small{margin:0}
  .rating-game-row{grid-template-columns:34px minmax(72px,1fr)}
  .rating-game-row img{width:32px;height:32px}
  .rating-game-row code{grid-column:2;font-size:9.5px}
}

.legal-page{
  max-width:920px;
}
.legal-document{
  display:grid;
  gap:18px;
  padding:26px;
  border-radius:22px;
}
.legal-document .legal-date{
  margin:0;
}
.legal-document h2{
  margin:0;
  font-size:28px;
  line-height:1.2;
  letter-spacing:0;
}
.legal-lead{
  margin:0;
  padding:14px 16px;
  border:1px solid #dbeafe;
  border-radius:16px;
  background:#f7fbff;
  color:#344054;
  line-height:1.7;
}
.legal-document h3{
  margin:18px 0 0;
  padding-top:18px;
  border-top:1px solid #edf1f7;
  color:#101828;
  font-size:18px;
  line-height:1.35;
  letter-spacing:0;
}
.legal-document h3:first-of-type{
  margin-top:4px;
}
.legal-document p{
  margin:0;
}
.legal-document ol,
.legal-document ul{
  display:grid;
  gap:8px;
  margin:0;
  padding-left:20px;
}
.legal-document li{
  padding-left:2px;
}
.legal-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.legal-summary-grid div,
.legal-notice{
  min-width:0;
  padding:12px 13px;
  border:1px solid #e5ebf6;
  border-radius:14px;
  background:#f8fafc;
}
.legal-summary-grid div{
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  align-items:start;
  gap:8px;
}
.legal-summary-grid b,
.legal-summary-grid span,
.legal-notice b,
.legal-notice p{
  display:block;
  word-break:keep-all;
}
.legal-summary-grid b,
.legal-notice b{
  color:#475467;
  font-size:12px;
  font-weight:560;
}
.legal-summary-grid span,
.legal-notice p{
  margin:0;
  color:#475467;
  font-size:12px;
  line-height:1.55;
}
.legal-table{
  width:100%;
  table-layout:fixed;
  border-collapse:collapse;
  overflow:hidden;
  border:1px solid #e5ebf6;
  border-radius:14px;
  background:#fff;
}
.legal-table th,
.legal-table td{
  padding:10px 11px;
  border:1px solid #edf1f7;
  vertical-align:top;
  text-align:left;
  color:#344054;
  font-size:12px;
  line-height:1.6;
  font-weight:400;
}
.legal-table thead th{
  background:#f7faff;
  color:#344054;
  font-weight:560;
}
.legal-table tbody th{
  width:30%;
  background:#f8fafc;
  color:#344054;
  font-weight:560;
}
.legal-table.compact tbody th{
  width:28%;
}
.legal-document a{
  font-weight:560;
}
.legal-email{
  display:inline-flex;
  align-items:baseline;
  gap:0;
  color:#175cd3;
  font-weight:560;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.legal-email span{
  display:inline!important;
  margin:0!important;
  white-space:nowrap!important;
}
.policy-modal__body .legal-document{
  border:0;
  box-shadow:none;
  border-radius:0;
  padding:0;
  background:transparent;
}
.policy-modal__body .legal-document .legal-date{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin:0 0 2px;
  padding:4px 8px;
  border-radius:999px;
  background:#eef6ff;
  color:#667085;
  font-size:11px;
  line-height:1.35;
  white-space:normal;
}
.policy-modal__body .legal-document h2{
  margin:0;
  font-size:23px;
  line-height:1.22;
}
.policy-modal__body .legal-lead{
  padding:13px 14px;
  border-radius:15px;
  background:#f8fbff;
  line-height:1.65;
}
.policy-modal__body .legal-document h3{
  margin-top:10px;
  padding-top:16px;
}
.policy-modal__body .legal-summary-grid div,
.policy-modal__body .legal-notice{
  background:#fff;
}

@media(max-width:560px){
  .legal-document{
    gap:16px;
    padding:20px;
    border-radius:20px;
  }
  .legal-document h2{
    font-size:24px;
  }
  .legal-document h3{
    font-size:16px;
  }
  .legal-summary-grid{
    grid-template-columns:1fr;
  }
  .legal-summary-grid div{
    grid-template-columns:64px minmax(0,1fr);
    gap:7px;
  }
  .legal-table th,
  .legal-table td{
    padding:9px 8px;
    font-size:11.5px;
    line-height:1.55;
  }
  .legal-table tbody th,
  .legal-table.compact tbody th{
    width:34%;
  }
  .policy-modal__body .legal-document{
    gap:14px;
  }
  .policy-modal__body .legal-document h2{
    font-size:22px;
  }
  .policy-modal__body .legal-document .legal-date{
    width:100%;
    justify-content:flex-start;
    border-radius:10px;
  }
}
