/* Orbisay legal pages — production visual layer.
   Scoped to body[data-legal] so no account, auth, world or landing layout is changed. */
body[data-legal]{
  --legal-ink:#111a43;
  --legal-muted:#64739f;
  --legal-line:rgba(112,132,184,.22);
  --legal-glass:rgba(255,255,255,.78);
  --legal-shadow:0 28px 80px rgba(38,60,118,.13);
  position:relative;
  isolation:isolate;
  min-height:100vh;
  color:var(--legal-ink);
  background:
    radial-gradient(circle at 86% 10%,rgba(106,150,255,.20),transparent 30rem),
    radial-gradient(circle at 6% 68%,rgba(164,113,230,.12),transparent 28rem),
    linear-gradient(135deg,#f7f9ff 0%,#eef4ff 52%,#edf1fb 100%);
}
body[data-legal]::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:url("assets/scene-text-clean.webp") center 42%/cover no-repeat;
  opacity:.075;
  filter:saturate(.8);
}
body[data-legal]::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(249,251,255,.80),rgba(239,245,255,.94));
}
body[data-legal] header{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto;
  padding:26px 0 18px;
  display:flex;
  align-items:center;
  gap:20px;
  border-bottom:1px solid rgba(91,112,168,.10);
}
body[data-legal] .brand{
  margin-right:auto;
  color:#111a43;
  font-size:32px;
  font-weight:800;
  letter-spacing:-.075em;
  line-height:1;
}
body[data-legal] header select{
  width:auto;
  min-width:132px;
  margin:0;
  padding:10px 38px 10px 14px;
  border-radius:999px;
  border:1px solid rgba(124,146,199,.36);
  background:rgba(255,255,255,.72);
  color:#1b2a5b;
  box-shadow:0 8px 24px rgba(52,76,132,.08);
  backdrop-filter:blur(16px);
}
body[data-legal] main{
  width:min(1040px,calc(100% - 48px));
  max-width:none;
  margin:0 auto;
  padding:74px 0 90px;
}
body[data-legal] .eyebrow{
  margin:0 0 18px;
  color:#6d79a8;
  font-size:11px;
  font-weight:700;
  letter-spacing:.30em;
}
body[data-legal] h1{
  margin:0;
  max-width:850px;
  color:#10183f;
  font-size:clamp(46px,6vw,82px);
  font-weight:800;
  letter-spacing:-.065em;
  line-height:.98;
}
body[data-legal] #legalVersion{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  margin:22px 0 34px;
  padding:6px 12px;
  border:1px solid rgba(118,139,192,.24);
  border-radius:999px;
  background:rgba(255,255,255,.52);
  color:#6b79a2;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
}
body[data-legal] #legalVersion:empty{display:none}
body[data-legal] #legalContent,
body[data-legal] #noticeFormContainer:not(:empty){
  width:min(880px,100%);
  margin-top:8px;
  padding:clamp(26px,4.2vw,52px);
  border:1px solid rgba(255,255,255,.88);
  border-radius:28px;
  background:var(--legal-glass);
  box-shadow:var(--legal-shadow);
  backdrop-filter:blur(20px) saturate(1.06);
}
body[data-legal] #legalContent{
  max-width:880px;
  color:#293657;
  font-size:16px;
  line-height:1.78;
}
body[data-legal] #legalContent> :first-child{margin-top:0}
body[data-legal] #legalContent> :last-child{margin-bottom:0}
body[data-legal] #legalContent p{margin:0 0 1.2rem}
body[data-legal] #legalContent h2,
body[data-legal] #legalContent h3,
body[data-legal] #legalContent h4{
  color:#152044;
  margin:2.15rem 0 .8rem;
  line-height:1.2;
  letter-spacing:-.025em;
}
body[data-legal] #legalContent h2{font-size:25px}
body[data-legal] #legalContent h3{font-size:20px}
body[data-legal] #legalContent h4{font-size:17px}
body[data-legal] #legalContent strong{color:#142047;font-weight:800}
body[data-legal] #legalContent ul,
body[data-legal] #legalContent ol{padding-left:1.35rem;margin:0 0 1.3rem}
body[data-legal] #legalContent li{margin:.42rem 0}
body[data-legal] #legalContent code{
  font:inherit;
  background:#eef3ff;
  border:1px solid #d9e2f5;
  border-radius:7px;
  padding:.06em .38em;
}
body[data-legal] #noticeFormContainer{margin-top:24px}
body[data-legal] #noticeFormContainer form{display:grid;gap:2px}
body[data-legal] #noticeFormContainer label{font-weight:700;color:#31436d}
body[data-legal] #noticeFormContainer input,
body[data-legal] #noticeFormContainer textarea{
  border:1px solid rgba(118,139,192,.30);
  border-radius:14px;
  background:rgba(255,255,255,.84);
}
body[data-legal] #noticeFormContainer button{
  width:max-content;
  border-radius:999px;
  padding:13px 22px;
  background:linear-gradient(125deg,#111935,#1d2b58);
}
body[data-legal] #legalStatus{
  width:min(880px,100%);
  color:#6a3d4a;
  font-weight:650;
}
body[data-legal] footer{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto;
  padding:26px 0 34px;
  border-top:1px solid rgba(91,112,168,.12);
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
body[data-legal] footer a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border-radius:999px;
  color:#53658f;
  text-decoration:none;
  font-size:12px;
  font-weight:650;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
@media(hover:hover) and (pointer:fine){
  body[data-legal] footer a:hover{
    background:rgba(255,255,255,.72);
    color:#1f3874;
    transform:translateY(-1px);
  }
}
body[data-legal] :focus-visible{outline:3px solid #536bff;outline-offset:4px}
@media(max-width:700px){
  body[data-legal] header{width:calc(100% - 32px);padding-top:20px}
  body[data-legal] .brand{font-size:29px}
  body[data-legal] header select{min-width:116px;padding:9px 34px 9px 12px}
  body[data-legal] main{width:calc(100% - 32px);padding:50px 0 62px}
  body[data-legal] h1{font-size:clamp(40px,13vw,62px)}
  body[data-legal] #legalContent,
  body[data-legal] #noticeFormContainer:not(:empty){padding:24px 20px;border-radius:22px}
  body[data-legal] #legalContent{font-size:15px}
  body[data-legal] footer{width:calc(100% - 32px);padding-bottom:26px}
}
@media(prefers-reduced-motion:reduce){body[data-legal] *{transition:none!important}}
