.terms-button { flex:none;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg-sunken);color:var(--ink-soft);font-size:11px;font-weight:600;cursor:pointer; }
.terms-button:hover { color:var(--ink);border-color:var(--line-strong); }
.terms-dialog { width:min(760px,calc(100% - 32px));max-width:none;max-height:calc(100% - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid var(--line-strong);border-radius:12px;background:var(--bg-raised);color:var(--ink);box-shadow:var(--shadow-lg);overflow:auto;overscroll-behavior:contain; }
.terms-dialog::backdrop { background:rgb(0 0 0 / 65%); }
.terms-heading { position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;border-bottom:1px solid var(--line);background:var(--bg-raised); }
.terms-heading h2 { margin:0;font-size:20px; }
.terms-heading button { flex:none;width:34px;height:34px;border:1px solid var(--line);border-radius:6px;background:var(--bg-sunken);color:var(--ink);font-size:24px;line-height:1;cursor:pointer; }
.terms-content { padding:4px 22px 18px;font-size:14px;line-height:1.65;color:var(--ink-soft); }
.terms-content p { margin:16px 0; }
.terms-content h3 { margin:22px 0 8px;font-size:16px;color:var(--ink); }
.terms-content a { color:var(--magma);text-decoration:underline; }
.terms-content strong { color:var(--ink); }
@media(max-width:760px) { .terms-button { padding:6px;font-size:10px; } .terms-heading { padding:12px 16px; } .terms-content { padding:0 16px 12px; } }
