/* Glide — scoped styles (gl-*) */
.new-game[data-game=glide] .intro-art{background:#dcecf3}
.gl-layout{display:flex;flex-direction:column;align-items:center;gap:18px;margin:6px 0 4px}
.gl-board{position:relative;width:100%;max-width:400px;padding:7px;border-radius:16px;background:#cfe4ee;border:1px solid #9fc2d2;box-shadow:inset 0 2px 0 #ffffff80;touch-action:none;user-select:none;-webkit-user-select:none}
.gl-grid{position:relative;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));grid-template-rows:repeat(var(--n),minmax(0,1fr));aspect-ratio:1;border-radius:10px;overflow:hidden;background:linear-gradient(160deg,#eef7fb 0%,#e0eef5 55%,#e8f3f8 100%)}
.gl-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;box-shadow:inset 0 0 0 .5px #c3dce7}
.gl-cell.gl-start::before{content:'';position:absolute;inset:30%;border-radius:50%;border:1.5px dashed #8db8cb}
.gl-cell.gl-goal{background:#f6e3e8;box-shadow:inset 0 0 0 1.5px #d898a9}
.gl-flag{position:absolute;left:14%;top:14%;width:72%;height:72%;z-index:1}
.gl-stone{position:absolute;inset:9%;background:#c9cbc4;border:1.5px solid #6f7772;border-radius:46% 54% 42% 58%/55% 45% 55% 45%;box-shadow:inset -3px -3px 0 #b3b6ae,inset 2px 2px 0 #dcded7}
.gl-stone[data-v="1"]{border-radius:58% 42% 52% 48%/45% 58% 42% 55%;inset:11% 8% 8% 11%}
.gl-stone[data-v="2"]{border-radius:50% 50% 40% 60%/60% 40% 60% 40%;inset:8% 11% 11% 8%}
.gl-trail{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.gl-puck{position:absolute;left:0;top:0;width:calc(100% / var(--n));height:calc(100% / var(--n));display:grid;place-items:center;transition-property:transform;transition-timing-function:cubic-bezier(.2,.75,.3,1);pointer-events:none;z-index:2}
.gl-puck-disc{width:68%;height:68%;border-radius:50%;background:#252b28;border:2px solid #252b28;box-shadow:inset 0 0 0 3px #3d4742,0 3px 0 #1d6a8a33;position:relative}
.gl-puck-disc::after{content:'';position:absolute;inset:32%;border-radius:50%;background:#fffefa}
.gl-bump-up{animation:gl-bump-up .22s ease}.gl-bump-down{animation:gl-bump-down .22s ease}.gl-bump-left{animation:gl-bump-left .22s ease}.gl-bump-right{animation:gl-bump-right .22s ease}
@keyframes gl-bump-up{40%{transform:translateY(-10%)}}@keyframes gl-bump-down{40%{transform:translateY(10%)}}@keyframes gl-bump-left{40%{transform:translateX(-10%)}}@keyframes gl-bump-right{40%{transform:translateX(10%)}}
.gl-controls{display:flex;flex-direction:column;align-items:center;gap:6px}
.gl-pad{display:grid;grid-template-columns:repeat(3,54px);grid-template-rows:repeat(3,54px);grid-template-areas:". up ." "left . right" ". down .";gap:6px}
.gl-dir{display:grid;place-items:center;padding:0;border:1px solid #9fc2d2;border-radius:12px;background:#e6f1f6;color:#2c5e75;box-shadow:0 2px 0 #9fc2d266;transition:transform .1s,background .15s}
.gl-dir svg{width:26px;height:26px}
.gl-dir:hover{background:#d6e9f2}.gl-dir:active{transform:translateY(1px);box-shadow:none}
.gl-up{grid-area:up}.gl-down{grid-area:down}.gl-left{grid-area:left}.gl-right{grid-area:right}
.new-game .gl-actions{margin-top:8px}
.gl-stars{font-size:22px;letter-spacing:4px;color:#b8892a}
.new-game .result-board .gl-board{max-width:230px;margin:0 auto;padding:5px;border-radius:12px}
.gl-small .gl-trail polyline{stroke-width:.14;stroke-dasharray:none;opacity:.8}
@media(min-width:700px){.gl-layout{flex-direction:row;justify-content:center;align-items:center;gap:28px}.gl-board{flex:0 1 400px}.gl-controls{flex:0 0 auto}}
@media(max-width:699px){.gl-pad{grid-template-columns:repeat(4,58px);grid-template-rows:50px;grid-template-areas:"left up down right";gap:8px}.new-game .gl-actions{margin-top:6px}}
@media(max-width:360px){.gl-pad{grid-template-columns:repeat(4,52px);gap:6px}.gl-board{padding:5px}}
@media(prefers-reduced-motion:reduce){.gl-puck{transition:none!important}.gl-puck-disc{animation:none!important}}
.new-game[data-game=glide] .game-intro>p.board-note{font-size:12px;margin:16px auto 0}
