/* Links remain an ordinary footer before the game is mounted. */
.pong-player a{color:var(--muted)}
.pong-social-links{display:flex;gap:22px}
.pong-mood{display:none}
.site-footer.pong-ready{position:relative;display:block;height:190px;padding:0;isolation:isolate;overflow:visible}
.pong-ready .pong-player{position:absolute;top:0;left:0;max-width:210px;line-height:1.6;will-change:transform}
.pong-ready .pong-player>a{display:block;padding:8px 0;overflow-wrap:anywhere}
.pong-ready .pong-legal{text-align:right;max-width:150px}
.pong-ready .footer-social{position:absolute;left:0;top:0;gap:4px;background:var(--bg);border-left:2px solid var(--line);padding:3px 7px 3px 0;touch-action:none;will-change:transform}
.pong-ready .pong-social-links{display:flex;flex-direction:column;gap:0;line-height:1.5}
.pong-ready .pong-social-links a{display:flex;align-items:center;min-height:27px;padding:0 3px}
.pong-grip{width:28px;min-height:48px;padding:0;color:var(--muted);cursor:grab;touch-action:none;font-size:18px}
.pong-grip:active,.footer-social[data-dragging]{cursor:grabbing}
.footer-social[data-dragging]{border-color:var(--accent)}
.pong-scoreboard{position:absolute;top:9px;left:50%;transform:translateX(-50%);display:flex;gap:14px;font:17px var(--pixel);color:var(--muted);pointer-events:none}
.pong-return{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);min-height:34px;white-space:nowrap;font-size:11px;color:var(--accent);text-decoration:underline;text-underline-offset:4px;touch-action:manipulation}
.pong-grip[aria-pressed=true]{color:var(--accent)}
.pong-ready[data-escaped] .pong-mood{display:block;position:absolute;left:0;top:100%;color:var(--muted);font-size:16px}
.pong-ready[data-escaped] .pong-legal .pong-mood{left:auto;right:0}
.pong-ball{position:absolute;left:0;top:0;width:28px;height:28px;padding:0;z-index:35;touch-action:none;cursor:grab;will-change:transform;border-radius:50%}
.pong-ball::before{content:'';position:absolute;width:7px;height:7px;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 30%,transparent)}
.pong-ball:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.pong-ball:active{cursor:grabbing}
.pong-ball:disabled{opacity:1;pointer-events:none}
:root[data-terminal-mode=on] .pong-ball{display:none}
@media(max-width:700px){
  .site-footer{font-size:11px;gap:14px;align-items:flex-start}
  .site-footer:not(.pong-ready) .pong-email{width:100%}
  .site-footer:not(.pong-ready) .pong-legal{margin-left:auto}
  .site-footer.pong-ready{height:clamp(410px,62svh,460px);margin-top:22px}
  .pong-ready .pong-player{width:150px;max-width:none;text-align:center}
  .pong-ready .pong-player>a{height:44px;min-height:44px;padding:13px 4px;white-space:nowrap;overflow-wrap:normal}
  .pong-ready .pong-player wbr{display:none}
  .pong-ready .pong-email{border-bottom:1px solid var(--line)}
  .pong-ready .pong-legal{border-top:1px solid var(--line)}
  .pong-ready .footer-social{padding:2px 4px 2px 0;gap:0}
  .pong-ready .pong-social-links a{min-height:44px}
  .pong-grip{width:44px;min-height:88px}
  .pong-ball{width:44px;height:44px}
  .pong-return{min-height:44px}
  .pong-ready[data-escaped] .pong-mood{left:0;right:0;text-align:center}
  .pong-ready[data-escaped] .pong-legal .pong-mood{top:auto;bottom:100%;left:0;right:0}
}
@media print{.pong-ball{display:none!important}}
