.gs-root{width:100%;scroll-margin-top:88px}.gs-wrap{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.gs-goals{flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.gs-goal{background:var(--white);border:var(--edge);box-shadow:var(--hard-sm);border-radius:999px;align-items:center;gap:6px;padding:4px 12px 4px 6px;transition:background .2s;display:inline-flex}.gs-goal-icon{width:30px;height:30px;display:block}.gs-goal-icon .gs-art{width:100%;height:100%}.gs-goal-n{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em;min-width:1.2ch;font-size:20px;font-weight:800;line-height:1;display:inline-flex}.gs-goal.is-done{background:var(--mint)}.gs-goal.is-done .gs-goal-n{color:var(--ink);animation:gs-made .32s var(--ease-spring)}.gs-low{color:var(--bad)}.gs-board{background:var(--white);border:3px solid var(--ink);width:min(100%,540px,max(320px,100dvh - 250px));box-shadow:var(--hard);border-radius:20px;padding:6px;position:relative}.gs-field{aspect-ratio:1;touch-action:none;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:12px;outline:none;width:100%;position:relative;overflow:hidden}.gs-field:focus-visible{box-shadow:0 0 0 3px var(--white), 0 0 0 6px var(--ink)}.gs-board.is-done .gs-field{cursor:default}.gs-cells{grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);display:grid;position:absolute;inset:0}.gs-cell{background:var(--cream);transition:background .2s;position:relative}.gs-cell.is-alt{background:#fff8e3}.gs-cell.is-jelly:before,.gs-cell.is-jelly2:before{content:"";border:2px solid color-mix(in srgb, var(--pink) 70%, var(--ink));background:#ffc6e3;border-radius:9px;position:absolute;inset:3px}.gs-cell.is-jelly2:before{background:var(--pink);border:2.5px solid var(--ink)}.gs-cell.is-sel:after,.gs-cell.is-cursor:after{content:"";background:var(--sun);border:3px solid var(--ink);border-radius:10px;position:absolute;inset:2px}.gs-cell.is-cursor:not(.is-sel):after{background:0 0;border-style:dashed}.gs-pieces,.gs-fx{pointer-events:none;position:absolute;inset:0}.gs-piece{width:12.5%;height:12.5%;transform:translate(calc(var(--c) * 100%), calc(var(--r) * 100%));transform-origin:50% 85%;transition:transform .19s var(--ease-spring), scale .16s var(--ease-spring);position:absolute;top:0;left:0}.gs-art{width:100%;height:100%;display:block;overflow:visible}.gs-piece>.gs-art{width:84%;height:84%;margin:8%}.gs-piece.gs-crate>.gs-art{width:94%;height:94%;margin:3%}.gs-piece.is-sel{scale:1.12}.gs-piece.is-drop{animation:gs-drop calc(.14s + var(--drop) * 40ms) cubic-bezier(.45, 0, .7, 1) backwards, gs-land .2s var(--ease-out) calc(.14s + var(--drop) * 40ms)}@keyframes gs-drop{0%{translate:0 calc(var(--drop) * -100%)}}@keyframes gs-land{40%{scale:1.1 .86}}.gs-piece.is-made{animation:gs-made .36s var(--ease-spring)}@keyframes gs-made{0%{rotate:-40deg;scale:.2}}.gs-piece.is-hit{animation:.26s ease-in-out gs-hit}@keyframes gs-hit{25%{rotate:-8deg;scale:.92}60%{rotate:6deg}}.gs-piece.is-hint{animation:.8s ease-in-out infinite gs-hint}@keyframes gs-hint{50%{rotate:8deg;scale:1.16}}.gs-piece.is-nope{animation:.22s ease-in-out gs-nope}@keyframes gs-nope{30%{rotate:-10deg}70%{rotate:8deg}}.gs-ghost{animation:gs-pop .24s var(--ease-out) forwards}@keyframes gs-pop{0%{opacity:1;scale:1}30%{opacity:1;scale:1.25 .8}to{opacity:0;scale:0}}.gs-ghost.is-collect{animation:gs-collect .46s var(--ease-out) forwards}@keyframes gs-collect{0%{opacity:1;translate:0}40%{opacity:1;translate:0 -30%;scale:1.2}to{opacity:0;translate:0 60%;scale:.7}}.gs-board.is-shuffling .gs-piece{animation:gs-shuffle .42s var(--ease-spring)}@keyframes gs-shuffle{40%{rotate:180deg;scale:.55}}.gs-piece.is-color .gs-art{animation:3.2s linear infinite gs-spin}@keyframes gs-spin{to{rotate:360deg}}.gs-flash{background:var(--sun);border:3px solid var(--ink);opacity:0;animation:gs-flash .48s var(--ease-out) forwards;border-radius:12px;position:absolute}.gs-flash.is-row{animation-name:gs-flash-row}.gs-flash.is-col{animation-name:gs-flash-col}.gs-flash.is-bomb{border-radius:24%}.gs-flash.is-color{background:var(--white);border-radius:50%}.gs-flash.is-all{border-radius:12px}@keyframes gs-flash{0%{opacity:.9;scale:.4}45%{opacity:.85;scale:1.05}to{opacity:0;scale:1.1}}@keyframes gs-flash-row{0%{opacity:.9;scale:0 .7}40%{opacity:.85;scale:1}to{opacity:0;scale:1 .4}}@keyframes gs-flash-col{0%{opacity:.9;scale:.7 0}40%{opacity:.85;scale:1}to{opacity:0;scale:.4 1}}.gs-bit{border:2px solid var(--ink);border-radius:2px;width:10px;height:10px;margin:-5px;animation:.72s cubic-bezier(.2,.7,.4,1) forwards gs-bit;position:absolute}.gs-bit.is-round{border-radius:50%}@keyframes gs-bit{0%{opacity:1;transform:translate(0)rotate(0)}55%{transform:translate(var(--dx), var(--dy)) rotate(calc(var(--rot) * .6));opacity:1}to{transform:translate(calc(var(--dx) * 1.2), calc(var(--dy) + 70px)) rotate(var(--rot));opacity:0}}.gs-callout{z-index:5;background:var(--sun);border:3px solid var(--ink);box-shadow:var(--hard);font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);white-space:nowrap;pointer-events:none;animation:gs-callout .95s var(--ease-spring) forwards;border-radius:18px;padding:4px 18px 8px;font-size:clamp(30px,8vw,50px);font-weight:800;line-height:1;position:absolute;top:42%;left:50%;translate:-50% -50%;rotate:-5deg}@keyframes gs-callout{0%{opacity:0;scale:.3}18%{opacity:1;scale:1.1}30%{scale:1}75%{opacity:1;translate:-50% -50%}to{opacity:0;translate:-50% -110%}}.gs-combo{z-index:4;background:var(--white);border:2.5px solid var(--ink);box-shadow:var(--hard-sm);font-family:var(--font-display);font-variant-numeric:tabular-nums;animation:gs-made .28s var(--ease-spring);pointer-events:none;border-radius:999px;padding:2px 10px 3px;font-size:16px;font-weight:800;position:absolute;top:8px;left:8px}.gs-overlay{z-index:10;pointer-events:none;place-items:center;padding:12px;display:grid;position:absolute;inset:0}.gs-card{pointer-events:auto;border-radius:var(--r-lg);border:3px solid var(--ink);background:var(--white);width:min(320px,100%);box-shadow:var(--hard-lg);animation:gs-card .36s var(--ease-spring);flex-direction:column;align-items:flex-start;gap:8px;padding:18px 20px;display:flex}@keyframes gs-card{0%{opacity:0;transform:translateY(16px)scale(.92)rotate(-2deg)}}.gs-card-kicker{border:2px solid var(--ink);background:var(--game);border-radius:999px;margin:0;padding:2px 10px 3px;font-size:13px;font-weight:800}.gs-card-title{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:30px;font-weight:800;line-height:1}.gs-card-actions{flex-wrap:wrap;justify-content:flex-end;align-self:stretch;gap:8px;margin-top:6px;display:flex}.gs-foot{flex-wrap:wrap;justify-content:center;gap:6px 18px;display:inline-flex}.gs-touch{display:none}@media (hover:none) and (pointer:coarse){.gs-keys{display:none}.gs-touch{display:inline}}.gs-stars{vertical-align:-2px;align-items:center;gap:2px;display:inline-flex}.gs-stars svg{display:block;overflow:visible}.gs-stars path{fill:var(--cream);stroke:var(--ink);stroke-width:1.8px;stroke-linejoin:round}.gs-stars svg.is-on path{fill:var(--sun)}.gs-win-stars{flex-direction:column;align-items:center;gap:6px;display:flex}.gs-win-stars .gs-stars{gap:6px}.gs-win-stars .gs-stars svg{animation:gs-star .42s var(--ease-spring) backwards}.gs-win-stars .gs-stars svg:nth-child(2){animation-delay:.11s}.gs-win-stars .gs-stars svg:nth-child(3){animation-delay:.22s}.gs-win-stars p{color:var(--ink-2);text-align:center;margin:0;font-size:14px;font-weight:700}@keyframes gs-star{0%{opacity:0;transform:scale(.2)rotate(-40deg)}}.gs-card>.gs-stars{gap:5px}.gs-levels{flex-direction:column;gap:22px;width:100%;display:flex}.gs-tier-h{font-family:var(--font-display);letter-spacing:-.02em;align-items:baseline;gap:10px;margin:0 0 12px;font-size:22px;font-weight:800;display:flex}.gs-tier-h span{font-family:var(--font-body);letter-spacing:0;color:var(--ink-3);font-size:13px;font-weight:700}.gs-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:14px 12px;margin:0;padding:0 4px 4px 0;list-style:none;display:grid}.gs-grid li{display:flex}.gs-lvl{--lvl-face:var(--white);border:2.5px solid var(--ink);background:var(--lvl-face);min-height:108px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;box-shadow:var(--hard);transition:transform .15s var(--ease-spring), box-shadow .15s var(--ease-spring);border-radius:16px;flex-direction:column;flex:1;align-items:flex-start;gap:4px;margin:0;padding:9px 10px;display:flex;position:relative}@media (hover:hover){.gs-lvl:not(:disabled):hover{box-shadow:5px 6px 0 var(--ink);transform:translate(-1px,-2px)}}.gs-lvl:not(:disabled):active{box-shadow:0 0 0 var(--ink);transform:translate(3px,3px)}.gs-lvl:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.gs-lvl-num{font-family:var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:800;line-height:.95}.gs-lvl-goals{gap:3px;display:flex}.gs-lvl-goal{width:22px;height:22px;display:block}.gs-lvl-goal .gs-art{width:100%;height:100%}.gs-lvl-foot{flex-wrap:wrap;align-items:center;gap:3px 6px;min-height:20px;margin-top:auto;display:flex}.gs-lvl-meta{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.gs-lvl-tag{border:2px solid var(--ink);background:var(--white);border-radius:999px;padding:1px 8px 2px;font-size:11px;font-weight:800}.gs-lvl.is-done{--lvl-face:color-mix(in srgb, var(--game) 22%, var(--white))}.gs-lvl.is-next{--lvl-face:var(--sun)}.gs-lvl.is-locked{--lvl-face:var(--cream);cursor:not-allowed;color:var(--ink-3);box-shadow:var(--hard-sm)}.gs-lvl.is-locked .gs-lvl-num{color:color-mix(in srgb, var(--ink) 35%, var(--cream))}.gs-lvl.is-locked .gs-lvl-goals{opacity:.35}.gs-lock{display:block}.gs-lock path{stroke:var(--ink-3);stroke-width:2.4px;stroke-linecap:round}.gs-lock rect{fill:var(--white);stroke:var(--ink-3);stroke-width:2.2px}.gs-lock circle{fill:var(--ink-3)}.gs-star-key{flex-wrap:wrap;justify-content:center;gap:4px 16px;display:inline-flex}.gs-star-key>span{align-items:center;gap:6px;display:inline-flex}@media (width<=520px){.gs-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px 10px}.gs-lvl{min-height:96px;padding:7px 8px}.gs-lvl-num{font-size:26px}.gs-lvl-goal{width:19px;height:19px}.gs-goal{padding:3px 10px 3px 5px}.gs-goal-icon{width:26px;height:26px}.gs-goal-n{font-size:18px}}@media (prefers-reduced-motion:reduce){.gs-piece,.gs-piece .gs-art,.gs-lvl{transition:none;animation:none!important}}
