/* Shared by every route; font/assets remain first party. */
.footer-links{display:flex;align-items:center;gap:8px 24px;flex-wrap:wrap}.footer-links a,.footer-links button{font:inherit;font-size:14px;color:#b7c0c5;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;background:none;border:0;padding:0;cursor:pointer}.footer-links a:hover,.footer-links button:hover{color:#fff;text-decoration:underline}footer{gap:20px;flex-wrap:wrap}
.consent-panel{position:fixed;z-index:300;bottom:24px;left:50%;transform:translateX(-50%);width:min(320px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:16px;border:1px solid #465158;border-radius:20px;background:#191e21;color:#f3f4f4;box-shadow:0 4px 24px #0005;font-size:14px;line-height:1.5;user-select:text;text-align:left;color-scheme:dark}.consent-panel[hidden]{display:none}.consent-panel h2{font-size:17px;letter-spacing:-.3px;line-height:1.3;font-weight:600}.consent-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.consent-panel p{margin:12px 0}.consent-panel .consent-storage{color:#bac3c8}.consent-panel a{color:#dce8ee;text-decoration:underline;display:inline}.consent-panel button{font:inherit;cursor:pointer;color:inherit}.consent-panel .consent-close{min-width:44px;min-height:44px;border:0;border-radius:10px;background:transparent;font-size:26px;line-height:1}.consent-actions{display:grid;grid-template-columns:1fr;gap:4px;margin-top:14px;padding-top:10px;border-top:1px solid #65727b55}.consent-actions button{min-height:36px;padding:5px 10px;border:1px solid #65727b;border-radius:12px;background:#293238;font-weight:500}.consent-actions button:hover,.consent-close:hover{background:#38434b}.consent-panel :focus-visible,.footer-links :focus-visible,.legal-page :focus-visible{outline:2px solid #b8dafa;outline-offset:4px}.consent-status{position:fixed;left:50%;transform:translateX(-50%);bottom:24px;text-align:center;width:max-content;z-index:301;max-width:min(460px,calc(100vw - 32px));font-size:14px;padding:12px 16px;border-radius:12px;background:#191e21;color:#e9eef1;pointer-events:none}.consent-status:empty{display:none}
.legal-header{max-width:1120px;margin:auto;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;gap:20px}.legal-header>a:last-child{font-size:14px;color:#bac3c8}.legal-header .brand{font-weight:600}.legal-content{max-width:840px;padding:44px 32px 80px;margin:auto;user-select:text;font-size:16px;line-height:1.75}.legal-nav{display:flex;gap:8px 20px;flex-wrap:wrap;margin-bottom:42px;font-size:14px}.legal-content h1{font-size:clamp(32px,5vw,48px);line-height:1.15;letter-spacing:-1px;margin-bottom:16px}.legal-content h2{font-size:26px;line-height:1.3;margin:48px 0 16px;letter-spacing:-.5px}.legal-content h3{font-size:19px;line-height:1.4;margin:28px 0 12px}.legal-content p{margin:16px 0;color:#bdc6cc}.legal-content a,.legal-content .text-button{color:#e1edf4;text-decoration:underline;text-underline-offset:3px}.legal-content .text-button{font:inherit;display:inline;background:none;border:0;cursor:pointer;padding:0}.legal-content .meta{font-size:14px;color:#9ca8b0}.legal-content .note{padding:20px;border:1px solid #54616a;border-radius:14px;background:#ffffff04;font-size:14px}.legal-content section{scroll-margin-top:32px}.legal-content pre{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.7 ui-monospace,monospace;padding:24px;border-radius:14px;background:#ffffff06;border:1px solid #ffffff18;color:#cbd5db}.legal-content code{overflow-wrap:anywhere}.legal-page footer{max-width:1120px;margin:auto}
@media(max-width:560px){.consent-panel{bottom:16px;padding:16px}.legal-header{padding:20px}.legal-content{padding:28px 20px 60px}.legal-nav{margin-bottom:32px}.legal-content pre{padding:16px}footer{padding-left:20px;padding-right:20px}.footer-links{gap:4px 20px}}
@media(prefers-color-scheme:light){.consent-panel{background:#f5f7f8;color:#182025;border-color:#9ca8af;color-scheme:light}.consent-panel .consent-storage{color:#46545d}.consent-panel a{color:#223f50}.consent-actions button{background:#e3e8eb;border-color:#7c8b95}.consent-actions button:hover,.consent-panel .consent-close:hover{background:#d2dce2}.consent-panel :focus-visible{outline-color:#185b8a}}
@media(prefers-reduced-motion:reduce){.consent-panel *{transition:none!important;animation:none!important}}

.consent-actions button[data-choice="denied"]{background:transparent;border-color:transparent}
.consent-actions button[data-choice="denied"]:hover{text-decoration:underline;background:transparent}

/* A bottom-anchored semicircular shadow behind the consent banner. */
body:has(.consent-panel:not([hidden]))::after{content:"";position:fixed;z-index:299;pointer-events:none;bottom:-180px;left:50%;transform:translateX(-50%);width:min(2000px,260vw);height:min(600px,90vw);background:radial-gradient(ellipse at 50% 100%,#000c 0%,#000a 28%,#0007 48%,#0003 65%,transparent 82%)}

.footer-credit{display:flex;align-items:baseline;gap:5px;font-size:14px;color:#919598;white-space:nowrap}.footer-credit>span a{color:inherit}.footer-credit>span a:hover{color:#fff;text-decoration:underline}
