.stones-stage{--stones-accent:#ffaa5c;--stones-ink:#1b1726;--stones-cream:#fff8ee;-webkit-user-select:none;user-select:none;touch-action:manipulation;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:480px;margin:0 auto;display:flex}.stones-river-bed{border:3px solid var(--stones-ink);width:100%;box-shadow:4px 4px 0 var(--stones-ink);background:linear-gradient(#bde7ff 0%,#8ed5fb 50%,#bde7ff 100%);border-radius:24px;padding:24px 8px;position:relative;overflow:hidden}.stones-water-ripple{opacity:.35;pointer-events:none;background-image:radial-gradient(#fff 15%,#0000 16%);background-size:20px 20px;position:absolute;inset:0}.stones-row{z-index:2;justify-content:space-between;align-items:center;gap:2px;display:flex;position:relative}.stone-item{background:var(--stones-cream);border:3px solid var(--stones-ink);width:46px;height:64px;box-shadow:2px 3px 0 var(--stones-ink);cursor:pointer;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;min-width:44px;min-height:44px;transition:transform .15s,background-color .15s,border-color .15s;display:flex}.stone-item.selected{background:#ffe485;border-color:#ff5a36;transform:translateY(-6px)}.stone-item.sorted{background:#c6f432}.stone-num{color:var(--stones-ink);font-size:22px;font-weight:900;line-height:1}.stone-pips{gap:2px;margin-top:4px;display:flex}.stone-pip{background:var(--stones-ink);border-radius:50%;width:4px;height:4px}.swap-gap-btn{border:2px solid var(--stones-ink);width:28px;height:44px;color:var(--stones-ink);box-shadow:1px 2px 0 var(--stones-ink);cursor:pointer;touch-action:manipulation;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:14px;font-weight:900;transition:transform .1s,background-color .1s;display:flex}.swap-gap-btn:hover{background:#ffaa5c}.swap-gap-btn:active{box-shadow:none;transform:translate(1px,2px)}.swap-gap-btn:disabled{opacity:.4;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.stone-item,.swap-gap-btn{transition:none!important}.stone-item.selected{transform:none}}@media (max-width:480px){.stones-river-bed{padding:16px 4px}.stones-row{gap:0}.stone-item{border-radius:16px;width:42px;height:58px}.stone-num{font-size:19px}.swap-gap-btn{z-index:3;width:26px;height:40px;margin:0 -8px;font-size:11px;position:relative}}@media (max-width:340px){.stone-item{width:36px;height:54px}.stone-num{font-size:17px}}
