/* The terms scroll independently so consent remains reachable on small screens. */
.terms-dialog{box-sizing:border-box;width:min(640px,calc(100vw - 40px));height:min(690px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);margin:auto;padding:0;overflow:hidden;background:#151f32;color:#ecf2fc;border:1px solid #354661;border-radius:18px;font:14px/1.6 Inter,Segoe UI,Arial,sans-serif;box-shadow:0 28px 100px #0009;color-scheme:dark}
.terms-dialog[open]{display:flex;flex-direction:column}
.terms-dialog::backdrop{background:#080e1dbe;backdrop-filter:blur(7px)}
.terms-header{display:flex;align-items:flex-start;gap:16px;flex-shrink:0;padding:26px 28px 22px;background:linear-gradient(120deg,#1c2c47,#172338);border-bottom:1px solid #2a3a53}
.terms-badge{display:grid;place-items:center;flex:0 0 44px;width:44px;height:48px;border:1px solid #428de84d;border-radius:13px;background:#2488ff16;color:#69b0ff}.terms-badge svg{width:27px;height:27px}
.terms-eyebrow{display:block;color:#79b5ff;font-size:10px;font-weight:700;letter-spacing:1.6px;margin-bottom:5px}
.terms-dialog h2{margin:0;color:#f4f7ff;font-size:24px;font-weight:700;line-height:1.3;letter-spacing:-.5px}
.terms-header p{margin:8px 0 0;color:#9eafc8;font-size:12px;line-height:1.6}
.terms-dialog ol{flex:1 1 auto;min-height:0;margin:0;padding:12px 28px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#435a7b transparent;counter-reset:terms;list-style:none}
.terms-dialog ol::-webkit-scrollbar{width:6px}.terms-dialog ol::-webkit-scrollbar-thumb{background:#435a7b;border-radius:8px}.terms-dialog ol::-webkit-scrollbar-track{background:transparent}
.terms-dialog li{counter-increment:terms;position:relative;margin:0;padding:17px 0 17px 39px;border-bottom:1px solid #29364b}.terms-dialog li:last-child{border-bottom:0}
.terms-dialog li::before{content:counter(terms,decimal-leading-zero);position:absolute;left:0;top:18px;color:#72a9f0;background:#23344d;border:1px solid #344b6a;border-radius:7px;min-width:26px;height:24px;text-align:center;font-size:10px;line-height:24px;font-weight:700}
.terms-dialog li strong{font-size:13px;font-weight:650;color:#e6eefb}.terms-dialog li p{margin:5px 0 0;color:#a8b8d0;font-size:12px;line-height:1.75;overflow-wrap:anywhere}
.terms-dialog form{flex-shrink:0;margin:0;padding:18px 28px 22px;border-top:1px solid #30405a;background:#19263c}
.terms-dialog .terms-consent{display:flex;align-items:flex-start;gap:11px;margin:0 0 15px;color:#c0cde0;font-size:12px;line-height:1.6;cursor:pointer}
.terms-consent input{flex:0 0 18px;width:18px;height:18px;margin:1px 0 0;accent-color:#328bfa;cursor:pointer}
.terms-dialog button{display:block;width:100%;min-height:46px;padding:12px 18px;border:1px solid #559cff;border-radius:9px;background:linear-gradient(180deg,#318aff,#2069db);color:#fff;font:650 13px/20px Inter,Segoe UI,Arial,sans-serif;cursor:pointer;box-shadow:0 4px 12px #1260d52a;transition:filter .15s,opacity .15s}
.terms-dialog button:hover:not(:disabled){filter:brightness(1.1)}.terms-dialog button:disabled{background:#2c3c54;border-color:#3a4e6b;color:#8d9fb8;box-shadow:none;cursor:default}
.terms-dialog button:focus-visible,.terms-consent input:focus-visible,.terms-dialog ol:focus-visible{outline:2px solid #75b8ff;outline-offset:3px}
.terms-dialog [role=status]{color:#ffc591;font-size:12px;margin:10px 0 0}.terms-dialog [role=status]:empty{display:none}
@media(max-width:480px){.terms-dialog{width:calc(100vw - 24px);height:min(760px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);border-radius:14px}.terms-header{gap:12px;padding:20px 18px 17px}.terms-badge{flex-basis:36px;width:36px;height:40px;border-radius:10px}.terms-badge svg{width:24px;height:24px}.terms-dialog h2{font-size:20px}.terms-eyebrow{font-size:9px;letter-spacing:1.1px}.terms-dialog ol{padding:6px 18px}.terms-dialog li{padding-left:36px}.terms-dialog form{padding:16px 18px max(18px,env(safe-area-inset-bottom))}.terms-dialog button{min-height:48px}}
@media(max-height:450px){.terms-header{padding:12px 18px;gap:12px}.terms-badge{display:none}.terms-header p,.terms-eyebrow{display:none}.terms-dialog h2{font-size:19px}.terms-dialog form{padding:10px 18px}.terms-dialog .terms-consent{margin-bottom:8px}.terms-dialog button{min-height:40px;padding:8px}}
/* Compact mobile reading layout with a fixed, comfortable consent footer. */
@media(max-width:600px){
 .terms-dialog{width:calc(100vw - 40px);max-width:400px;height:min(600px,calc(100dvh - 64px));max-height:calc(100dvh - 64px);border-radius:16px;box-shadow:0 20px 64px #0008}
 .terms-header{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:17px 16px 15px;background:linear-gradient(135deg,#1d304d,#19263c)}
 .terms-badge{width:34px;height:38px;border-radius:10px;align-self:start;grid-row:1}
 .terms-badge svg{width:22px;height:22px}
 .terms-header>div{min-width:0}
 .terms-eyebrow{font-size:8px;letter-spacing:1.3px;margin:0 0 4px}
 .terms-dialog h2{font-size:clamp(17px,4.8vw,21px);line-height:1.25;letter-spacing:-.4px}
 .terms-header p{margin:9px 0 0;font-size:11px;line-height:1.55;color:#afbed3}
 .terms-dialog ol{padding:12px 12px 16px;scroll-padding-block:12px;scrollbar-gutter:stable;scrollbar-width:thin;background:#131e30}
 .terms-dialog li{padding:12px;margin:0 0 9px;border:1px solid #2d3e57;border-radius:11px;background:#1b2940;display:grid;grid-template-columns:25px minmax(0,1fr);column-gap:9px;row-gap:6px}
 .terms-dialog li:last-child{margin-bottom:0;border:1px solid #2d3e57}
 .terms-dialog li::before{position:static;grid-column:1;grid-row:1;min-width:23px;width:23px;height:23px;line-height:23px;font-size:9px;border-radius:7px;box-sizing:border-box}
 .terms-dialog li strong{grid-column:2;align-self:center;font-size:12px;line-height:1.45;font-weight:650}
 .terms-dialog li p{grid-column:1/-1;margin:0;font-size:12px;line-height:1.7;color:#b5c4da}
 .terms-dialog form{padding:10px 14px max(14px,env(safe-area-inset-bottom));box-shadow:0 -7px 20px #08101e30;background:#1a2941}
 .terms-dialog .terms-consent{align-items:center;gap:10px;min-height:44px;margin:0 0 8px;font-size:11px;line-height:1.5}
 .terms-consent input{width:19px;height:19px;flex-basis:19px;margin:0}
 .terms-dialog button{min-height:46px;padding:11px 14px;border-radius:10px;font-size:13px}
 .terms-dialog [role=status]{font-size:11px;margin-top:7px}
}
@media(max-width:600px) and (max-height:600px){
 .terms-header{padding:13px 14px 11px;gap:9px}
 .terms-header p{font-size:10px;line-height:1.5;margin-top:7px}
 .terms-dialog ol{padding-top:10px}
 .terms-dialog form{padding-top:7px;padding-bottom:max(10px,env(safe-area-inset-bottom))}
 .terms-dialog .terms-consent{min-height:38px;margin-bottom:5px}
 .terms-dialog button{min-height:44px;padding:10px 14px}
}
@media(max-height:450px){
 .terms-header{display:block;padding:10px 14px}
 .terms-header .terms-badge,.terms-header p,.terms-eyebrow{display:none}
 .terms-dialog h2{font-size:18px}
 .terms-dialog form{padding:6px 14px 10px}
 .terms-dialog .terms-consent{min-height:30px;margin-bottom:5px}
 .terms-dialog button{min-height:40px;padding:8px 14px}
}

@media(max-width:600px) and (max-height:450px){.terms-dialog{height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}}
