/* Shared shell for the standalone legal/error pages. These are plain static
   HTML (no Vue, no CDN), so they render even if the API or cdnjs is down. */
:root{
  --brand-blue:#2f66e8; --brand-deep:#2452c0; --cream:#f7fbff; --ink:#17213d;
  --soft:#5a6a86; --rule:#dde4f2; --card:#ffffff;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:'DM Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  font-size:15px; line-height:1.75;
}
.wrap{width:100%; max-width:46rem; margin:0 auto; padding:0 16px}
header.site{border-bottom:1px solid var(--rule); background:rgba(247,251,255,.95); position:sticky; top:0; z-index:5}
header.site .wrap{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block:14px}
.brand{font-family:'Manrope',ui-sans-serif,system-ui,sans-serif; font-weight:800; font-size:18px; color:var(--brand-blue); text-decoration:none; letter-spacing:-.01em}
.brand span{font-weight:500}
.back{font-size:13px; font-weight:600; color:var(--brand-blue); text-decoration:none}
.back:hover{text-decoration:underline}
main{padding:clamp(2rem,6vw,4rem) 0 4rem}
h1{font-family:'Manrope',ui-sans-serif,system-ui,sans-serif; font-size:clamp(1.8rem,5vw,2.5rem); line-height:1.15; letter-spacing:-.02em; margin:0 0 .5rem}
.updated{font-size:12px; color:var(--soft); margin:0 0 2.5rem; text-transform:uppercase; letter-spacing:.06em; font-weight:600}
h2{font-family:'Manrope',ui-sans-serif,system-ui,sans-serif; font-size:1.1rem; margin:2.5rem 0 .6rem; letter-spacing:-.01em}
h3{font-size:.95rem; margin:1.5rem 0 .4rem}
p,li{color:#2a3550}
ul,ol{padding-inline-start:1.25rem}
li{margin-bottom:.4rem}
a{color:var(--brand-blue)}
.lead{font-size:16px; color:var(--soft)}
.card{background:var(--card); border:1px solid var(--rule); border-radius:16px; padding:1.25rem 1.5rem; margin:1.5rem 0}
.card p:first-child{margin-top:0} .card p:last-child{margin-bottom:0}
table{width:100%; border-collapse:collapse; margin:1rem 0; font-size:14px}
th,td{text-align:start; padding:10px 12px; border-bottom:1px solid var(--rule); vertical-align:top}
th{font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--soft)}
footer.site{border-top:1px solid var(--rule); padding:1.75rem 0 2.5rem; font-size:12px; color:var(--soft)}
footer.site .links{display:flex; flex-wrap:wrap; gap:1.25rem; margin-bottom:.9rem}
footer.site a{font-weight:600; text-decoration:none}
footer.site a:hover{text-decoration:underline}
.notfound{text-align:center; padding:clamp(3rem,12vw,7rem) 0}
.notfound .code{font-family:'Manrope',sans-serif; font-size:clamp(3.5rem,14vw,6rem); font-weight:800; color:var(--brand-blue); line-height:1; margin:0}
.btn{display:inline-block; background:var(--brand-blue); color:#fff; text-decoration:none; font-weight:600; font-size:14px; padding:13px 22px; border-radius:12px; margin-top:1.5rem}
.btn:hover{background:var(--brand-deep)}
@media(prefers-reduced-motion:no-preference){a{transition:color .15s}}
