.signup-agreement{width:min(860px,calc(100vw - 32px));height:min(850px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #ffffff65;border-radius:24px;color:#352e43;background:#f7f3f8;box-shadow:0 30px 100px #130e3055;overflow:hidden}.signup-agreement[open]{display:flex;flex-direction:column}.signup-agreement::backdrop{background:#24203399;backdrop-filter:blur(5px)}.signup-agreement header{position:relative;padding:26px 60px 20px 30px;background:linear-gradient(100deg,#635b78,#40384d);color:#fff7ef;flex:none}.signup-agreement header h2{margin:8px 0;font-size:29px}.signup-agreement em,.legal-preview em{font-family:Georgia,serif;color:#ffe3a2}.signup-agreement header p{margin:8px 0 0;color:#eee4f4}.legal-eyebrow{font-size:11px;letter-spacing:.12em;color:#ffe3a2}.agreement-close{position:absolute;right:16px;top:16px;width:40px;height:40px;border:1px solid #ffffff60;border-radius:12px;background:transparent;color:white;font-size:25px;cursor:pointer}.agreement-scroll{min-height:0;flex:1;overflow-y:scroll;scrollbar-gutter:stable;padding:24px 30px;overscroll-behavior:contain;scrollbar-color:#8e7b9e #e4dce9;scrollbar-width:auto}.agreement-scroll::-webkit-scrollbar{width:13px}.agreement-scroll::-webkit-scrollbar-track{background:#e4dce9}.agreement-scroll::-webkit-scrollbar-thumb{background:#8e7b9e;border:3px solid #e4dce9;border-radius:12px}.legal-document{line-height:1.75;font-size:15px;overflow-wrap:anywhere}.legal-document h2{font-size:23px;margin:24px 0 14px;color:#44384e}.legal-document h3{font-size:18px;margin:24px 0 10px}.legal-document p{margin:12px 0;color:#51475b}.legal-document section+section{border-top:1px solid #cec3d6;margin-top:30px;padding-top:12px}.legal-document a{color:#64467d;text-decoration:underline}.legal-table{overflow:auto}.legal-table td{padding:12px;border:1px solid #d6ccde;vertical-align:top;min-width:150px}.legal-draft{padding:15px;border:1px solid #c8a46b;background:#fff1d6;border-radius:12px;color:#694e28}.signup-agreement footer{flex:none;padding:16px 30px 20px;border-top:1px solid #d6ccde;background:#fff}.signup-agreement footer p{margin:0 0 12px;font-size:14px;color:#695a77}.agreement-actions{display:flex;gap:12px;justify-content:flex-end}.agreement-actions button{padding:12px 20px;min-height:46px;border-radius:11px;font-weight:600;cursor:pointer}.agreement-decline{background:white;color:#655176;border:1px solid #b5a4c2}.agreement-actions .primary{background:linear-gradient(145deg,#ffedbe,#eac16a);color:#44331b;border:1px solid #c19c51}.agreement-actions button:disabled{opacity:.42;cursor:not-allowed}.signup-agreement footer small{display:block;margin-top:10px;font-size:12px;color:#796d82}.agreement-error:empty{display:none}.legal-preview{background:linear-gradient(90deg,#635b78,#302d3b);color:#fff7ef;min-height:100vh}.legal-preview main{max-width:850px;margin:60px auto;padding:24px}.legal-preview article{margin-top:40px;padding:28px;border-radius:20px;background:#f7f3f8;color:#352e43}.legal-preview main>p{color:#e1d9ea}@media(max-width:600px){.signup-agreement{width:calc(100vw - 16px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);border-radius:18px}.signup-agreement header{padding:20px 50px 16px 20px}.signup-agreement header h2{font-size:24px}.agreement-scroll{padding:20px}.signup-agreement footer{padding:14px 18px}.agreement-actions{display:grid;grid-template-columns:1fr 1.7fr}.agreement-actions button{padding:10px;font-size:14px}.legal-preview main{margin:20px auto;padding:16px}}
.legal-preview main{display:block;width:min(100%,850px);min-width:0;box-sizing:border-box}.legal-preview article{width:auto;min-width:0;max-width:100%;box-sizing:border-box}.legal-document section{min-width:0}.legal-table{max-width:100%}
.signup-agreement header{display:block;min-width:0;width:100%;box-sizing:border-box}.signup-agreement .legal-eyebrow{display:block;white-space:normal}.signup-agreement .agreement-close{min-width:40px;max-width:40px;padding:0;display:grid;place-items:center;line-height:1;box-sizing:border-box}.signup-agreement footer{display:block;width:100%;box-sizing:border-box}

/* Final public document and signup reader share the approved blue-gray palette. */
.legal-final{background:#0c1b30 url('/assets/moonlight.webp') center/cover fixed no-repeat;color:#203b50}
.legal-final main{display:block;box-sizing:border-box;width:min(900px,calc(100% - 24px));min-width:0;margin:32px auto;padding:28px;background:#e2e8ec;border-radius:20px}
.legal-final h1{font-size:clamp(24px,5vw,36px)}
.signup-agreement{color:#203b50;background:linear-gradient(150deg,#e2e8ec,#ced8e1)}
.signup-agreement header{background:transparent;color:#203b50}
.signup-agreement header p,.signup-agreement .legal-eyebrow{color:#48647a}
.signup-agreement em{color:#315f7e}
.signup-agreement .agreement-close{color:#244a63;border-color:#93b0c9}
.signup-agreement .agreement-scroll{background:#f5f9fc;scrollbar-color:#7896ac #e2ecf4}
.signup-agreement .agreement-scroll::-webkit-scrollbar-track{background:#e2ecf4}
.signup-agreement .agreement-scroll::-webkit-scrollbar-thumb{background:#7896ac;border-color:#e2ecf4}
.signup-agreement footer{background:transparent;border-color:#b1c7d8}
.signup-agreement footer p,.signup-agreement footer small{color:#3b536b}
.signup-agreement .agreement-decline{background:#e6f0f8;color:#244a63;border-color:#7493ae}
.signup-agreement .agreement-actions .primary{background:#244a63;color:white;border-color:#244a63}
.legal-final .legal-document p,.signup-agreement .legal-document p{color:#3b536b}
.legal-final .legal-document h2,.signup-agreement .legal-document h2{color:#203b50}
@media(max-width:600px){.legal-final main{padding:18px;margin:12px auto}.legal-final .legal-table td{min-width:0}}
