:root{
  --bg:#06060b;
  --ink:#fff;
  --muted:rgba(255,255,255,.62);
  --faint:rgba(255,255,255,.42);
  --hair:rgba(255,255,255,.10);
  --halo:#5b6dff;
  --halo-soft:#a8b2ff;
  --page-pad:clamp(18px,4vw,32px);
  --container:980px;
  --radius-md:16px;
  --step--1:clamp(12px,.86vw,13px);
  --step-0:clamp(14px,1vw,15px);
  --step-1:clamp(16px,1.25vw,18px);
  --step-2:clamp(20px,1.8vw,26px);
  --step-3:clamp(30px,4.2vw,56px);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%;background:var(--bg);color:var(--ink);font-family:"Onest",ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{font-size:var(--step-0);line-height:1.65;letter-spacing:-.004em;overflow-x:hidden}
a{color:inherit}

.page{
  position:relative;
  min-height:100dvh;
  overflow:hidden;
  isolation:isolate;
  background:#04040a;
}
.page::before{
  content:"";
  position:absolute;
  inset:-20% -10% auto;
  height:62vh;
  z-index:-3;
  background:
    radial-gradient(48% 64% at 50% 16%, rgba(168,178,255,.78), transparent 66%),
    radial-gradient(44% 56% at 20% 24%, rgba(140,90,255,.42), transparent 70%),
    radial-gradient(42% 54% at 80% 20%, rgba(60,180,255,.38), transparent 68%),
    radial-gradient(78% 72% at 50% 8%, rgba(18,26,90,.78), transparent 72%);
  filter:blur(48px) saturate(1.1);
  opacity:.92;
}
.page::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(100% 74% at 50% 18%, transparent 32%, rgba(0,0,0,.52) 88%),
    linear-gradient(180deg, rgba(0,0,0,.05) 0%, #06060b 46%, #06060b 100%);
}
.grain{
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.34;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.06 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

.site-header{
  max-width:1180px;
  margin:0 auto;
  padding:22px var(--page-pad) 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-weight:500;letter-spacing:-.01em}
.brand-mark{
  width:40px;
  height:40px;
  flex:none;
  background:url("../assets/tgscore-logo.png") center/contain no-repeat;
  filter:drop-shadow(0 0 14px rgba(91,109,255,.45));
}
.site-nav{display:flex;align-items:center;gap:28px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.site-nav a{text-decoration:none;position:relative;padding:6px 0;transition:color .2s ease}
.site-nav a:hover{color:#fff}
.site-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,#fff,transparent);
  transform:scaleX(0);
  transition:transform .3s ease;
}
.site-nav a:hover::after{transform:scaleX(1)}

/* nav + language toggle share the right side of the header */
.site-header-end{display:flex;align-items:center;gap:24px}
.site-header .lang{
  flex:none;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
  cursor:pointer;
  transition:color .2s ease;
}
.site-header .lang:hover{color:#fff}

.legal-hero{
  max-width:var(--container);
  margin:0 auto;
  padding:clamp(72px,10vw,128px) var(--page-pad) clamp(44px,7vw,76px);
}
.back-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:28px;
  color:rgba(255,255,255,.72);
  text-decoration:none;
  font-size:var(--step--1);
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:color .2s ease;
}
.back-link:hover{color:#fff}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
  color:rgba(255,255,255,.58);
  font-size:var(--step--1);
  letter-spacing:.18em;
  text-transform:uppercase;
}
.eyebrow::before{content:"";width:24px;height:1px;background:rgba(255,255,255,.36)}
h1{
  max-width:880px;
  font-weight:400;
  font-size:var(--step-3);
  line-height:1.04;
  letter-spacing:-.028em;
  text-wrap:balance;
}
.subtitle{
  max-width:680px;
  margin-top:22px;
  color:var(--muted);
  font-size:var(--step-1);
  line-height:1.55;
}
.revision{
  display:inline-flex;
  margin-top:28px;
  padding:6px 12px;
  border:1px solid rgba(168,178,255,.24);
  border-radius:999px;
  background:rgba(91,109,255,.10);
  color:rgba(210,216,255,.86);
  font-size:var(--step--1);
}

.legal-main{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--page-pad) clamp(88px,10vw,128px);
}
.legal-doc{
  border-top:1px solid var(--hair);
}
.legal-section{
  display:grid;
  grid-template-columns:minmax(120px,180px) minmax(0,1fr);
  gap:clamp(24px,4vw,54px);
  padding:clamp(32px,5vw,54px) 0;
  border-bottom:1px solid var(--hair);
}
.legal-number{
  font-family:"Lora",serif;
  font-style:italic;
  font-size:var(--step-2);
  color:var(--halo-soft);
  line-height:1.15;
}
.legal-content h2{
  font-size:var(--step-2);
  font-weight:500;
  line-height:1.22;
  letter-spacing:-.018em;
  margin-bottom:16px;
}
.legal-content h3{
  font-size:var(--step-1);
  font-weight:500;
  line-height:1.3;
  margin:22px 0 10px;
}
.legal-content p{color:var(--muted);margin-top:12px}
.legal-content strong{color:#fff;font-weight:500}
.legal-content ul{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:14px;
}
.legal-content li{
  position:relative;
  padding-left:20px;
  color:var(--muted);
}
.legal-content li::before{
  content:"";
  position:absolute;
  left:0;
  top:.78em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%, #a8b2ff 0%, #5b6dff 60%, transparent 76%);
}
.notice{
  margin-top:18px;
  padding:16px 18px;
  border:1px solid rgba(168,178,255,.18);
  border-radius:var(--radius-md);
  background:linear-gradient(180deg, rgba(91,109,255,.12), rgba(255,255,255,.025));
  color:rgba(255,255,255,.78);
}
.legal-content a{color:#cdd4ff;text-decoration:none;border-bottom:1px solid rgba(168,178,255,.42)}
.legal-content a:hover{color:#fff;border-bottom-color:#fff}

.footer{
  position:relative;
  z-index:1;
  border-top:1px solid rgba(255,255,255,.08);
  padding:54px var(--page-pad) 32px;
  color:rgba(255,255,255,.6);
}
.footer-inner{max-width:1180px;margin:0 auto}
.footer-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:32px;
  padding-bottom:32px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-tag{max-width:360px;margin-top:14px;color:rgba(255,255,255,.5);font-size:var(--step--1)}
.footer-links{display:flex;gap:22px;flex-wrap:wrap;font-size:var(--step--1)}
.footer-links a{color:rgba(255,255,255,.72);text-decoration:none}
.footer-links a:hover{color:#fff}
.footer-bottom{padding-top:24px;font-size:var(--step--1);color:rgba(255,255,255,.45)}

@media (max-width:760px){
  .site-header{padding-top:16px;gap:16px}
  .brand{font-size:13px}.brand-mark{width:32px;height:32px}
  .site-nav{gap:14px;font-size:9px;letter-spacing:.08em;overflow-x:auto;justify-content:flex-end}
  .site-header-end{gap:12px}
  .site-header .lang{font-size:9px;letter-spacing:.08em}
  .legal-hero{padding-top:58px}
  .legal-section{grid-template-columns:1fr;gap:10px}
  .legal-number{font-size:22px}
  .footer-top{flex-direction:column}
  .footer-links{gap:14px}
}
