:root {--legal-ink:#172b50;--legal-blue:#315ddf;--legal-soft:#eff4fd;}
.legal-gate{min-height:calc(100vh - 116px);padding:clamp(16px,3vw,44px);display:flex;justify-content:center;align-items:center;background:radial-gradient(circle at 5% 5%,#dbe5ff,transparent 42%),#f2f5fc;}
.legal-dialog{width:min(100%,910px);max-height:calc(100vh - 128px);display:flex;flex-direction:column;background:white;border:1px solid #dbe4f2;border-radius:20px;box-shadow:0 24px 72px rgba(22,43,80,.18);overflow:hidden;color:var(--legal-ink);}
.legal-dialog-header{padding:24px 30px 18px;border-bottom:1px solid #e3eaf5;flex-shrink:0;background:linear-gradient(135deg,#fff,#f4f7ff);}
.legal-dialog-header h1{font-size:clamp(1.25rem,2.4vw,1.8rem);font-weight:800;letter-spacing:-.02em;margin:7px 0 8px;line-height:1.25;color:var(--legal-ink);}
.legal-dialog-header p{color:#52617b;margin:0 0 10px;font-size:.93rem;line-height:1.6;}
.legal-overline{font-size:.75rem;letter-spacing:.13em;color:var(--legal-blue);font-weight:800;text-transform:uppercase;}
.legal-version{font-size:.76rem;background:#e9efff;color:#2b4d9a;border-radius:999px;padding:5px 12px;display:inline-block;}
.legal-document-scroll{padding:20px 30px;overflow:auto;overscroll-behavior:contain;min-height:100px;flex:1;background:#fff;}
.legal-copy h2{color:#233f77;font-size:1rem;font-weight:800;line-height:1.4;margin:1.45rem 0 .6rem;}
.legal-copy h2:first-child{margin-top:0;}
.legal-copy p{font-size:.91rem;line-height:1.75;color:#33445d;margin:0 0 1rem;}
.legal-copy a{color:#234fca;text-decoration:underline;text-underline-offset:2px;}
.legal-dialog-footer{padding:16px 30px 22px;flex-shrink:0;border-top:1px solid #e1e8f4;background:#f8faff;}
.legal-emphasis{background:#eef3ff;border-left:4px solid var(--legal-blue);border-radius:6px;padding:10px 13px;font-size:.84rem;color:#243d70;margin:0 0 13px;line-height:1.55;}
.legal-accept-row{display:flex;align-items:flex-start;gap:12px;font-size:.86rem;line-height:1.55;color:#243653;cursor:pointer;}
.legal-accept-row input{height:18px;width:18px;margin-top:2px;accent-color:#315ddf;flex-shrink:0;}
.legal-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:15px;flex-wrap:wrap;}
.legal-actions .btn{border-radius:10px;font-weight:700;padding:.7rem 1.15rem;white-space:normal;}
.legal-actions .btn-primary{background:#315ddf;border-color:#315ddf;}
.legal-actions .btn-primary:hover{background:#234ebf;border-color:#234ebf;}
.legal-actions .btn:disabled{cursor:not-allowed;opacity:.55;}
.legal-document-public{background:#fff;border-radius:16px;box-shadow:0 12px 45px rgba(18,48,99,.08);padding:clamp(20px,5vw,54px);max-width:960px;margin:auto;}
.legal-document-public h1{color:var(--legal-ink);font-weight:800;letter-spacing:-.02em;}
.legal-footer-actions{border-top:1px solid #e1e8f4;margin-top:25px;padding-top:16px;display:flex;gap:10px;flex-wrap:wrap;}
@media(max-width:600px){.legal-gate{padding:8px;align-items:stretch;}.legal-dialog{max-height:calc(100dvh - 85px);border-radius:13px;}.legal-dialog-header{padding:18px 17px 12px;}.legal-document-scroll{padding:14px 18px;}.legal-dialog-footer{padding:12px 18px 18px;}.legal-actions .btn{flex:1;}}
@media print{nav,.top-hair,.legal-footer-actions,footer{display:none!important}.legal-document-public{box-shadow:none}.legal-dialog{max-height:none;box-shadow:none}.legal-document-scroll{overflow:visible;max-height:none}}
