.instance.lobby { align-content: center; } .instance { overflow: hidden; display: grid; grid-template-rows: 7fr 12fr; grid-template-areas: "vbox" "constructs"; .constructs { grid-area: constructs; } } @keyframes action { 0% { color: palegoldenrod; } 100% { color: whitesmoke; } } /* CONSTRUCT LIST */ .instance-construct { flex: 1; display: grid; grid-template-columns: min-content 1fr; grid-template-rows: min-content min-content min-content 1fr min-content; grid-template-areas: "name name " "skills skills" "colours colours" "stats avatar" "defStats defStats"; /*padding: 0.5em;*/ border: 0.1em solid #222; border-left-width: 0; &:first-child { margin-left: 0; border-left-width: 1px; } } .construct-list { grid-area: constructs; display: flex; button { &.highlight { background: @silver; svg { stroke-width: 0.75em; } .white { stroke: black; } } } .name { grid-area: name; margin-bottom: 0.5em; text-align: center; } .skills { grid-area: skills; padding: 0 0.5em; margin-bottom: 0.75em; z-index: 2; display: grid; grid-gap: 0 0.5em; button { height: 3em; } label { display: flex; } } .colours { grid-area: colours; display: flex; flex-direction: row; text-align: center; justify-content: center; div { margin: 0.5em 0.75em; } } .offStats { grid-area: stats; display: flex; flex-flow: column; border-width: 0px; justify-content: center; // give speed some space div { margin: 0.5em 0.75em; display: flex; flex-flow: row; text-align: right; } } .defStats { grid-area: defStats; display: flex; flex-direction: row; text-align: center; justify-content: center; div { margin: 0.5em 0.75em; } } button { margin: 0; &.empty { border-style: dashed; } } } .label { flex: 1 0 100%; } .equipping, .receiving { animation: eq 0.75s cubic-bezier(0, 0, 1, 1) 0s infinite alternate; } @keyframes eq { from { background: @black; } to { background: @gray; } } .thresholds { display: flex; flex-flow: row; } .thresholds svg { stroke-width: 5px; } .thresholds hr { margin: 1em 0; } .spec-goal { margin-top: 0.5em; div { display: flex; margin: 0 1em 1em 0; } .bonus { justify-content: center; } } .thresholds figure svg { margin-right: 0.25em; height: 1.5em; } .thresholds .unmet { opacity: 0.5; } .faceoff { text-align: center; overflow: hidden; display: grid; grid-template-rows: 1fr 0.5fr 1fr; grid-template-areas: "opponent" "text" "player"; h1 { text-align: center; } button { grid-area: ready; justify-self: center; margin-top: 1em; } .winner { color: @yellow; font-weight: bold; } .team { display: grid; grid-template-columns: repeat(auto-fill, minmax(min-content, 33%)); max-height: 100%; } } .faceoff-text { grid-area: text; text-transform: uppercase; letter-spacing: 1em; font-weight: bold; display: flex; flex-flow: column; justify-content: center; color: @black; animation: faceoff 4s ease-in-out 0s 2 alternate; &.winner { animation: win 2s ease-in-out 0s 1; } .cancelled { color: white; } } .tutorial { button { width: 100%; } button.focus { animation: co 0.75s cubic-bezier(0, 0, 1, 1) 0s infinite alternate; } } @keyframes faceoff { from { color: @black; } to { color: @white; } } @keyframes win { from { color: @black; } to { color: @yellow; } }