body[data-page=home] .agreement-link{display:inline-block;flex:0 0 auto;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;line-height:1.6;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent}
body[data-page=home] .agreement-link{font-weight:600}
.agreement-dialog{width:min(680px,calc(100vw - 28px));max-height:min(82dvh,780px);padding:0;border:1px solid #d5dfd3;border-radius:18px;background:#fff;color:#24342f;overflow:hidden;box-shadow:0 20px 80px #233b2b30}
.agreement-dialog[open]{display:flex;flex-direction:column;animation:agreement-in .28s cubic-bezier(.2,.7,.2,1) both}
.agreement-dialog::backdrop{background:#23332b73;backdrop-filter:blur(3px);animation:agreement-backdrop-in .28s both}
.agreement-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto;padding:20px 24px 14px;border-bottom:1px solid #edf0e9}
.agreement-heading h2{margin:0;font-size:22px;line-height:1.4}
.agreement-close{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;padding:0;border:1px solid #dbe3d8;border-radius:50%;background:#fff;color:inherit;font:inherit;font-size:24px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.agreement-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 24px 24px;line-height:1.85;font-size:14px;overflow-wrap:anywhere;scrollbar-gutter:stable}
.agreement-content p{margin:14px 0}.agreement-content h3{font-size:16px;margin:22px 0 8px}.agreement-content .agreement-date{color:#738077;font-size:12px;margin-top:12px}.agreement-content strong{font-weight:650}
.agreement-dialog.is-closing{animation:agreement-out .2s ease both}.agreement-dialog.is-closing::backdrop{animation:agreement-backdrop-out .2s ease both}
@keyframes agreement-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@keyframes agreement-out{to{opacity:0;transform:translateY(8px) scale(.99)}}
@keyframes agreement-backdrop-in{from{opacity:0}to{opacity:1}}@keyframes agreement-backdrop-out{to{opacity:0}}
@media(max-width:600px){.agreement-heading{padding:16px 18px 12px}.agreement-heading h2{font-size:20px}.agreement-content{padding:4px 18px 18px}}
@media(prefers-reduced-motion:reduce){.agreement-dialog[open],.agreement-dialog::backdrop,.agreement-dialog.is-closing,.agreement-dialog.is-closing::backdrop{animation:none}}
