/* ---- legal.css ---- */
/* ==========================================================================
   Legal & policy pages: a calm reading layout with a summary, a sticky table of contents and print support.
   ========================================================================== */
.lg-progress{position:fixed;left:0;right:0;top:0;z-index:61;height:3px;pointer-events:none}
.lg-progress i{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(var(--p,0));background:linear-gradient(90deg,#1fe3c8,#4d7dff)}
.lg-hero{position:relative;overflow:clip;color:#e8eeff;padding:calc(var(--nav-h) + clamp(18px,3vw,44px)) 0 clamp(48px,5vw,80px);background:radial-gradient(ellipse 50% 70% at 85% 30%,rgba(29,77,255,.32),transparent 70%),radial-gradient(ellipse 50% 45% at 0 0,#0a1440,transparent 70%),var(--night)}
.lg-ghost{position:absolute;right:-1vw;top:calc(var(--nav-h) - .05em);font:800 clamp(90px,15vw,260px)/.8 var(--f-d);letter-spacing:-.07em;white-space:nowrap;pointer-events:none;user-select:none;opacity:.2;-webkit-text-stroke:1.5px rgba(150,180,255,.35);background-size:60% auto}
.lg-hero .wrap{position:relative}
.lg-head{display:flex;align-items:center;gap:18px}
.lg-badge{display:grid;place-items:center;flex:none;width:clamp(48px,4.4vw,64px);aspect-ratio:1;border-radius:18px;color:#fff;background:radial-gradient(circle at 30% 25%,#7fa4ff,#1d4dff);box-shadow:0 14px 34px -10px rgba(29,77,255,.8)}
.lg-badge .ic{width:52%;height:52%;stroke-width:1.7}
.lg-hero h1{font-size:clamp(36px,4.8vw,74px);line-height:.95;letter-spacing:-.045em}
.lg-hero .lead{margin-top:20px;max-width:36em;font-size:calc(clamp(16px,1.35vw,20px) * var(--fs,1));color:#adbdf0}
.lg-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:22px;font-size:calc(14px * var(--fs,1));color:var(--mute-d)}
.lg-print{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:10px;border:1px solid var(--line-d);background:rgba(255,255,255,.04);color:#dbe4ff;font:500 calc(14px * var(--fs,1)) var(--f-b);cursor:pointer;transition:background .2s,border-color .2s}
.lg-print:hover{background:rgba(255,255,255,.1);border-color:rgba(170,195,255,.5)}
.lg-print .ic{width:17px;height:17px}
.lg-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:clamp(30px,3.6vw,52px)}
.lg-sum li{display:grid;grid-template-columns:auto 1fr;column-gap:14px;padding:20px;border-radius:20px;background:linear-gradient(170deg,rgba(255,255,255,.07),rgba(255,255,255,.015));border:1px solid rgba(143,176,255,.18)}
.lg-ic{grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(31,227,200,.12);border:1px solid rgba(31,227,200,.4);color:#8ef3df}
.lg-ic .ic{width:20px;height:20px}
.lg-sum b{font:650 calc(16.5px * var(--fs,1))/1.2 var(--f-d);letter-spacing:-.015em;color:#fff}
.lg-sum span:not(.lg-ic){margin-top:4px;font-size:calc(14px * var(--fs,1));line-height:1.45;color:#b5c3ee}

.lg-main{background:#fff;padding-block:clamp(48px,6vw,100px)}
.lg-grid{display:grid;grid-template-columns:minmax(200px,3fr) minmax(0,8fr);gap:clamp(30px,6vw,110px);align-items:start}
.lg-toc-in{position:sticky;top:calc(var(--nav-s) + 30px)}
.lg-toc-h{font:600 calc(13px * var(--fs,1))/1 var(--f-b);letter-spacing:.02em;color:var(--mute);margin-bottom:14px}
.lg-toc ol{display:grid;gap:2px;counter-reset:t}
.lg-toc ol a{position:relative;display:block;padding:7px 0 7px 16px;font-size:calc(14.5px * var(--fs,1));line-height:1.3;color:var(--mute);border-left:2px solid var(--line);transition:color .2s,border-color .2s}
.lg-toc ol a:hover{color:var(--ink)}
.lg-toc ol a[aria-current=true]{color:var(--cobalt);border-left-color:var(--cobalt);font-weight:600}
.lg-more{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.lg-more ul{display:grid;gap:9px}
.lg-more a{font-size:calc(14.5px * var(--fs,1));font-weight:600;color:var(--ink);border-bottom:1px solid var(--line)}
.lg-more a:hover{color:var(--cobalt);border-color:var(--cobalt)}

.prose{max-width:46em;color:#2a3354;font-size:calc(clamp(16px,1.1vw,17.5px) * var(--fs,1));line-height:1.72}
.prose h2{scroll-margin-top:calc(var(--nav-s) + 24px);margin:2.3em 0 .65em;padding-top:1.3em;border-top:1px solid var(--line);font-size:calc(clamp(23px,1.9vw,30px) * var(--fs,1));line-height:1.15;letter-spacing:-.03em;color:var(--ink)}
.prose h2:first-child{margin-top:0;padding-top:0;border-top:0}
.prose h3{margin:1.6em 0 .5em;font-size:calc(clamp(17px,1.3vw,20px) * var(--fs,1));letter-spacing:-.02em;color:var(--ink)}
.prose p+p{margin-top:1em}
.prose ul{margin:.8em 0 1em;display:grid;gap:.55em}
.prose ul li{position:relative;padding-left:24px}
.prose ul li::before{content:"";position:absolute;left:4px;top:.68em;width:7px;height:7px;border-radius:50%;background:var(--cobalt)}
.prose b{color:var(--ink);font-weight:650}
.prose a{color:var(--cobalt);font-weight:550;text-decoration:underline;text-decoration-color:rgba(29,77,255,.35);text-underline-offset:3px}
.prose a:hover{text-decoration-color:currentColor}
.prose kbd{display:inline-block;padding:1px 7px;border-radius:6px;border:1px solid var(--line);border-bottom-width:2px;font:600 calc(.85em * var(--fs,1)) var(--f-b);background:var(--paper);color:var(--ink)}
.prose .btn{color:#fff;text-decoration:none}
.tbl-wrap{margin:1.1em 0 1.4em;overflow-x:auto;border:1px solid var(--line);border-radius:16px}
.tbl{width:100%;min-width:640px;border-collapse:collapse;font-size:calc(14.5px * var(--fs,1));line-height:1.5}
.tbl th,.tbl td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.tbl thead th{font:600 calc(13px * var(--fs,1)) var(--f-b);color:var(--mute);background:var(--paper)}
.tbl tbody tr:last-child>*{border-bottom:0}
.tbl code{font:600 calc(13.5px * var(--fs,1))/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink);background:var(--paper);padding:2px 7px;border-radius:6px;white-space:nowrap}
.cat{display:inline-block;padding:3px 10px;border-radius:99px;font-size:calc(12.5px * var(--fs,1));font-weight:600;white-space:nowrap;color:#0f7a56;background:#e3f8ef}
.cat.opt{color:#6b3fd6;background:#efe9ff}
@media(max-width:900px){.lg-grid{grid-template-columns:minmax(0,1fr)}.lg-toc-in{position:static}.lg-toc{padding:20px;border-radius:18px;background:var(--paper)}.lg-ghost{opacity:.14}}

@media print{
  .site-header,.drawer,.site-footer,.wa,.cl,.lg-progress,.lg-toc,.lg-print,.lg-ghost,.skip,.ck,.a11y-panel{display:none!important}
  body,.lg-hero,.lg-main{background:#fff!important;color:#000!important}
  .lg-hero{padding:0 0 16px}.lg-hero h1,.lg-sum b{color:#000}.lg-hero .lead,.lg-sum span,.lg-meta{color:#333!important}
  .lg-sum li{border:1px solid #ccc;background:none}.lg-badge{display:none}
  .lg-grid{display:block}.prose{max-width:none;font-size:calc(11pt * var(--fs,1))}
  .prose a::after{content:" (" attr(href) ")";font-size:calc(.85em * var(--fs,1));color:#555}
}
