+.card {
+ display: block;
+ position: relative;
+ width: 20em;
+ height: 27.1875em;
+ font-size: 88.275%;
+ margin: 0.5em auto;
+ z-index: 1;
+}
+
+
+.card:after {
+ content: '';
+ display: block;
+ position:absolute;
+ width:100%;
+ height:100%;
+ left:0;
+ top:0;
+ background-image: url(card.png);
+ background-size: cover;
+ z-index: -1;
+}
+
+.card .art {
+ position: absolute;
+ z-index: -1;
+ left: 9.5%;
+ right: 9.5%;
+ width: 81%;
+ height: auto;
+ top: 7.1%;
+}
+
+.card.adventurer .name, .card.adventurer .type {
+ background-color: #4ba12f;
+}
+
+.card.object .name, .card.object .type {
+ background-color: #cdab4c;
+}
+
+.card .name {
+ position: absolute;
+ color: white;
+ text-align: center;
+ width: 77%;
+ border: solid white 0.1em;
+ border-radius: 0.4em;
+ line-height: 1.6em;
+ height: 5.5%;
+ font-size: 0.85em;
+ left: 11.5%;
+ right: 11.5%;
+ top: 3.5%;
+ box-sizing: border-box;
+ text-shadow: -1px -1px rgba(0, 0, 0, 0.75),
+ 1px -1px rgba(0, 0, 0, 0.75),
+ -1px 1px rgba(0, 0, 0, 0.75),
+ 1px 1px rgba(0, 0, 0, 0.75),
+ 1px 0 black,
+ -1px 0 black,
+ 0 1px black,
+ 0 -1px black;
+}
+
+.card .type {
+ color: black;
+ letter-spacing: 0.05em;
+ font-weight: bold;
+ text-shadow: -0.707px -0.707px rgba(255, 255, 255, 0.75),
+ 0.707px -0.707px rgba(255, 255, 255, 0.75),
+ -0.707px 0.707px rgba(255, 255, 255, 0.75),
+ 0.707px 0.707px rgba(255, 255, 255, 0.75),
+ 1px 0 white,
+ -1px 0 white,
+ 0 1px white,
+ 0 -1px white;
+ text-align: left;
+ margin: auto;
+ position: absolute;
+ height: 2.55%;
+ width: 84%;
+ left: 8%;
+ top: 52.3333%;
+ box-sizing: border-box;
+ padding-left: 0.6667em;
+ font-size: 0.575em;
+ line-height: 1.25em;
+ box-shadow: inset 0 0 0.25em black;
+}
+
+.card .gender {
+ position: absolute;
+ height: 9%;
+ top: 47.5%;
+ right: 8.5%;
+}
+
+.card .gender img {
+ float: right;
+ height: 100%;
+}
+
+.card .abilities {
+ text-align: left;
+ position: absolute;
+ top: 57%;
+ bottom: 8%;
+ left: 10%;
+ right: 10%;
+ font-size: 0.8em;
+ line-height: 1.05em;
+ padding-left: 1em;
+}
+
+.card .cost span {
+ position: relative;
+ content: ' ';
+ width: 1.5em;
+ height: 1.5em;
+ border-radius: 1.5em;
+ border: solid black 0.75em;
+ display: inline-block;
+ box-sizing: border-box;
+ margin: 0.5em 0.05em;
+ box-shadow: 0 0 0.05em 0.05em black;
+}
+
+.card .cost span:before {
+ position: absolute;
+ text-align: center;
+ left: -0.75em;
+ top: -0.75em;
+ color: black;
+ line-height: 1.333em;
+ opacity: 0.5;
+ width: 1.5em;
+ height: 1.5em;
+}
+
+
+.card .cost .r:before { content: 'r'; }
+.card .cost .g:before { content: 'g'; }
+
+.card .cost .r {
+ background-color: #e4573c;
+ border-color: #e4573c;
+}
+.card .cost .g {
+ background-color: #abbc45;
+ border-color: #abbc45;
+}
+
+.card .abilities .skill:before {
+ content: "Skill: ";
+ font-weight: bold;
+ margin-left: -1em;
+}
+
+.card .abilities .temporary:before {
+ content: "Temporary power: ";
+ font-weight: bold;
+ margin-left: -1em;
+}
+
+.card .abilities .ultimate:before {
+ content: "Ultimate power: ";
+ font-weight: bold;
+ margin-left: -1em;
+}
+
+.card .effect {
+ text-align: center;
+ position: absolute;
+ top: 59%;
+ bottom: 8%;
+ left: 15%;
+ width: 70%;
+ font-size: 0.8em;
+ line-height: 1.05em;
+}
+
+.card .flavor:before { content: "«"; }
+.card .flavor:after { content: "»"; }
+.card .flavor {
+ position: absolute;
+ bottom: 9%;
+ width: 80%;
+ left: 10%;
+ font-style: italic;
+ color: black;
+ font-size: 0.6em;
+}
+
+.card .code {
+ position: absolute;
+ color: white;
+ bottom: 3.5%;
+ right: 12%;
+ font-size: 0.65em;
+ text-shadow: -0.0433em -0.0433em black,
+ 0.0433em -0.0433em black,
+ -0.0433em 0.0433em black,
+ 0.0433em 0.0433em black,
+ 0.06667em 0 black,
+ -0.06667em 0 black,
+ 0 0.06667em black,
+ 0 -0.06667em black;
+}
+