.site-footer {
    margin-top: auto;
    border-top: 1px solid var(--stroke);
    padding: 16px 24px;
    color: var(--muted);
    background: rgba(20,22,32,0.6);
    backdrop-filter: blur(6px);
}
.site-footer .footer-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.left-group { display:flex; align-items:center; gap:12px; }
.footer-copy { white-space: nowrap; opacity: .9; }
.footer-links { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.footer-link { color: var(--muted); text-decoration: none; opacity: .9; }
.footer-link:hover { opacity: 1; color: var(--text); }
.footer-social { display: flex; align-items: center; gap: 10px; }
.social-icon { color: var(--muted); text-decoration: none; font-size: 18px; }
.social-icon:hover { color: var(--text); }

/* License modal */
.license-modal { position: fixed; inset: 0; background: rgba(0,0,0,.6); display:none; z-index: 3000; }
.license-dialog { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 95%; max-width: 720px; background: #141826; border:1px solid var(--stroke); border-radius: 16px; box-shadow: 0 30px 60px rgba(0,0,0,.5); overflow:hidden; }
.license-header { display:flex; align-items:center; justify-content: space-between; padding: 16px 20px; border-bottom:1px solid var(--stroke); }
.license-title { color: var(--text); font-size: 1.25rem; }
.license-close { background:none; border:none; color:#94A3B8; font-size: 1.3rem; cursor:pointer; border-radius:8px; padding:4px 8px; }
.license-close:hover { color:#fff; background: rgba(255,255,255,.08); }
.license-body { padding: 18px 20px; color: var(--text); max-height: 70vh; overflow:auto; }
.license-body h4 { margin: 16px 0 8px; font-size: 1rem; }
.license-body p { color: var(--muted); line-height: 1.6; }

