body { background-image: url("electro/bg.jpg"); background-size: cover; } .card { background-color: rgba(37, 41, 45, 30%); } .mino:not(.ghost):not(.locking) { padding: 1px; position: relative; z-index: 0; box-shadow: -1px -1px 4px rgba(128, 128, 128, 25%), -1px 1px 4px rgba(128, 128, 128, 25%), 1px -1px 4px rgba(128, 128, 128, 25%), 1px 1px 4px rgba(128, 128, 128, 25%); } .mino:not(.ghost):not(.locking):before { content: ""; position: absolute; z-index: -1; inset: 0; margin: 1px; padding: 2px; border-radius: 4px; --glint-x: calc(50% + 50% * (var(--piece-column) - var(--column))/10); --glint-y: calc(50% + 50% * (var(--piece-row) - var(--row))/25); background: radial-gradient( at var(--glint-x) var(--glint-y), rgba(204, 238, 247, 0.9) 0%, rgba(10, 159, 218, 0.9) 150%); mask: linear-gradient(#666 0 0) content-box, linear-gradient(#fff 0 0); mask-mode: luminance; mask-composite: intersect; } .ghost.mino { background: transparent; border: 2px solid rgba(255, 255, 255, 0.3); border-radius: 3px; box-shadow: -1px -1px 8px rgba(242, 255, 255, 32%), -1px 1px 8px rgba(242, 255, 255, 32%), 1px -1px 8px rgba(242, 255, 255, 32%), 1px 1px 8px rgba(242, 255, 255, 32%); } .moving.mino { border-width: 1px; background: rgba(186, 211, 255, 30%); border-color: rgba(242, 255, 255, 0.7); } .locking.mino { border-width: 3px; background: rgba(186, 211, 255, 70%); border-color: rgba(242, 255, 255, 0.7); border-radius: 4px; box-shadow: -1px -1px 8px rgba(186, 211, 255, 27%), -1px 1px 8px rgba(186, 211, 255, 27%), 1px -1px 8px rgba(186, 211, 255, 27%), 1px 1px 8px rgba(186, 211, 255, 27%); } @keyframes locked-animation { from { opacity: 1; background: white; border-color: white; } } .locked.mino { animation: locked-animation; animation-duration: 0.2s; }