/* Registration legal reader: restrained branding and a high-contrast document. */
html body dialog.terms-modal{position:fixed;inset:0;box-sizing:border-box;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px;border:0;background:transparent;backdrop-filter:none;overflow:hidden;color:#392b3d}
html body dialog.terms-modal:not([open]){display:none}
html body dialog.terms-modal[open]{display:flex;align-items:center;justify-content:center}
.terms-modal::backdrop{background:#0e0817c9;backdrop-filter:blur(8px)}
.terms-modal .terms-content{position:relative;display:grid;grid-template-rows:auto 3px minmax(0,1fr) auto;width:min(780px,100%);height:min(850px,calc(100dvh - 48px));max-height:none;min-height:0;border:1px solid #d7b987;border-radius:24px;background:#fcf6ed;color:#3c2b41;box-shadow:0 25px 100px #0008;overflow:hidden;animation:legal-arrive .25s ease both}
.terms-modal .terms-header{align-items:flex-start;gap:20px;padding:27px 32px 24px;background:radial-gradient(ellipse at top right,#af7bbc20,transparent 60%),linear-gradient(125deg,#38243f,#20172b);border-bottom:0}
.terms-modal .legal-kicker{display:block;color:#daba8e;font-size:9px;line-height:1.7;letter-spacing:.1em;font-weight:750;text-transform:uppercase;margin-bottom:8px}
.legal-kicker span{margin:0 7px;color:#c1a2d2}
.terms-modal .terms-header h2{color:#fff3df;font-family:Georgia,serif;font-size:32px;font-weight:700;line-height:1.15;letter-spacing:-.035em;margin:0 0 9px}
.terms-modal .terms-header p{font-size:12px;line-height:1.6;margin:0;color:#cbb9d2}
.terms-modal .terms-close{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;padding:0;border:1px solid #d5b5df44;border-radius:11px;background:#ffffff06;color:#ead9ef;font:24px Arial,sans-serif;cursor:pointer}
.terms-modal .terms-close:hover{background:#ffffff14;color:white}
.legal-progress{height:3px;background:#c6a0d525;overflow:hidden}
.legal-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#bc91d2,#e8bb79);transition:width .15s linear}
.terms-modal .terms-body{box-sizing:border-box;min-width:0;min-height:0;max-height:none;padding:32px 46px 36px;overflow:auto;overscroll-behavior:contain;background:linear-gradient(110deg,#fffaf2,#f7eee5);color:#5e4d60;font-size:14px;line-height:1.9;scrollbar-width:thin;scrollbar-color:#bea6bb #efe3d8;overflow-wrap:anywhere}
.terms-modal .terms-body h3{display:block;margin:0 0 13px;color:#3c2945;font-size:17px;line-height:1.5;font-weight:750;letter-spacing:-.02em}
.terms-modal .terms-body h3::before{display:none}
.terms-modal .terms-body p{color:#5e4d60;margin:0 0 15px}
.terms-modal .terms-body strong{color:#3c2945}
.terms-modal .terms-body ul{list-style:disc;margin:13px 0 18px;padding-left:21px}
.terms-modal .terms-body li{padding:0 0 0 3px;margin:8px 0}
.terms-modal .terms-body li::before{display:none}
.terms-modal .terms-body li::marker{color:#a17489;font-size:12px}
.terms-modal .terms-body hr{height:1px;border:0;margin:29px 0;background:#9d7f8b28}
.terms-modal .terms-body::-webkit-scrollbar{width:6px}
.terms-modal .terms-body::-webkit-scrollbar-track{background:#f2e7dd}
.terms-modal .terms-body::-webkit-scrollbar-thumb{background:#b89fb2;border:1px solid #f2e7dd;border-radius:10px}
.terms-modal .terms-footer{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 28px 22px;background:#f3e8df;border-top:1px solid #a68b9d30}
.legal-reading-state{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#816d82;font-size:11px;line-height:1.5}
.legal-reading-state>span:last-child{font-variant-numeric:tabular-nums;font-weight:700;color:#684873;flex:0 0 auto}
.terms-modal .terms-footer button{box-sizing:border-box;min-height:46px;width:100%;min-width:0;margin:0;padding:12px 18px;border-radius:12px;font-family:inherit;font-size:13px;font-weight:750;cursor:pointer;transition:background .15s}
.terms-modal .terms-footer .primary-btn{border:1px solid #634775;background:linear-gradient(120deg,#67447c,#3e294b);color:#fff3e6;box-shadow:0 5px 14px #59395e1c}
.terms-modal .terms-footer .primary-btn:disabled{opacity:.4!important;cursor:not-allowed;box-shadow:none}
.terms-modal .terms-footer .secondary-btn{border:1px solid #9e82995c;background:transparent;color:#604768;box-shadow:none}
.terms-modal .terms-footer .secondary-btn:hover{background:#fff8ed}
.terms-modal .terms-footer .primary-btn:not(:disabled):hover{background:#79518c}
.terms-modal button:focus-visible,.terms-modal .terms-body:focus-visible{outline:2px solid #bb8b46;outline-offset:-4px}
@keyframes legal-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:600px){html body dialog.terms-modal{padding:12px}.terms-modal .terms-content{height:calc(100dvh - 24px);border-radius:20px}.terms-modal .terms-header{padding:23px 20px 20px;gap:12px}.terms-modal .terms-header h2{font-size:28px}.terms-modal .legal-kicker{font-size:8px;letter-spacing:.07em}.terms-modal .terms-header p{font-size:11px}.terms-modal .terms-body{padding:25px 23px 30px;font-size:14px;line-height:1.8}.terms-modal .terms-body h3{font-size:16px}.terms-modal .terms-footer{padding:14px 18px 18px;gap:10px}.terms-modal .terms-footer button{font-size:12px;padding:12px}.legal-reading-state{font-size:10px}.terms-modal .terms-close{flex-basis:34px;width:34px;height:34px}}
@media(max-height:520px){.terms-modal .terms-header{padding:14px 20px}.terms-modal .terms-header h2{font-size:23px;margin-bottom:4px}.terms-modal .terms-header p{display:none}.terms-modal .legal-kicker{margin-bottom:4px}.terms-modal .terms-footer{padding:10px 18px;gap:7px}.terms-modal .terms-footer button{min-height:42px}.terms-modal .terms-body{padding-top:20px}}
@media(prefers-reduced-motion:reduce){.terms-modal .terms-content{animation:none}.legal-progress span{transition:none}}

.terms-modal .legal-document-intro{padding:17px 18px;margin:0 0 20px;border:1px solid #b18d9b30;border-radius:13px;background:#f0e4de66}
.terms-modal .legal-document-intro p{margin:0;font-size:12px;line-height:1.8}
.terms-modal .legal-document-intro .legal-document-date{color:#947486;font-size:9px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
.terms-modal .legal-document-intro strong{display:block;margin-bottom:4px;font-size:14px}
.legal-document-index{margin:0 0 28px;border:1px solid #a68b9d35;border-radius:12px;overflow:hidden;background:#ffffff50}
.legal-document-index summary{padding:12px 15px;cursor:pointer;color:#634c6e;font-size:12px;font-weight:700}
.legal-document-index summary span{float:right;color:#99818d;font-size:10px;font-weight:400}
.legal-document-index nav{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:6px 10px 12px}
.legal-document-index button{display:flex;align-items:baseline;gap:9px;min-width:0;min-height:38px;padding:8px;border:0;border-radius:7px;background:transparent;color:#967c87;text-align:left;cursor:pointer;font:10px/1.5 Arial,sans-serif}
.legal-document-index button span{color:#68516c;font-size:11px}
.legal-document-index button:hover{background:#9d6eb014}
.legal-document-section{padding:0 0 25px;margin:0 0 25px;border-bottom:1px solid #9d7f8b25}
.legal-document-section:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}
.terms-modal .legal-document-section h3{margin:0 0 13px;scroll-margin-top:20px}
.terms-modal .legal-document-section a{color:#795180;text-decoration:underline;text-underline-offset:3px}
.terms-modal .legal-document-section a:hover{color:#35223f}
.terms-modal .legal-document-section p:last-child{margin-bottom:0}
.legal-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.terms-modal .legal-status-grid p{margin:0;padding:15px;border:1px solid #a78d9b35;border-radius:12px;background:#fffaf4;font-size:12px;line-height:1.8}
.terms-modal .legal-status-grid p:first-child{border-top:3px solid #88a18d}
.terms-modal .legal-status-grid p:last-child{border-top:3px solid #c1858d}
.legal-status-grid strong{display:block;margin-bottom:7px}
@media(max-width:600px){.legal-status-grid{grid-template-columns:1fr}.legal-document-index nav{grid-template-columns:1fr}.terms-modal .legal-document-intro{padding:14px}.legal-document-section{padding-bottom:22px;margin-bottom:22px}}
