/* A common footer in document flow; it never overlays results or controls. */
body:has(> .site-footer){display:flex;flex-direction:column;min-height:100vh}
body:has(> .site-footer)>main{flex:1 0 auto;width:100%;min-width:0}
body>.site-footer{position:relative;display:grid;grid-template-columns:minmax(90px,1fr) minmax(0,max-content) minmax(90px,1fr);align-items:center;gap:13px;flex-shrink:0;margin:32px 32px 0;padding:22px 12px 28px;border-top:1px solid var(--line,#dedbd3);color:var(--dim,#74766c);font:500 13px/1.5 var(--display,"Creos Display",sans-serif);letter-spacing:.01em;text-transform:none}
.site-footer-divider{opacity:.5}
.site-footer a{display:inline-block;padding:6px 0;color:inherit;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:5px;transition:color .15s}
.site-footer a:hover,.site-footer a[aria-current="page"]{color:var(--cyan,#3266cc)}
.site-footer a:focus-visible{outline:2px solid var(--cyan,#3266cc);outline-offset:5px;border-radius:2px}
@media(max-width:640px){body>.site-footer{margin:24px 16px 0;padding:18px 8px 22px;gap:11px}}
.site-footer-center{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:13px;min-width:0}
.site-footer-links,.site-footer-message{display:inline-flex;align-items:center;gap:13px;max-width:100%}
.site-footer-links{flex-shrink:0}
.site-footer-tagline{font:inherit;letter-spacing:inherit;text-align:center}
.site-footer .site-footer-like{display:flex;flex:0 0 28px;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:28px;min-height:40px;padding:2px 0;border:0;border-radius:4px;background:transparent;color:#3266cc;box-shadow:none;cursor:pointer;touch-action:manipulation}
.site-footer-like svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;overflow:visible;transition:transform .12s,fill .12s}
.site-footer-like:hover svg{fill:#dce8ff}
.site-footer-like[data-liked] svg{fill:currentColor}
.site-footer-like:active svg{transform:scale(.86)}
.site-footer-like:focus-visible{outline:2px solid #3266cc;outline-offset:3px}
.site-footer-like-count{display:block;box-sizing:border-box;width:28px;padding:1px 0;border:1px solid var(--line,#dedbd3);border-radius:3px;background:var(--panel2,#eeebe3);color:var(--paper,#292b27);font:700 10px/1.2 var(--mono,"Creos Mono",monospace);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;letter-spacing:-.03em}
.site-footer-online{grid-column:3;justify-self:end;display:inline-flex;align-items:center;gap:8px;color:var(--cyan,#3266cc);font:inherit;font-variant-numeric:tabular-nums;white-space:nowrap}
.site-footer-online-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor;animation:site-footer-online-pulse 1.8s ease-in-out infinite}
.site-footer-online [data-footer-online]{display:inline-block;min-width:2ch;text-align:right}
@keyframes site-footer-online-pulse{0%,100%{opacity:.42}50%{opacity:1}}
.site-footer-feedback{grid-column:1/-1;font:inherit;text-align:center;color:var(--paper,#292b27)}
.site-footer-feedback[hidden]{display:none}
@media(max-width:800px){body>.site-footer{grid-template-columns:minmax(0,1fr)}.site-footer-center,.site-footer-online{grid-column:1}}
@media(max-width:640px){.site-footer-center,.site-footer-links,.site-footer-message{gap:10px}}
@media(prefers-reduced-motion:reduce){.site-footer-like svg{transition:none}.site-footer-online-dot{animation:none}}
