word/memory: fullscreen grid of 4x3 or 2x6 cards
[sheet.git] / word / memory.plp
index 8847713d0bfbcbb44a3388f30ca12002a317efc7..8aa952cbe24958d91725be8a2d952896f949e3d6 100644 (file)
@@ -6,13 +6,26 @@ Html({
 <script src="/word/memory.js"></script>
 <style>
 /* cards */
+#quiz {
+       display: grid;
+       grid: repeat(3, 1fr) / repeat(4, 1fr);
+       grid-gap: 1ex;
+       min-height: calc(100vh - 11.5ex);
+}
+@media (orientation: portrait) {
+       #quiz {
+               grid: repeat(6, 1fr) / repeat(2, 1fr);
+       }
+}
+html {
+       overflow: hidden; /* rotation overflow on celebration */
+}
+
 figure {
        display: inline-block;
        background: #224;
        border: 1px solid #888;
-       margin: 2px;
        perspective: 100em;
-       height: 300px;
        position: relative;
 }
 figure:not(.turn):hover {
@@ -29,7 +42,7 @@ figure img {
        backface-visibility: hidden;
        transform: rotateY(180deg); /* back */
        transform-style: preserve-3d;
-       float: left; /* ff workaround to prevent click selection */
+       -float: left; /* ff workaround to prevent click selection */
 }
 
 /* turn results */
@@ -42,6 +55,17 @@ figure.bad img {
 figure.good {
        opacity: .8;
 }
+
+.good figure {
+       animation: celebration 5s linear infinite;
+       background: none;
+       border: 0;
+}
+@keyframes celebration {
+       0% { filter: hue-rotate(0deg); transform: rotate(0deg) }
+       50% { filter: hue-rotate(180deg); transform: rotate(180deg) }
+       100% { filter: hue-rotate(360deg); transform: rotate(360deg) }
+}
 </style>
 EOT
 });