.app-footer { max-width:1540px; margin:32px auto 0; padding:18px 0 8px; border-top:1px solid var(--border); color:var(--text-meta); font-size:11px; line-height:1.6; }
.app-footer-top,.app-footer-links,.technology-credits { display:flex; align-items:center; flex-wrap:wrap; gap:10px 20px; }
.app-footer-top { justify-content:space-between; }
.app-footer strong { color:var(--text); font-size:12px; font-weight:600; }
.app-footer a,.account-policy-links a { color:inherit; text-decoration:none; text-underline-offset:3px; }
.app-footer a:hover,.account-policy-links a:hover { color:var(--text); text-decoration:underline; }
.app-footer a:focus-visible,.account-policy-links a:focus-visible { outline:2px solid var(--text); outline-offset:4px; border-radius:3px; }
.app-footer-links a { display:inline-flex; align-items:center; min-height:36px; }
.technology-credits { margin-top:14px; gap:12px 20px; }
.technology-credits > span { font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.technology-credits a { display:inline-flex; align-items:center; gap:6px; min-height:32px; }
.technology-logo { display:inline-block; width:24px; height:24px; flex:0 0 24px; background-color:currentColor; -webkit-mask:var(--technology-mark) center/contain no-repeat; mask:var(--technology-mark) center/contain no-repeat; }
.technology-logo--deepseek { --technology-mark:url('icons/technology/deepseek-mark.svg'); width:30px; flex-basis:30px; }
.technology-logo--openai { --technology-mark:url('icons/technology/openai-mark.svg'); -webkit-mask-size:150%; mask-size:150%; }
.technology-logo--js { --technology-mark:url('icons/technology/javascript-mark.svg'); }
.app-footer-note { margin:10px 0 0; font-size:10px; }
.account-policy-links { color:var(--text-meta); font-size:11px; line-height:1.8; }
.account-policy-links a { text-decoration:underline; }
.account-brand { display:flex; align-items:center; gap:12px; margin-bottom:20px; color:var(--text); font-size:22px; font-weight:700; }
.account-brand-logo { width:40px; height:40px; flex:0 0 40px; background:currentColor; -webkit-mask:url('favicon.svg') center/contain no-repeat; mask:url('favicon.svg') center/contain no-repeat; }
#accountTechnologyCredits { color:var(--text-meta); font-size:11px; }
#accountTechnologyCredits a { color:inherit; text-decoration:none; }
#accountTechnologyCredits a:hover { color:var(--text); text-decoration:underline; }
body.auth-locked .nav-rail,body.auth-locked .nav-backdrop,body.auth-locked #main > :not(#loginView) { display:none !important; }
body.auth-locked #main { margin:0 !important; padding:24px max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)) !important; width:100%; }
body.auth-locked #loginView { min-height:calc(100dvh - 48px); padding:0; }
.login-page .provider-button { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; height:50px; min-height:50px; padding:4px 16px !important; margin:10px 0; }
.login-page .provider-google { background:#fff !important; color:#1f1f1f !important; border:1px solid #747775; }
.provider-google img { width:40px; height:40px; flex:0 0 40px; }
.provider-facebook .provider-icon { width:22px; height:22px; flex:0 0 22px; background:currentColor; -webkit-mask:url('icons/auth/facebook.svg') center/contain no-repeat; mask:url('icons/auth/facebook.svg') center/contain no-repeat; }
.main:has(> #connectionsView:not(.hidden)) > .app-footer { max-width:none; }
@media(max-width:768px) {
  .app-footer { margin-top:24px; padding-top:14px; }
  .app-footer-top { align-items:flex-start; gap:4px; }
  .app-footer-links { gap:4px 16px; width:100%; }
  .app-footer-links a { min-height:44px; }
  .technology-credits { gap:10px 16px; margin-top:8px; }
  .technology-credits a { min-height:44px; }
}
