.gm{--gm-board: color-mix(in srgb, var(--sky) 40%, #0f1d2b);--gm-board-2: color-mix(in srgb, var(--sky) 30%, #0b1620);--gm-line: rgba(255, 255, 255, .3);--gm-star: rgba(255, 255, 255, .62);--gm-w: min(100%, 600px, calc(var(--tg-stage-h) - 56px));width:var(--gm-w);margin:0 auto;user-select:none;-webkit-user-select:none}:root[data-palette=colorblind] .gm{--gm-board: color-mix(in srgb, var(--ink-2) 30%, #1c1916);--gm-board-2: color-mix(in srgb, var(--ink-2) 22%, #151210)}.gm-board{position:relative;width:100%;aspect-ratio:1;border-radius:10px;padding:2.2%;background:radial-gradient(120% 90% at 30% 20%,var(--gm-board),var(--gm-board-2));box-shadow:0 7px 0 -3px color-mix(in srgb,var(--gm-board-2) 80%,black),var(--shadow)}.gm-inner{position:relative;width:100%;height:100%}.gm-grid{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}.gm-grid line{stroke:var(--gm-line);stroke-width:.55;shape-rendering:crispEdges}.gm-star{fill:var(--gm-star)}.gm-stones,.gm-marks{position:absolute;inset:0;pointer-events:none}.gm-stone,.gm-hint,.gm-last{position:absolute;width:calc(100% / 15);height:calc(100% / 15);display:grid;place-items:center;pointer-events:none}.gm-stone:before{content:"";width:88%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 34% 28%,color-mix(in srgb,var(--tg-c) 40%,white) 0 10%,transparent 34%),radial-gradient(circle,var(--tg-c) 0 55%,color-mix(in srgb,var(--tg-c) 74%,black) 100%);box-shadow:0 1px 2px #00000073,inset 0 -2px #0000002e}.gm-stone:after{content:"";position:absolute;border-radius:50%}.gm-stone[data-p="0"]:after{width:26%;aspect-ratio:1;background:color-mix(in srgb,var(--tg-c) 60%,black);opacity:.42}.gm-stone[data-p="1"]:after{width:52%;aspect-ratio:1;border:2px solid color-mix(in srgb,var(--tg-c) 58%,black);opacity:.42}.gm-stone.is-new{animation:gm-drop calc(.2s * var(--motion)) cubic-bezier(.2,.8,.3,1.3) both}@keyframes gm-drop{0%{transform:scale(1.5);opacity:0}to{transform:none;opacity:1}}.gm-stone.is-win:before{box-shadow:0 0 0 2px var(--cell),0 0 12px 2px var(--tg-c);animation:gm-win calc(.8s * var(--motion)) ease-in-out infinite alternate}@keyframes gm-win{to{transform:scale(.86)}}.gm-winline{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.gm-winline line{stroke:var(--cell);stroke-width:1.6;stroke-linecap:round;opacity:.9;filter:drop-shadow(0 0 1px rgba(0,0,0,.6))}.gm.is-over .gm-stones .gm-stone:not(.is-win){opacity:.8}.gm-last:before{content:"";width:22%;aspect-ratio:1;border-radius:50%;background:var(--cell);box-shadow:0 0 0 1.5px #00000073}.gm-hint:before{content:"";width:96%;aspect-ratio:1;border-radius:50%;border:2.5px dashed var(--sun);box-shadow:0 0 10px var(--sun);animation:gm-win calc(.7s * var(--motion)) ease-in-out infinite alternate}.gm-ghost{opacity:0;z-index:2;transition:opacity calc(.1s * var(--motion))}.gm-ghost.is-on{opacity:.72}.gm-ghost:before{box-shadow:0 0 0 2px var(--cell),0 3px 8px #0006}.gm-cross{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:1}.gm-cross.is-on{opacity:1}.gm-cross i{position:absolute;background:color-mix(in srgb,var(--sun) 70%,transparent)}.gm-cross-h{left:0;right:0;height:2px;top:calc(var(--y, 7.5) * 100% / 15 - 1px)}.gm-cross-v{top:0;bottom:0;width:2px;left:calc(var(--x, 7.5) * 100% / 15 - 1px)}.gm-pts{position:absolute;inset:0;display:grid;grid-template-columns:repeat(15,minmax(0,1fr));grid-template-rows:repeat(15,minmax(0,1fr));touch-action:none;z-index:3}.gm-pt{min-width:0;border:0;padding:0;margin:0;background:transparent;border-radius:50%;-webkit-tap-highlight-color:transparent}.gm.is-live .gm-pt{cursor:pointer}.gm-pt:focus-visible{outline:2px solid var(--sun);outline-offset:-1px}.gm-pt.is-shake{animation:gm-shake calc(.3s * var(--motion)) ease-in-out}@keyframes gm-shake{25%{box-shadow:inset 3px 0 0 var(--coral)}75%{box-shadow:inset -3px 0 0 var(--coral)}}.gm-confirm{display:flex;align-items:center;gap:10px;min-height:48px;margin-top:8px}.gm-aim-text{flex:1 1 auto;min-width:0;color:var(--ink-2);font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gm-place{flex:none;min-width:120px;min-height:48px;font-size:1.05rem}.gm-place:disabled{opacity:.45}.gm:not(.is-live) .gm-confirm{visibility:hidden}@media(pointer:fine)and (min-width:700px){.gm{--gm-w: min(100%, 600px, calc(var(--tg-stage-h) - 4px))}.gm-confirm{display:none}}:root[data-text-size=large] .gm-aim-text{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}
