/* AI_TAG: FRONTEND_GRAPHICS | FruitPige visual theme and layout */
:root{
  --bg:#0a0f1a; --bg2:#101a2a; --hud:#0c1424cc; --txt:#e9f2ff;
  --accent:#9fd3ff; --accent2:#59ffa8; --warn:#ff6b88; --grid:#13223a;
}
*{box-sizing:border-box}
html,body,#app{height:100%;margin:0}
body{background:linear-gradient(180deg,var(--bg),var(--bg2));color:var(--txt);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica,Arial,sans-serif}
#app{position:relative;overflow:hidden;touch-action:pan-x}
#game{position:absolute;inset:0;width:100%;height:100%;display:block}
.hud{position:absolute;left:0;right:0;top:0;display:flex;gap:.75rem;align-items:center;justify-content:space-between;padding:calc(.4rem + env(safe-area-inset-top)) .75rem .5rem;background:linear-gradient(180deg,var(--hud),transparent);pointer-events:none}
.hud .left{display:flex;gap:1rem;align-items:baseline}
.hud .right{display:flex;gap:.5rem;pointer-events:auto}
.hud .score{font-weight:900;font-size:1.25rem;text-shadow:0 1px 0 #0006,0 0 12px #00a5}
.hud .best,.hud .chain{opacity:.9}
.hud button{appearance:none;border:none;border-radius:10px;padding:.4rem .6rem;background:#17263dcc;color:var(--txt);font-weight:700;cursor:pointer;box-shadow:0 2px 6px #0007;transition:transform .12s ease,background .2s}
.hud button:active{transform:translateY(1px)}
.overlay{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at center,#0b1220cc 0%,#0b1220b3 40%,#0b122080 70%,#0b122033 100%);backdrop-filter:blur(4px)}
.overlay.hidden{display:none}
.panel{background:#0f1a2ecc;border:1px solid #243a5b;border-radius:14px;box-shadow:0 10px 30px #0009, inset 0 1px 0 #ffffff0a;padding:1rem 1.25rem;max-width:560px;margin:1rem}
.panel.small{max-width:360px}
.panel h1.logo{margin:.2rem 0 0;font-size:2.2rem;letter-spacing:.5px;background:linear-gradient(90deg,#fff,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 6px #004)}
.panel button{appearance:none;border:none;border-radius:12px;padding:.6rem 1rem;font-weight:800;letter-spacing:.4px;background:linear-gradient(180deg,#2b4a76,#1d3353);color:var(--txt);box-shadow:0 6px 18px #0009, inset 0 1px 0 #ffffff1a;cursor:pointer}
.panel .tag{color:#c8e9ff}
.panel .howto{opacity:.9}
.danger-line{position:absolute;left:0;right:0;top:18%;height:0;border-top:2px dashed var(--warn);opacity:.8;pointer-events:none}
.drop-shadow{position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none}
.drop-shadow::after{content:"";position:absolute;left:var(--x,50%);top:calc(18% - 6px);width:18px;height:6px;border-radius:3px;background:#0009;transform:translateX(-50%);filter:blur(1px);}
/* fruit-ish glossy highlight used by canvas gradients */
