*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --bg: #07091A; --bg2: #0D1130; --blue: #1A56FF; --blue-light: #4C83FF;
  --text: #FFFFFF; --text2: #8A97C8; --text3: #4F5E94;
}
body {
  font-family: 'Inter', -apple-system, sans-serif;
  background: var(--bg); color: var(--text);
  line-height: 1.7; -webkit-font-smoothing: antialiased;
}
nav {
  position: sticky; top: 0; z-index: 100;
  padding: 0 5%; height: 64px;
  display: flex; align-items: center; justify-content: space-between;
  background: rgba(7,9,26,.9); backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.nav-logo { display: flex; align-items: center; gap: 9px; text-decoration: none; color: var(--text); }
.nav-logo-icon { width: 32px; height: 32px; border-radius: 7px; overflow: hidden; }
.nav-logo-icon img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nav-logo-name { font-weight: 700; font-size: 1rem; }
nav a.back { font-size: .85rem; color: var(--text2); text-decoration: none; }
nav a.back:hover { color: var(--text); }

.legal-wrap { max-width: 780px; margin: 0 auto; padding: 72px 5% 96px; }
.legal-meta { font-size: .78rem; color: var(--text3); margin-bottom: 8px; text-transform: uppercase; letter-spacing: .08em; font-weight: 600; }
h1 { font-size: clamp(1.8rem, 4vw, 2.4rem); font-weight: 800; letter-spacing: -.03em; margin-bottom: 6px; }
.legal-updated { font-size: .85rem; color: var(--text3); margin-bottom: 8px; }
.legal-intro { font-size: .93rem; color: var(--text2); margin-bottom: 48px; line-height: 1.7; }

.legal-wrap h2 { font-size: 1.1rem; font-weight: 700; margin: 40px 0 12px; padding-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,.07); }
.legal-wrap h3 { font-size: .95rem; font-weight: 700; margin: 20px 0 8px; color: var(--text); }
.legal-wrap p { font-size: .93rem; color: var(--text2); margin-bottom: 12px; }
.legal-wrap ul { list-style: none; padding-left: 0; margin-bottom: 12px; }
.legal-wrap ul li { font-size: .93rem; color: var(--text2); padding: 4px 0 4px 20px; position: relative; }
.legal-wrap ul li::before { content: ''; position: absolute; left: 0; top: 12px; width: 6px; height: 6px; border-radius: 50%; background: var(--blue-light); }
.legal-wrap a { color: var(--blue-light); }
.legal-wrap a:hover { text-decoration: underline; }

.notice-box {
  margin: 16px 0; padding: 16px 20px;
  background: rgba(26,86,255,.08);
  border: 1px solid rgba(26,86,255,.25);
  border-radius: 10px;
  font-size: .88rem; color: var(--text2);
}

.contact-box {
  margin-top: 8px; padding: 20px 24px;
  background: var(--bg2); border-radius: 12px;
  border: 1px solid rgba(255,255,255,.07);
}
.contact-box p { margin-bottom: 4px; }

footer {
  padding: 32px 5%; border-top: 1px solid rgba(255,255,255,.07);
  display: flex; flex-wrap: wrap; gap: 16px;
  align-items: center; justify-content: space-between;
  font-size: .8rem; color: var(--text3);
}
footer a { color: var(--text3); text-decoration: none; }
footer a:hover { color: var(--text2); }
