.legal-scroll{position:fixed;inset:0;margin:auto;width:min(740px,calc(100vw - 40px));height:min(800px,calc(100dvh - 64px));max-width:none;max-height:none;padding:0;border:0;background:transparent;color:#192849;overflow:visible;user-select:none;-webkit-user-select:none}
.legal-scroll::backdrop{background:#12224765;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:legal-fog 420ms ease both}
.legal-scroll-paper{height:100%;display:flex;flex-direction:column;background:#faf7ef;border-radius:20px;box-shadow:0 32px 100px #101a494d;position:relative;overflow:hidden}
.legal-scroll[open] .legal-scroll-paper{animation:legal-unroll 850ms cubic-bezier(.16,1,.3,1) both}
.legal-scroll-paper:before,.legal-scroll-paper:after{content:'';position:absolute;left:0;right:0;height:12px;z-index:2;pointer-events:none;background:linear-gradient(#fff8,#e8e2d6);border-radius:12px}
.legal-scroll-paper:before{top:0}.legal-scroll-paper:after{bottom:0;transform:rotate(180deg)}
.legal-scroll-toolbar{display:flex;align-items:center;justify-content:space-between;padding:25px 32px 15px;flex-shrink:0}
.legal-scroll-toolbar button{border:0;border-radius:50%;width:40px;height:40px;background:#1928490c;color:#192849;font:28px/1 system-ui;transition:background 180ms,transform 180ms}
.legal-scroll-toolbar button:hover{background:#19284918;transform:rotate(90deg)}
.legal-scroll-content{overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;padding:0 40px 28px;scrollbar-width:thin;scrollbar-color:#19284940 transparent}
.legal-scroll-content main{display:block;max-width:none;padding:0;margin:0;font:15px/1.75 system-ui,sans-serif;color:#192849}
.legal-scroll-content h1{font:clamp(36px,5vw,54px)/1.06 Slat,sans-serif;letter-spacing:-.035em;margin:24px 0 18px}
.legal-scroll-content h2{font:600 21px/1.3 system-ui,sans-serif;margin:30px 0 10px;letter-spacing:-.02em}
.legal-scroll-content p{margin:12px 0}.legal-scroll-content .draft{font-size:11px;border-left:2px solid #315bd6;padding:8px 12px;background:#315bd608}.legal-scroll-content .version{font-size:12px;color:#65718b}.legal-scroll-content code{overflow-wrap:anywhere;font-size:12px}
.legal-scroll a{color:inherit;text-decoration:underline;text-underline-offset:4px}.legal-scroll-nav{display:flex;gap:18px;flex-wrap:wrap;padding:18px 32px 25px;border-top:1px solid #19284915;font:12px/1.5 system-ui;flex-shrink:0}.legal-scroll-nav a[aria-current]{color:#315bd6}
.legal-scroll :focus-visible{outline:2px solid #315bd6;outline-offset:4px}
@keyframes legal-unroll{0%{clip-path:inset(46% 0 round 20px);transform:translateY(18px)}100%{clip-path:inset(0 round 20px);transform:translateY(0)}}
@keyframes legal-fog{from{opacity:0}to{opacity:1}}
@media(max-width:600px){.legal-scroll{width:calc(100vw - 24px);height:calc(100dvh - 40px)}.legal-scroll-toolbar{padding:22px 20px 12px}.legal-scroll-content{padding:0 24px 24px}.legal-scroll-nav{padding:16px 24px 24px;gap:14px}.legal-scroll-content main{font-size:14px}}
@media(prefers-reduced-motion:reduce){.legal-scroll[open] .legal-scroll-paper,.legal-scroll::backdrop{animation:none}.legal-scroll-toolbar button{transition:none}}
body.motion-paused .legal-scroll-paper{animation:none!important}
.legal-scroll .legal-scroll-toolbar{position:relative;inset:auto;transform:none;width:100%;max-width:none;margin:0;z-index:auto;background:transparent}

/* One continuous reveal; content arrives before the opening frame. */
html{scrollbar-gutter:stable}
.legal-scroll[open] .legal-scroll-paper{will-change:clip-path,transform}
.legal-scroll[open] .legal-scroll-toolbar,.legal-scroll[open] .legal-scroll-content,.legal-scroll[open] .legal-scroll-nav{animation:legal-ink 550ms 140ms cubic-bezier(.2,.7,.3,1) both}
@keyframes legal-ink{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.legal-scroll.is-closing .legal-scroll-paper{animation:legal-dismiss 240ms ease-in both}
.legal-scroll.is-closing::backdrop{animation:legal-fog 240ms ease-in reverse both}
@keyframes legal-dismiss{to{opacity:0;transform:translateY(10px) scale(.985)}}
@media(prefers-reduced-motion:reduce){.legal-scroll[open] *,.legal-scroll::backdrop{animation:none!important}}
body.motion-paused .legal-scroll[open] *,body.motion-paused .legal-scroll::backdrop{animation:none!important}
