X-Git-Url: https://git.yukkurigames.com/?p=heroik.git;a=blobdiff_plain;f=heroik.css;h=89678cd90999f96ffac38efc975250d4841b2bd0;hp=d1a9936406c83d6a0aa508db700c4b8bc5798a2a;hb=HEAD;hpb=dfd82511c678132f61cbcde90b4eaa226bc48297 diff --git a/heroik.css b/heroik.css index d1a9936..89678cd 100644 --- a/heroik.css +++ b/heroik.css @@ -66,10 +66,6 @@ html { height: 100%; } -@media (max-width: 639px) { - html { font-size: 14px; } -} - body { background-color: black; min-height: 100%; @@ -77,10 +73,6 @@ body { box-sizing: border-box; } -body.standalone { - padding-top: 20px; -} - main { background-color: white; max-width: 25.2em; @@ -91,8 +83,12 @@ main { box-sizing: border-box; } -body.standalone main { - padding-top: 0.5em; +body.standalone header + main { + padding-top: 5em; +} + +body.standalone header:empty + main { + padding-top: 2em; } table { @@ -176,6 +172,7 @@ h1 { border-bottom: solid hsl(270, 25%, 50%) 0.0625em; line-height: 0.8em; font-weight: normal; + letter-spacing: -0.02em; text-shadow: -1px 0 black, 1px 0 black, 0 1px black, 0 -1px black, -0.707px -0.707px black, 0.707px 0.707px black, @@ -236,6 +233,8 @@ input[type=checkbox] { box-shadow: 0.125em 0.125em 0.25em 0.0625em #aaa; border: solid hsl(270, 30%, 85%) 1px; min-width: 6em; + height: 1.375em; + max-height: 1.375em; } .button.small { @@ -251,6 +250,15 @@ input[type=checkbox] { box-shadow: 0.0625em 0.0625em 0.0625em 0.0625em #888; } + +.standalone header .button { + box-shadow: 0 0 0.5em 0.0625em #aaa; +} + +.standalone header .button:active { + box-shadow: 0 0 0 0 #aaa; +} + main > div, main > noscript { text-align: center; margin-bottom: 1rem; @@ -279,7 +287,7 @@ select { box-shadow: 0.125em 0.125em 0.25em 0.0625em #aaa; transition: box-shadow 0.167s, border-color 0.167s; -webkit-transition: box-shadow 0.167s, border-color 0.167s; - text-align:-webkit-center !important; + text-align: center; font-weight: bold; } @@ -304,6 +312,16 @@ option { font-weight: normal; } +optgroup { + font-style: normal; + font-family: inherit; + text-align: center; +} + +optgroup + optgroup { + margin-top: 1px; +} + p, li { text-align: justify; -webkit-hyphens: auto; @@ -359,9 +377,11 @@ table { } .button.big { - display: block; - width: 80%; - margin: 1em auto; + display: inline-block; + width: 35%; + padding-top: 1em; + padding-bottom: 1em; + margin: 0.5em 0.5em; } .card1 { @@ -381,18 +401,344 @@ table { color: white; } -#statusbar { - display: none; - position: fixed; +.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.6em; + line-height: 1.6em; + height: 5.4%; + 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; + display: inline-block; + box-sizing: border-box; + margin: 0.5em 0.05em; + box-shadow: 0 0 0.05em 0.05em black; + background-image: url(sword.png); + background-size: 0.2778em 1.3em; + background-position: center; + background-repeat: no-repeat; + text-align: center; +} + +.card .cost span:before, .card .cost span:after { + position: absolute; + line-height: 1.333em; + width: 1.5em; + height: 1.5em; + display: block; + transform-origin: 50% 65%; + background-image: url(sword.png); + background-size: 0.2778em 1.3em; + background-position: center; + background-repeat: no-repeat; +} + +.card .cost .r:before { + transform: rotate(30deg); + -webkit-transform: rotate(30deg); + content: ''; +} + +.card .cost .r img { + /* :( would prefer with no extra elements... */ + transform: rotate(60deg); + max-width: 1.3em; + position: absolute; + max-height: 1.3em; + transform-origin: 50% 65%; + left: 0.6em; + top: 0.1em; +} + +.card .cost .r:after { + transform: rotate(-30deg); + -webkit-transform: rotate(-30deg); + content: ''; +} + +.card .cost .r { + transform: rotate(-15deg); + background-color: #e4573c; +} +.card .cost .g { + background-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: 70%; + left: 15%; + 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; +} + + +.card.dungeon { + height: 17.5841em; + width: 25em; +} + +.card.dungeon:after { + background-image: url(dungeon.jpg); +} + +.card.final .name, .card.final .type { + background-color: #832b22; +} + +.card.dungeon .name { + position: absolute; + color: #e3f902; + top: 2%; + height: 7.5%; +} + +.card.dungeon .type { + color: #e3f902; + left: 2.25%; + right: 2.25%; + width: 95.5%; + height: 4.5%; + top: 74%; + text-shadow: -0.707px -0.707px rgba(0, 0, 0, 0.75), + 0.707px -0.707px rgba(0, 0, 0, 0.75), + -0.707px 0.707px rgba(0, 0, 0, 0.75), + 0.707px 0.707px rgba(0, 0, 0, 0.75), + 1px 0 black, + -1px 0 black, + 0 1px black, + 0 -1px black; +} + +.card.dungeon .power img { + max-height: 1.5em; + vertical-align: bottom; +} +.card.dungeon .power { + font-size: 0.85em; + position: absolute; + top: 67%; + height: 1em; + color: white; + left: 68%; + width: 15%; + text-align: center; + text-shadow: -0.707px -0.707px rgba(0, 0, 0, 0.75), + 0.707px -0.707px rgba(0, 0, 0, 0.75), + -0.707px 0.707px rgba(0, 0, 0, 0.75), + 0.707px 0.707px rgba(0, 0, 0, 0.75), + 1px 0 black, + -1px 0 black, + 0 1px black, + 0 -1px black; +} + +.card.dungeon .effect { + color: #e30000; + 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; + font-size: 0.55em; + top: 83%; + left: 5%; + right: 5%; + width: 90%; + font-weight: bold; +} + +.card.dungeon .code { + right: 4%; + bottom: 1.8%; +} + +header { left: 0; top: 0; right: 0; - height: 20px; - background-color: black; + margin: auto; + max-width: 25.2em; + background-color: white; + padding: 0.5em; + box-sizing: border-box; + z-index: 2; } -body.standalone #statusbar { - display: block; +body.standalone header:empty { + padding: 0; + padding-top: 20px; +} + +body.standalone header { + position: fixed; + padding-top: 20px; + background-color: black; } h1, h2, [onclick], label { @@ -407,17 +753,20 @@ h1, h2, [onclick], label { cursor: pointer; } -td:target { - font-weight: bold; +@media (max-width: 639px) { + html { font-size: 14px; } + header .button { + padding: 0 0.2em; + } } @media print { @page { - size: 3.5in 7in; + size: 85mm 170mm; margin: 0.5em; } - .no-print { + header, .no-print { display: none !important; } @@ -429,13 +778,19 @@ td:target { main { max-width: 3.5in; } + + .card { + width: 64mm; + height: 87mm; + font-size: 9pt; + page-break-inside: avoid; + } } -@media screen and (-webkit-min-device-pixel-ratio:0) { +@media all and (-webkit-min-device-pixel-ratio:0) { h1 { text-shadow: none; - -webkit-text-stroke: 1px black; - latter-spacing: -1px; + -webkit-text-stroke: 0.02em black; } .broken-on-webkit {