:root{
  color-scheme:dark;
}

*{
  box-sizing:border-box;
}

body{
  margin:0;

  background:#07070b;
  color:#eef0f7;

  font-family:
    Inter,
    system-ui,
    -apple-system,
    Segoe UI,
    Roboto,
    Arial,
    sans-serif;

  line-height:1.65;
}

a{
  color:#c6b8ff;
}

.legal-page{
  width:min(100% - 30px,900px);
  margin:0 auto;
  padding:28px 0 60px;
}

.legal-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:28px;
}

.legal-brand{
  color:#fff;
  font-size:18px;
  font-weight:950;
  letter-spacing:.08em;
  text-decoration:none;
}

.legal-back{
  padding:9px 13px;

  border:
    1px solid
    rgba(255,255,255,.16);

  border-radius:10px;

  color:#fff;
  text-decoration:none;
}

.legal-card{
  padding:
    clamp(
      20px,
      4vw,
      42px
    );

  border:
    1px solid
    rgba(255,255,255,.11);

  border-radius:20px;

  background:
    rgba(255,255,255,.025);

  box-shadow:
    0 22px 70px
    rgba(0,0,0,.28);
}

h1{
  margin:0 0 6px;

  font-size:
    clamp(
      30px,
      5vw,
      52px
    );

  line-height:1.08;
}

h2{
  margin:30px 0 8px;
  font-size:21px;
}

h3{
  margin:22px 0 6px;
  font-size:16px;
}

p,
li{
  color:#cbd0df;
}

.updated{
  color:#969eb2;
  font-size:13px;
}

.notice{
  margin:20px 0;
  padding:14px;

  border-left:
    3px solid
    #7554ff;

  background:
    rgba(117,84,255,.08);

  color:#dfe2ed;
}

table{
  width:100%;
  border-collapse:collapse;
  margin:16px 0;
  font-size:14px;
}

th,
td{
  padding:12px;

  border:
    1px solid
    rgba(255,255,255,.11);

  text-align:left;
  vertical-align:top;
}

th{
  color:#fff;

  background:
    rgba(255,255,255,.04);
}

hr{
  margin:38px 0;
  border:0;

  border-top:
    1px solid
    rgba(255,255,255,.12);
}

@media(max-width:650px){
  table{
    display:block;
    overflow-x:auto;
  }

  .legal-top{
    align-items:flex-start;
  }

  .legal-card{
    padding:18px;
  }
}
