/* GameBiz71 · customer access and legal pages. Presentation only. */
body:has(.gb-checkout-nav),
body:has(main>nav>a[href="/start/terms"]){
  --gb-customer-bg:#f7f8ff;
  --gb-customer-ink:#1b1b35;
  --gb-customer-muted:#60647a;
  --gb-customer-primary:#6250e8;
  --gb-customer-link:#5240c9;
  --gb-customer-line:#dce0ef;
  margin:0;
  background:var(--gb-customer-bg);
  color:var(--gb-customer-ink);
  font-family:Manrope,system-ui,sans-serif;
  font-size:16px;
  line-height:1.75;
  color-scheme:light;
  -webkit-font-smoothing:antialiased;
}
body:has(.gb-checkout-nav) *,
body:has(main>nav>a[href="/start/terms"]) *{box-sizing:border-box}
body:has(.gb-checkout-nav) a,
body:has(main>nav>a[href="/start/terms"]) a{
  color:var(--gb-customer-link);
  text-underline-offset:4px;
  text-decoration-thickness:1px;
  overflow-wrap:anywhere;
}
body:has(.gb-checkout-nav) a:hover,
body:has(main>nav>a[href="/start/terms"]) a:hover{color:#4030a6}
body:has(.gb-checkout-nav) :is(a,button,input,textarea,select):focus-visible,
body:has(main>nav>a[href="/start/terms"]) a:focus-visible{
  outline:3px solid var(--gb-customer-primary);
  outline-offset:4px;
}

/* Existing customer page, including authenticated order history. */
body:has(.gb-checkout-nav) main{
  width:100%;
  max-width:1000px;
  margin:30px auto 80px;
  padding:0 32px;
}
.gb-checkout-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:0 0 50px;
  padding:0 0 25px;
  border-bottom:1px solid var(--gb-customer-line);
}
.gb-checkout-nav a:first-child{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  color:var(--gb-customer-ink);
  font-size:28px;
  font-weight:800;
  letter-spacing:-1.2px;
  text-decoration:none;
  white-space:nowrap;
}
.gb-checkout-nav img{display:block;width:30px;height:30px;flex-shrink:0;border-radius:8px}
.gb-checkout-nav a:last-child{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600}
body:has(.gb-checkout-nav) header{max-width:760px;margin:0 0 34px}
body:has(.gb-checkout-nav) h1{
  margin:0 0 20px;
  color:var(--gb-customer-ink);
  font-size:clamp(34px,4vw,48px);
  font-weight:750;
  letter-spacing:-1.8px;
  line-height:1.18;
  text-wrap:balance;
}
body:has(.gb-checkout-nav) header p{max-width:68ch;margin:0;color:var(--gb-customer-muted);font-size:17px;line-height:1.85}
body:has(.gb-checkout-nav) section{
  margin:22px 0;
  padding:30px 34px;
  border:1px solid var(--gb-customer-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 6px 28px #1b1b3505;
}
body:has(.gb-checkout-nav) h2{margin:0 0 14px;color:var(--gb-customer-ink);font-size:24px;letter-spacing:-.6px;line-height:1.4;text-wrap:balance}
body:has(.gb-checkout-nav) h3{color:var(--gb-customer-ink);font-size:18px;line-height:1.45}
body:has(.gb-checkout-nav) p{margin:14px 0;line-height:1.8}
body:has(.gb-checkout-nav) :is(small,.muted){color:var(--gb-customer-muted);font-size:14px;line-height:1.75}
body:has(.gb-checkout-nav) #publicPricing{border-color:#cec8ff;background:linear-gradient(125deg,#fff 35%,#f0edff)}
body:has(.gb-checkout-nav) #publicPricing h2{max-width:26ch}
body:has(.gb-checkout-nav) form{max-width:660px;margin-top:24px}
body:has(.gb-checkout-nav) label{display:block;margin:18px 0;color:var(--gb-customer-ink);font-size:14px;font-weight:600;line-height:1.65}
body:has(.gb-checkout-nav) :is(input:not([type="checkbox"]),textarea,select){
  display:block;
  width:100%;
  min-height:50px;
  margin:7px 0 0;
  padding:12px 15px;
  border:1px solid #a7aec7;
  border-radius:10px;
  background:#fff;
  color:var(--gb-customer-ink);
  font:400 16px/1.5 Manrope,system-ui,sans-serif;
  box-shadow:none;
}
body:has(.gb-checkout-nav) input::placeholder{color:var(--gb-customer-muted);opacity:1}
body:has(.gb-checkout-nav) input[type="checkbox"]{display:inline-block;width:18px;height:18px;min-height:0;margin:3px 10px 0 0;vertical-align:top;accent-color:var(--gb-customer-primary)}
body:has(.gb-checkout-nav) label:has(input[type="checkbox"]){padding:5px 0;font-weight:400}
body:has(.gb-checkout-nav) :is(button,.button){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  max-width:100%;
  padding:12px 22px;
  border:1px solid var(--gb-customer-primary);
  border-radius:10px;
  background:var(--gb-customer-primary);
  color:#fff;
  font:650 14px/1.5 Manrope,system-ui,sans-serif;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 5px 15px #6250e81a;
  transition:background .16s ease,border-color .16s ease;
}
body:has(.gb-checkout-nav) :is(button,.button):hover{background:#5140d3;border-color:#5140d3;color:#fff}
body:has(.gb-checkout-nav) button:disabled{opacity:1;background:#e7e9f5;border-color:#e7e9f5;color:#595d75;cursor:not-allowed;box-shadow:none}
body:has(.gb-checkout-nav) #logout{background:#fff;border-color:#b7bbce;color:#3b3c58;box-shadow:none}
body:has(.gb-checkout-nav) #logout:hover{background:#f0edff;border-color:#9990dc}
body:has(.gb-checkout-nav) #message{position:static;margin:24px 0;padding:17px 20px;border:1px solid #d7d1ff;border-radius:12px;background:#eeebff;color:#453b84;font-size:14px;line-height:1.75}
body:has(.gb-checkout-nav) #message:empty{display:none}
body:has(.gb-checkout-nav) .status{margin:20px 0;padding:4px 0 4px 18px;border-left:3px solid var(--gb-customer-primary);overflow-wrap:anywhere}
body:has(.gb-checkout-nav) .status h3{margin:0 0 8px}
body:has(.gb-checkout-nav) #identity{margin-bottom:16px;font-weight:650;overflow-wrap:anywhere}
body:has(.gb-checkout-nav) .price{font-size:32px;color:var(--gb-customer-ink)}

/* Existing legal document markup. Content and acceptance metadata stay intact. */
body:has(main>nav>a[href="/start/terms"]) main{width:100%;max-width:840px;margin:32px auto 80px;padding:0 32px 48px}
body:has(main>nav>a[href="/start/terms"]) nav{display:flex;flex-wrap:wrap;align-items:center;gap:5px 22px;margin-bottom:36px;padding-bottom:22px;border-bottom:1px solid var(--gb-customer-line)}
body:has(main>nav>a[href="/start/terms"]) nav a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:600;text-decoration:none}
body:has(main>nav>a[href="/start/terms"]) nav a:first-child{color:var(--gb-customer-ink);font-size:17px;font-weight:800;letter-spacing:-.4px}
body:has(main>nav>a[href="/start/terms"]) h1{margin:36px 0 28px;color:var(--gb-customer-ink);font-size:clamp(30px,4vw,42px);letter-spacing:-1.4px;line-height:1.22;text-wrap:balance}
body:has(main>nav>a[href="/start/terms"]) h2{margin:36px 0 14px;color:var(--gb-customer-ink);font-size:22px;font-weight:700;letter-spacing:-.4px;line-height:1.45}
body:has(main>nav>a[href="/start/terms"]) :is(p,ul,ol,dl){margin-top:16px;margin-bottom:16px;overflow-wrap:anywhere}
body:has(main>nav>a[href="/start/terms"]) :is(ul,ol){padding-left:24px}
body:has(main>nav>a[href="/start/terms"]) li{padding-left:3px;margin:8px 0}
body:has(main>nav>a[href="/start/terms"]) dt{font-weight:700;margin-top:16px}
body:has(main>nav>a[href="/start/terms"]) dd{margin:3px 0 0;overflow-wrap:anywhere}
body:has(main>nav>a[href="/start/terms"]) :is(table,pre){max-width:100%;overflow:auto}
body:has(main>nav>a[href="/start/terms"]) footer{margin-top:42px;padding-top:23px;border-top:1px solid var(--gb-customer-line)}
body:has(main>nav>a[href="/start/terms"]) small{color:var(--gb-customer-muted);font-size:13px;line-height:1.7}

@media(max-width:650px){
  body:has(.gb-checkout-nav) main{margin:18px auto 44px;padding:0 20px}
  .gb-checkout-nav{margin-bottom:34px;padding-bottom:18px;gap:14px}
  .gb-checkout-nav a:first-child{font-size:25px}
  .gb-checkout-nav a:last-child{font-size:12px}
  body:has(.gb-checkout-nav) h1{font-size:33px;letter-spacing:-1.2px}
  body:has(.gb-checkout-nav) header p{font-size:16px}
  body:has(.gb-checkout-nav) section{margin:18px 0;padding:23px 22px;border-radius:16px}
  body:has(.gb-checkout-nav) h2{font-size:21px}
  body:has(.gb-checkout-nav) :is(button,.button){padding-inline:18px}
  body:has(.gb-checkout-nav) .grid{grid-template-columns:1fr;gap:14px}
  body:has(main>nav>a[href="/start/terms"]) main{margin:20px auto 40px;padding:0 22px 30px}
  body:has(main>nav>a[href="/start/terms"]) nav{gap:0 18px;margin-bottom:28px;padding-bottom:18px}
  body:has(main>nav>a[href="/start/terms"]) h1{margin-top:28px;font-size:30px;letter-spacing:-1px}
  body:has(main>nav>a[href="/start/terms"]) h2{font-size:21px}
}
@media(prefers-reduced-motion:reduce){body:has(.gb-checkout-nav) :is(button,.button){transition:none}}
@media print{
  body:has(main>nav>a[href="/start/terms"]){background:#fff;color:#000;font-size:11pt}
  body:has(main>nav>a[href="/start/terms"]) main{max-width:none;margin:0;padding:0}
  body:has(main>nav>a[href="/start/terms"]) nav{display:none}
  body:has(main>nav>a[href="/start/terms"]) :is(h1,h2,small){color:#000}
  body:has(main>nav>a[href="/start/terms"]) h2{break-after:avoid}
  body:has(main>nav>a[href="/start/terms"]) a{color:inherit}
}
