.legal-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px 16px;padding:12px 18px 22px;color:var(--muted);font-size:10px;line-height:1.4}.legal-links button{border:0;background:none;color:inherit;font:inherit;min-height:28px;padding:3px 0;cursor:pointer;transition:color .2s}.legal-links button:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.storage-notice{position:fixed;z-index:80;left:24px;bottom:24px;width:min(430px,calc(100vw - 48px));padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:var(--surface,var(--white));color:var(--ink);box-shadow:0 15px 65px #0003;backdrop-filter:blur(18px)}.storage-notice[hidden]{display:none!important}.storage-notice p{font-size:11px;line-height:1.6;color:var(--muted);margin:0}.legal-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.legal-actions button{border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:10px;min-height:34px;padding:7px 11px;border-radius:9px;cursor:pointer}.legal-actions .cookie-accept{background:var(--ink);color:var(--surface,var(--ivory));border-color:var(--ink)}.legal-actions button:hover{opacity:.8}
.legal-dialog{width:560px;max-width:calc(100vw - 32px);max-height:85dvh;overflow:auto;border:1px solid var(--line);border-radius:22px;padding:25px;background:var(--surface,var(--white));color:var(--ink);box-shadow:0 25px 90px #0005}.legal-dialog::backdrop{background:#07152199;backdrop-filter:blur(8px)}.legal-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px}.legal-heading h2{font-size:23px;letter-spacing:-.7px}.legal-close{border:0;background:transparent;color:inherit;font-size:24px;width:34px;height:34px;cursor:pointer;border-radius:9px}.legal-close:hover{background:var(--soft,var(--ivory))}.legal-body h3{font-size:14px;margin:22px 0 8px;letter-spacing:0}.legal-body p{font-size:12px;line-height:1.75;color:var(--muted);margin:0}.cookie-category{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.cookie-category b{display:block;font-size:13px;font-weight:600}.cookie-category small{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:4px}.cookie-category input{width:18px;height:18px;flex:0 0 18px;accent-color:var(--accent,var(--blue))}.cookie-future{margin-top:16px!important;font-size:10px!important}.cookie-save{margin-top:22px;border:0;border-radius:11px;min-height:42px;width:100%;background:var(--ink);color:var(--surface,var(--ivory));font:inherit;font-size:12px;cursor:pointer}
.auth-dialog>.legal-links{padding:9px 18px 15px;gap:5px 13px;font-size:9px}.storage-notice.inside-auth{position:sticky;bottom:12px;margin:0 auto 12px;left:auto;width:calc(100% - 28px)}
body:has(.app-layout)>.legal-links{margin-left:236px;padding-bottom:18px}.sidebar-collapsed>.legal-links{margin-left:0}
@media(max-width:700px){.storage-notice{left:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:calc(100vw - 24px);padding:16px}.legal-dialog{padding:21px;border-radius:19px}.legal-heading h2{font-size:21px}body:has(.app-layout)>.legal-links{margin-left:0;padding-bottom:calc(115px + env(safe-area-inset-bottom));font-size:9px;gap:4px 13px}.legal-links{padding-bottom:18px}.auth-dialog>.legal-links{padding-bottom:calc(15px + env(safe-area-inset-bottom))}.storage-notice:not(.inside-auth){bottom:calc(110px + env(safe-area-inset-bottom))}body:not(:has(.app-layout)) .storage-notice{bottom:12px}}

body .storage-notice,body:not(:has(.app-layout)) .storage-notice{left:0;right:0;bottom:0;width:100%;max-width:none;border-radius:0;border-width:1px 0 0;padding:18px max(24px,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px;box-sizing:border-box;box-shadow:0 -10px 35px #0002}body .storage-notice p{font-size:12px;max-width:700px}body .storage-notice .legal-actions{margin:0;flex-wrap:nowrap;flex-shrink:0}body .storage-notice.inside-auth{position:sticky;left:0;width:100%;margin:0;bottom:0;padding:15px;gap:15px}body .storage-notice .legal-actions button{white-space:nowrap;min-height:36px}@media(max-width:700px){body .storage-notice,body:not(:has(.app-layout)) .storage-notice{bottom:0;padding:15px 16px calc(15px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:12px}body .storage-notice .legal-actions{justify-content:flex-start;flex-wrap:wrap}}
