latin: unistrokes circles matched separately
[sheet.git] / word / memory.plp
index 26a7cd4e04330feae707c0b84b53b5e5c0032e2d..65184d83131dc09e00a178c17b22649e6b576672 100644 (file)
@@ -11,25 +11,17 @@ Html({
 /* cards */
 #quiz {
        display: grid;
-       grid: repeat(3, 1fr) / repeat(4, 1fr);
+       grid: auto / repeat(6, 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;
        perspective: 100em;
-       position: relative;
 }
 figure:not(.turn):hover {
        cursor: pointer;
@@ -41,9 +33,12 @@ figure, img {
 /* card faces */
 figure img {
        backface-visibility: hidden;
+       -webkit-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 */
+       height: 100%;
+       object-fit: contain; /* center */
 }
 figure.mirror img {
        transform: rotateY(180deg) scaleX(-1);
@@ -64,13 +59,15 @@ figure.good {
 }
 
 .good figure {
-       animation: celebration 5s linear infinite;
+       animation: celebration 7s linear infinite;
        background: none;
        border: 0;
+       opacity: 1;
 }
 @keyframes celebration {
        0% { filter: hue-rotate(0deg); transform: rotate(0deg) }
-       50% { filter: hue-rotate(180deg); transform: rotate(180deg) }
+       33% { filter: hue-rotate(180deg); transform: rotate(180deg) }
+       66% { filter: hue-rotate(360deg); transform: rotate(360deg) }
        100% { filter: hue-rotate(360deg); transform: rotate(360deg) }
 }
 </style>