First pass at an SVG only approach, still a WIP

This commit is contained in:
Andrew Gioia 2024-03-13 10:04:34 -04:00
parent 3a0ae9643b
commit df3e36d988
No known key found for this signature in database
GPG Key ID: FC09694A000800C8
12 changed files with 397 additions and 2990 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -164,16 +164,16 @@ menu {
animation: hover 200ms; animation: hover 200ms;
} }
> .ss { figcaption {
font-size: 3rem; filter: drop-shadow(0 0 1.2rem var(--ss-icon-shadow));
margin: 1rem 0; margin: 1rem 0 0.75rem;
&.ss-rarity-common:not(.ss-inner)::before { > .ss {
color: var(--text-default) !important; --ss-base-size: 3rem;
}
&::before { &.ss-rarity-common:not(.ss-inner)::before {
text-shadow: 0 0 2rem var(--icon-shadow); --ss-rarity: var(--text-default) !important;
}
} }
} }
@ -209,9 +209,9 @@ menu {
padding-bottom: 2rem; padding-bottom: 2rem;
} }
figure { figure {
> .ss { figcaption > .ss {
font-size: 2.25rem; --ss-base-size: 2.25rem;
margin: 1rem 0 0.75rem; margin: 1rem 0 0.5rem;
} }
> span.icon-name { > span.icon-name {
display: none; display: none;
@ -233,8 +233,8 @@ menu {
} }
figure { figure {
flex-direction: row; flex-direction: row;
> .ss { figcaption > .ss {
font-size: 1.5rem; --ss-base-size: 1.5rem;
margin: 1rem; margin: 1rem;
} }
> span.icon-name { > span.icon-name {
@ -259,8 +259,8 @@ menu {
flex-direction: row; flex-direction: row;
justify-content: center; justify-content: center;
border-radius: 0.75rem; border-radius: 0.75rem;
> .ss { figcaption > .ss {
font-size: 2rem; --ss-base-size: 2rem;
margin: 1rem; margin: 1rem;
} }
> span.icon-name, > span.icon-name,
@ -467,13 +467,13 @@ object {
align-items: center; align-items: center;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
padding: 2rem 0.5rem 1rem; padding: 2.5rem 0.5rem 1.5rem;
i.ss { i.ss {
//color: var(--text-default); //color: var(--text-default);
font-size: 8em; --ss-base-size: 8rem;
line-height: 1; line-height: 1;
padding-bottom: 1.5rem; padding-bottom: 1rem;
&.ss-rarity-common:not(.ss-inner)::before { &.ss-rarity-common:not(.ss-inner)::before {
//color: var(--text-default) !important; //color: var(--text-default) !important;
@ -694,7 +694,7 @@ object {
width: calc(16 * 16px * 1.75); width: calc(16 * 16px * 1.75);
i.ss { i.ss {
font-size: 16em; --ss-base-size: 16rem;
} }
&-controls { &-controls {

View File

@ -43,7 +43,7 @@ $keyrune-ui-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMa
--bg-dialog: #{map.get($keyrune-ui, "tan", "300")}; // cards/dialogs over base body bg --bg-dialog: #{map.get($keyrune-ui, "tan", "300")}; // cards/dialogs over base body bg
--bg-hover: #{map.get($keyrune-ui, "tan", "200")}; // hover state for white elements --bg-hover: #{map.get($keyrune-ui, "tan", "200")}; // hover state for white elements
--bg-shadow: #{map.get($keyrune-ui, "black", "700")}; // overlay shadow color --bg-shadow: #{map.get($keyrune-ui, "black", "700")}; // overlay shadow color
--icon-shadow: #{map.get($keyrune-ui, "white")}; // text shadow on card icons --ss-icon-shadow: #{map.get($keyrune-ui, "white")}; // text shadow on card icons
--link-default: #{map.get($keyrune-ui, "blue", "500")}; // primary brand color --link-default: #{map.get($keyrune-ui, "blue", "500")}; // primary brand color
--text-default: #{map.get($keyrune-ui, "black", "900")}; // default body text color --text-default: #{map.get($keyrune-ui, "black", "900")}; // default body text color
--text-accent: #{map.get($keyrune-ui, "tan", "700")}; // alternate body text color --text-accent: #{map.get($keyrune-ui, "tan", "700")}; // alternate body text color
@ -64,7 +64,7 @@ $keyrune-ui-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMa
--bg-dialog: #{map.get($keyrune-ui, "black", "700")}; --bg-dialog: #{map.get($keyrune-ui, "black", "700")};
--bg-hover: #{map.get($keyrune-ui, "black", "700")}; --bg-hover: #{map.get($keyrune-ui, "black", "700")};
--bg-shadow: #{map.get($keyrune-ui, "black", "900")}; --bg-shadow: #{map.get($keyrune-ui, "black", "900")};
--icon-shadow: transparent; //#{map.get($keyrune-ui, "black", "900")}; --ss-icon-shadow: transparent; //#{map.get($keyrune-ui, "black", "900")};
--link-default: #{map.get($keyrune-ui, "blue", "300")}; --link-default: #{map.get($keyrune-ui, "blue", "300")};
--text-default: #{map.get($keyrune-ui, "white")}; --text-default: #{map.get($keyrune-ui, "white")};
--text-accent: #{map.get($keyrune-ui, "tan", "500")}; --text-accent: #{map.get($keyrune-ui, "tan", "500")};

View File

@ -28,7 +28,9 @@
data-version="{{ $set.version }}" data-version="{{ $set.version }}"
data-aliases="{{ $set.aliases | jsonify }}" data-aliases="{{ $set.aliases | jsonify }}"
> >
<i class="ss ss-{{ $set.code }} ss-rarity-common ss-border ss-inner ss-fw"></i> <figcaption>
<i class="ss ss-{{ $set.code }} ss-rarity-common ss-border ss-inner ss-fw"></i>
</figcaption>
<span class="icon-code">{{ $set.code }}</span> <span class="icon-code">{{ $set.code }}</span>
<span class="icon-name">{{ $set.display }}</span> <span class="icon-name">{{ $set.display }}</span>
</figure> </figure>

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

12
src/scss/_font.scss Normal file
View File

@ -0,0 +1,12 @@
@font-face {
font-family: '#{$keyrune-font-family}';
src: url('#{$keyrune-font-path}/#{$keyrune-font-family}.eot?#{$keyrune-version}');
src: url('#{$keyrune-font-path}/#{$keyrune-font-family}.eot?#{$keyrune-version}#iefix') format('embedded-opentype'),
url('#{$keyrune-font-path}/#{$keyrune-font-family}.woff2?#{$keyrune-version}') format('woff2'),
url('#{$keyrune-font-path}/#{$keyrune-font-family}.ttf?#{$keyrune-version}') format('truetype'),
url('#{$keyrune-font-path}/#{$keyrune-font-family}.woff?#{$keyrune-version}') format('woff'),
url('#{$keyrune-font-path}/#{$keyrune-font-family}.svg?#{$keyrune-version}##{$keyrune-font-family}') format('svg');
font-weight: normal;
font-style: normal;
font-display: block;
}

View File

@ -1,17 +1,46 @@
//
// output the correct glyphs for the 3 layers' pseudoelements // output the correct glyphs for the 3 layers' pseudoelements
@mixin layers($layers) { @mixin layers($layers) {
&::before { @if (map-get($layers, border)) {
content: glyph-content(map-get($layers, rarity)); // always mask the border on the element itself and the rarity on the ::before
} mask-image: url(svg_content(map-get($layers, border), map-get($layers, viewbox)));
&.#{$keyrune-prefix}-border { &::before {
&::after { mask-image: url(svg_content(map-get($layers, rarity), map-get($layers, viewbox)));
content: glyph-content(map-get($layers, border)); }
} @else {
background: var(--ss-rarity);
mask-image: url(svg_content(map-get($layers, rarity), map-get($layers, viewbox)));
&::before {
display: none !important;
} }
} }
// inner layer
&.#{$keyrune-prefix}-inner { &.#{$keyrune-prefix}-inner {
&::marker { @if (map-get($layers, inner)) {
content: glyph-content(map-get($layers, inner)); // mask the filled rarity on the before
&::before{
mask-image: url(svg_content(map-get($layers, filled), map-get($layers, viewbox)));
}
// mask the inner on the ::after
&::after {
mask-image: url(svg_content(map-get($layers, inner), map-get($layers, viewbox)));
}
} @else {
&::after {
display: none !important;
}
}
}
// border layer
&.#{$keyrune-prefix}-border {
// if there's no inner, composite subtract it out of the element's mask
&:not(.#{$keyrune-prefix}-inner) {
mask-image:
url(svg_content(map-get($layers, border), map-get($layers, viewbox))),
url(svg_content(map-get($layers, inner), map-get($layers, viewbox)));
mask-composite: subtract;
} }
} }
} }
@ -22,6 +51,10 @@
} }
// correctly parse the glyph's unicode for css // correctly parse the glyph's unicode for css
@function glyph_content($glyph) { @function svg_content($svg, $viewbox) {
@return unquote("\"#{$glyph}\""); @if $svg {
@return unquote("\"#{$keyrune-svg-tag-open}#{$viewbox}#{$keyrune-svg-tag-inner}#{$svg}#{$keyrune-svg-tag-close}\"");
} @else {
@return unquote("\"#{$keyrune-svg-empty}\"");
}
} }

View File

@ -1,43 +1,46 @@
@font-face { // default styles and set symbol definitions
font-family: '#{$keyrune-font-family}';
src: url('#{$keyrune-font-path}/#{$keyrune-font-family}.eot?#{$keyrune-version}');
src: url('#{$keyrune-font-path}/#{$keyrune-font-family}.eot?#{$keyrune-version}#iefix') format('embedded-opentype'),
url('#{$keyrune-font-path}/#{$keyrune-font-family}.woff2?#{$keyrune-version}') format('woff2'),
url('#{$keyrune-font-path}/#{$keyrune-font-family}.ttf?#{$keyrune-version}') format('truetype'),
url('#{$keyrune-font-path}/#{$keyrune-font-family}.woff?#{$keyrune-version}') format('woff'),
url('#{$keyrune-font-path}/#{$keyrune-font-family}.svg?#{$keyrune-version}##{$keyrune-font-family}') format('svg');
font-weight: normal;
font-style: normal;
font-display: block;
}
// default styles and set symbol definitions via icon font
.#{$keyrune-prefix} { .#{$keyrune-prefix} {
// base variables
--ss-base-size: 24px;
--ss-aspect-ratio: 1;
--ss-height: var(--ss-base-size);
--ss-width: calc(var(--ss-aspect-ratio) * var(--ss-base-size));
// base styles // base styles
font-family: '#{$keyrune-font-family}' !important; background: transparent; // turn this to ss-border when border is enabled
color: var(--ss-rarity); display: inline-block;
speak: never; height: var(--ss-height);
font-style: normal; mask-repeat: no-repeat;
font-weight: normal; mask-position: 50% 0;
font-variant: normal;
position: relative; position: relative;
text-transform: none; width: var(--ss-width);
line-height: 1;
display: inline-flex;
// better font rendering // rarity and inner pseudo-element defaults
-webkit-font-smoothing: antialiased; &::before,
-moz-osx-font-smoothing: grayscale; &::after {
bottom: 0;
// pseudo defaults content: '';
display: none;
height: 100%;
mask-position: 50% 0;
mask-repeat: no-repeat;
position: absolute;
top: 0;
width: 100%;
}
&::before { &::before {
background: var(--ss-rarity-bg); background: var(--ss-rarity);
display: block;
}
&::after {
background: var(--ss-inner);
} }
// ::before is the symbol layer // set symbol iteration
// ::after is the border layer // i is the border (outermost) layer
// ::marker is the (experimental) inner layer // i::before is the symbol layer
// i::after is the inner white layer
@each $set, $attributes in $keyrune-sets { @each $set, $attributes in $keyrune-sets {
&-#{$set} { &-#{$set} {
@include ratio(map-get($attributes, ratio)); @include ratio(map-get($attributes, ratio));
@ -68,61 +71,40 @@
// accessory features // accessory features
&.#{$keyrune-prefix} { &.#{$keyrune-prefix} {
//
// border // border
&-border { &-border {
// default and common border styles // set the element background as the border color
&::after { background: var(--ss-border);
color: var(--ss-border);
position: absolute; // show the ::before pseudo element
left: 0; &::before {
display: inline-block;
} }
// rarities > common have a black border // rarities > common have a black border
&.#{$keyrune-prefix}-rarity-common-alt::after, &.#{$keyrune-prefix}-rarity-common-alt,
&.#{$keyrune-prefix}-rarity-uncommon::after, &.#{$keyrune-prefix}-rarity-uncommon,
&.#{$keyrune-prefix}-rarity-rare::after, &.#{$keyrune-prefix}-rarity-rare,
&.#{$keyrune-prefix}-rarity-mythic::after, &.#{$keyrune-prefix}-rarity-mythic,
&.#{$keyrune-prefix}-rarity-foil::after, &.#{$keyrune-prefix}-rarity-foil,
&.#{$keyrune-prefix}-border-black::after { &.#{$keyrune-prefix}-border-black {
color: var(--ss-border-contrast); background: var(--ss-border-contrast);
} }
// convenience class to force a white border // convenience class to force a white border
&-white { &-white {
--ss-border: #fff !important; --ss-border: #fff !important;
--ss-border-contrast: #fff !important;
} }
} }
//
// inner (requires advanced positional styles for glyphs taller than they are wide) // inner (requires advanced positional styles for glyphs taller than they are wide)
&-inner { &-inner {
&::after {
// must be list-item for this to appear display: inline-block;
display: list-item;
list-style-position: inside;
// set symbol must be absolutely positioned
&::before {
position: absolute;
left: 0;
}
// inner color
&::marker {
color: var(--ss-inner);
}
// position via transforms for everything until there's a better way
&::before,
&::after,
&::marker {
left: 50%;
transform: translateX(-50%);
} }
} }
//
// rarity colors // rarity colors
&-rarity { &-rarity {
@ -132,17 +114,12 @@
// set the symbol's color // set the symbol's color
--ss-rarity: #{map.get($colors, solid)}; --ss-rarity: #{map.get($colors, solid)};
// gradient alternative // gradient alternative
&.#{$keyrune-prefix}-rarity-gradient::before { &.#{$keyrune-prefix}-rarity-gradient {
--ss-rarity-bg: --ss-rarity: linear-gradient(
linear-gradient( 90deg,
90deg, #{map.get($colors, left)} 0%,
#{map.get($colors, left)} 0%, #{map.get($colors, center)} 50%,
#{map.get($colors, center)} 50%, #{map.get($colors, right)} 100%);
#{map.get($colors, right)} 100%);
--ss-rarity: transparent;
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
} }
} }
} }
@ -150,22 +127,17 @@
// special foil case // special foil case
&-foil { &-foil {
--ss-rarity: #00afc9; --ss-rarity: #00afc9;
&.#{$keyrune-prefix}-rarity-gradient::before { &.#{$keyrune-prefix}-rarity-gradient {
--ss-rarity-bg: --ss-rarity: linear-gradient(
linear-gradient( 135deg,
135deg, #ea8d66 0%,
#ea8d66 0%, #ea8d66 15%,
#ea8d66 15%, #fdef8a 28%,
#fdef8a 28%, #8bcc93 42%,
#8bcc93 42%, #a6dced 55%,
#a6dced 55%, #6f75aa 68%,
#6f75aa 68%, #e599c2 84%,
#e599c2 84%, #e599c2 100%);
#e599c2 100%);
--ss-rarity: transparent;
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
} }
} }
} }
@ -173,23 +145,7 @@
// //
// fixed width // fixed width
&-fw { &-fw {
// set the width to the largest symbole, ARN, at 1.75em // set the width to the largest symbole, ARN, at 1.75em
width: 1.75em;
display: list-item;
list-style-position: inside;
text-align: center;
// if there is no inner, we need to hide the marker
&:not(.#{$keyrune-prefix}-inner) {
list-style: none;
}
// correction when there's a border and no inner
&.#{$keyrune-prefix}-border:not(.#{$keyrune-prefix}-inner)::after {
left: 50%;
transform: translateX(-50%);
}
} }
// //
@ -222,47 +178,3 @@
} }
} }
} }
.svg {
background-color: var(--ss-border);
mask-repeat: no-repeat;
mask-position: 50% 0;
width: 84px;
height: 48px;
display: block;
position: relative;
display: block;
&::before,
&::after {
display: block;
content: '';
position: absolute;
width: 100%;
height: 100%;
top: 0;
bottom: 0;
mask-repeat: no-repeat;
mask-position: 50% 0;
}
&::before {
background-color: var(--ss-rarity);
}
&::after {
background-color: var(--ss-inner);
}
&.#{$keyrune-prefix}-pcy {
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' fill-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2' clip-rule='evenodd' viewBox='0 0 48 48'%3E%3Cpath d='M44.01 33.54a8.57 8.57 0 0 1 2.72 2.03A4.7 4.7 0 0 1 48 38.63c0 1.69-.9 2.62-1.9 3.1-.5.25-1.51.43-1.67.44-.57.08-6.37.8-9.19.1-2.56-.64-6.12-.34-10.26.82-4.8 1.36-7.63-.27-11.3-1.24-2.68-.71-5.03-.6-6.95-.52-1.53.08-2.83.12-3.89-.11a2.46 2.46 0 0 1-2.02-2.33 2.96 2.96 0 0 1 1.54-2.66c.84-.52 2.42-.92 5.55-.76L0 22.2l3.11-7.51 8.58 1.62 4.04 6.46.01-10.04L25.8 4.39l10.7 9.03-.62 12.19 2.8-2.82 7.64-.12.66 7.29-2.97 3.58Z'/%3E%3C/svg%3E%0A");
&::before {
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' fill-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2' clip-rule='evenodd' viewBox='0 0 48 48'%3E%3Cpath d='m10.25 36.27-8.47-14.2L4.1 16.5l6.62 1.25 6.62 10.58.01-14.85 8.45-7 9.07 7.65-.8 15.57 5.3-5.33 5.5-.08.47 5.16-4.16 5s.62 0 1.54.28c1.46.46 3.7 2.1 3.7 3.9 0 1.81-2.16 1.96-2.16 1.96s-5.85.83-8.62.13c-2.77-.7-6.61-.42-11.08.84-4.46 1.25-7.06-.35-10.46-1.26-4.78-1.26-8.56-.13-10.9-.64-.94-.2-1.12-1.38 0-2.07.9-.54 2.72-.79 6.75-.35 0 0 .46-.83.3-.97Zm21.84-20.75-2.3-2.09L28.4 33.2s.3 2.65 2.62 2.1l1.07-19.78Zm5.08 17.26 1.08 1.12 4.31-4.73-.08-2.1-5.3 5.71ZM9.32 20.74l-2.92-.48 7.38 12.8s2.62 1.4 2.31-1.39L9.32 20.74Z'/%3E%3C/svg%3E%0A");
}
&::after {
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' fill-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2' clip-rule='evenodd' viewBox='0 0 48 48'%3E%3Cpath d='m37.17 32.78 5.31-5.7.08 2.09-4.3 4.73-1.09-1.12ZM9.32 20.74l6.77 10.93c.3 2.79-2.3 1.4-2.3 1.4l-7.4-12.81 2.93.48Zm22.77-5.22L31.02 35.3c-2.31.56-2.62-2.09-2.62-2.09l1.39-19.77 2.3 2.1Z'/%3E%3C/svg%3E%0A");
}
}
}

View File

@ -8,6 +8,12 @@ $keyrune-version: "4.0.94" !default;
$keyrune-include-aliases: true; $keyrune-include-aliases: true;
$keyrune-include-everything: false; $keyrune-include-everything: false;
// svg helpers
$keyrune-svg-tag-open: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' fill-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2' clip-rule='evenodd' viewBox='";
$keyrune-svg-tag-inner: "'%3E";
$keyrune-svg-tag-close: "%3C/svg%3E%0A";
$keyrune-svg-empty: "data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8' standalone='no'%3F%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg width='100%25' height='100%25' viewBox='0 0 48 48' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' xmlns:serif='http://www.serif.com/' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'%3E%3Crect x='0' y='0' width='48' height='48' style='fill:white;'/%3E%3C/svg%3E%0A";
// //
$keyrune-colors: ( $keyrune-colors: (
"black": ( "black": (
@ -53,411 +59,20 @@ $keyrune-rarities: (
// set symbols // set symbols
$keyrune-sets: ( $keyrune-sets: (
lea: (
rarity: "\e000",
border: "\e001",
inner: "\e002",
),
leb: (
rarity: "\e003",
border: "\e004",
inner: "\e005",
),
2ed: (
rarity: "\e006",
border: "\e007",
inner: "\e008",
),
ced: (
rarity: "\e009",
border: "\e00a",
inner: "\e00b",
),
cei: (
rarity: "\e00c",
border: "\e00d",
inner: "\e00e",
),
arn: (
rarity: "\e00f",
border: "\e010",
inner: "\e011",
ratio: 1.75,
),
atq: (
rarity: "\e012",
border: "\e013",
inner: "\f8ff", // empty
ratio: 1.029,
),
3ed: (
rarity: "\e015",
border: "\e016",
inner: "\e017",
),
fbb: (
rarity: "\e018",
border: "\e019",
inner: "\e01a",
),
leg: (
rarity: "\e01b",
border: "\e01c",
inner: "\e01d",
),
sum: (
rarity: "\e01e",
border: "\e01f",
inner: "\f8ff", // empty
),
pdrc: (
rarity: "\e021",
border: "\e022",
inner: "\f8ff", // empty
),
drk: (
rarity: "\e024",
border: "\e025",
inner: "\f8ff", // empty
),
phpr: (
rarity: "\e027",
border: "\e028",
inner: "\f8ff", // empty
),
fem: (
rarity: "\e02a",
border: "\e02b",
inner: "\f8ff", // empty
),
pmei: (
rarity: "\e02d",
border: "\e02e",
inner: "\f8ff", // empty
),
pmtg: ( pmtg: (
rarity: "\e030", rarity: "%3Cpath fill-rule='nonzero' d='M19.5 6a18 18 0 0 1 16.67 24.8c.33.25.68.53 1 .86l.07.1.06.08c.13.23.2.47.2.72 0 .28-.09.55-.27.78-.36.46-1 .63-1.63.45l-.1-.04c-.24-.1-.47-.2-.7-.27a18 18 0 0 1-30.32.44c-.35.17-.7.37-1 .6a.84.84 0 0 1-.24.14c-.53.2-1.1.03-1.44-.43-.2-.25-.3-.57-.3-.9 0-.32.11-.73.28-.9.28-.28.3-.33 1.36-.93A18 18 0 0 1 19.5 6Zm-7.15 14.1-.42.8c-.04.1-.11.18-.3.39-.21.25-.5.41-.85.47.13.14.24.29.3.44a.4.4 0 0 1 .05.18s.02.05.03.22c.02.32-.16.63-.16.63-1.56 2.68-2.32 4.83-2.32 6.57 0 .25.03.5.06.77l.16.03.13.02c.6.16 1 .72 1 1.41v.15c-.05.69-.51 1.2-1.14 1.25h-.2a10.6 10.6 0 0 0-1.35-.08 15.34 15.34 0 0 0 24.56-.3c-.73-.02-1.51.02-2.4.18-.64.2-1.14.43-1.5.71l-.03.03a.8.8 0 0 1-.45.17h-.03c-.68.06-1.05-.21-1.24-.45a1.3 1.3 0 0 1-.3-.85c0-.23.06-.43.1-.56v-.04c.05-.2.2-.4.38-.5l.04-.02c.33-.2.74-.56 1.15-.92l.2-.18c.04-.05.13-.17.13-.6 0-.32-.06-.75-.18-1.37a28.75 28.75 0 0 0-3-6.73.74.74 0 0 0-.24-.27.94.94 0 0 1-.24.13l-.02.02.01-.01c-.07.03-.13.07-.2.09-.36.1-.76 0-.9-.05l-.07-.02.04.13.02.2v.06a9.78 9.78 0 0 1-.48 2.2c-.18.6-.34 1.1-.34 1.65 0 .45.12.91.36 1.39a27 27 0 0 1 1.31 2.97v.02c.02.06.03.13.03.2 0 .06 0 .11-.02.17v.04a2.4 2.4 0 0 1-.86 1.44l-2.26 2.07c-.56.52-.7.66-.84.75l-.23.15a.91.91 0 0 1-.26.1c-.26.07-.5.05-.74-.05-.54-.22-.9-.79-.9-1.46l.01.08a35.73 35.73 0 0 0-2.97-10.27c-.6-1.3-1.34-2.8-2.63-3.55Zm10.82 12.18s-.02.01 0 0ZM7.38 14.6A15.26 15.26 0 0 0 5 29.03l.01-.03a111.1 111.1 0 0 0 2.73-7.52c.17-.3.45-.5.8-.58a1.2 1.2 0 0 1-.34-.8v-.03c0-.15.04-.3.11-.42l.02-.03c.35-.58.72-1.3 1.07-2.63l.01-.18c0-.4-.02-.8-1.3-.98l-.09-.01a.81.81 0 0 1-.7-.81v-.09c0-.1.02-.21.06-.32ZM19.1 8.65a15.57 15.57 0 0 0-10.64 4.7c.16-.08.32-.15.48-.17h.19c1.88.18 3.13.28 4.85.07h.07c1.23-.04 2.36 1.72 4.8 6.05l.96 1.66.12-.3.02-.04a.92.92 0 0 1 .14-.25 1.2 1.2 0 0 1 1.23-.4c.1.02.19.06.29.1l-.03-.24v-.13c.07-.43.3-.67.45-.83l.13-.14.03-.03c.42-.43.78-.98 1.16-1.58l.13-.2c0-.2-.06-.45-.33-.8l-.91-.61-.54-.36a1.2 1.2 0 0 1-.53-1V14l.04-.21c0-.05.02-.08.03-.12.17-.52.64-1.07 1.3-1.07l1.32.1c.68.06 1.32.1 2.24.27 0 0-.01 0 0 0 .33.05.68.11 1 0 .64-.23 1.17-.2 1.57.11.35.28.53.7.53 1.28v.32l.03.62c.04.58.07 1.18.2 1.73 1.57 2.83 3.6 7.3 4.72 11.55A15.43 15.43 0 0 0 19.5 8.64l-.4.01Z'/%3E",
border: "\e031", filled: "%3Cpath fill-rule='nonzero' d='M19.5 6a18 18 0 0 1 16.67 24.8c.33.25.68.53 1 .86l.07.1.06.08c.13.23.2.47.2.72 0 .28-.09.55-.27.78-.36.46-1 .63-1.63.45l-.1-.04c-.24-.1-.47-.2-.7-.27a18 18 0 0 1-30.32.44c-.35.17-.7.37-1 .6a.84.84 0 0 1-.24.14c-.53.2-1.1.03-1.44-.43-.2-.25-.3-.57-.3-.9 0-.32.11-.73.28-.9.28-.28.3-.33 1.36-.93A18 18 0 0 1 19.5 6Zm-7.15 14.1-.42.8c-.04.1-.11.18-.3.39-.21.25-.5.41-.85.47.13.14.24.29.3.44a.4.4 0 0 1 .05.18s.02.05.03.22c.02.32-.16.63-.16.63-1.56 2.68-2.32 4.83-2.32 6.57 0 .25.03.5.06.77l.16.03.13.02c.6.16 1 .72 1 1.41v.15c-.05.69-.51 1.2-1.14 1.25h-.2a10.6 10.6 0 0 0-1.35-.08 15.34 15.34 0 0 0 24.56-.3c-.73-.02-1.51.02-2.4.18-.64.2-1.14.43-1.5.71l-.03.03a.8.8 0 0 1-.45.17h-.03c-.68.06-1.05-.21-1.24-.45a1.3 1.3 0 0 1-.3-.85c0-.23.06-.43.1-.56v-.04c.05-.2.2-.4.38-.5l.04-.02c.33-.2.74-.56 1.15-.92l.2-.18c.04-.05.13-.17.13-.6 0-.32-.06-.75-.18-1.37a28.75 28.75 0 0 0-3-6.73.74.74 0 0 0-.24-.27.94.94 0 0 1-.24.13l-.02.02.01-.01c-.07.03-.13.07-.2.09-.36.1-.76 0-.9-.05l-.07-.02.04.13.02.2v.06a9.78 9.78 0 0 1-.48 2.2c-.18.6-.34 1.1-.34 1.65 0 .45.12.91.36 1.39a27 27 0 0 1 1.31 2.97v.02c.02.06.03.13.03.2 0 .06 0 .11-.02.17v.04a2.4 2.4 0 0 1-.86 1.44l-2.26 2.07c-.56.52-.7.66-.84.75l-.23.15a.91.91 0 0 1-.26.1c-.26.07-.5.05-.74-.05-.54-.22-.9-.79-.9-1.46l.01.08a35.73 35.73 0 0 0-2.97-10.27c-.6-1.3-1.34-2.8-2.63-3.55Zm10.82 12.18s-.02.01 0 0ZM7.38 14.6A15.26 15.26 0 0 0 5 29.03l.01-.03a111.1 111.1 0 0 0 2.73-7.52c.17-.3.45-.5.8-.58a1.2 1.2 0 0 1-.34-.8v-.03c0-.15.04-.3.11-.42l.02-.03c.35-.58.72-1.3 1.07-2.63l.01-.18c0-.4-.02-.8-1.3-.98l-.09-.01a.81.81 0 0 1-.7-.81v-.09c0-.1.02-.21.06-.32ZM19.1 8.65a15.57 15.57 0 0 0-10.64 4.7c.16-.08.32-.15.48-.17h.19c1.88.18 3.13.28 4.85.07h.07c1.23-.04 2.36 1.72 4.8 6.05l.96 1.66.12-.3.02-.04a.92.92 0 0 1 .14-.25 1.2 1.2 0 0 1 1.23-.4c.1.02.19.06.29.1l-.03-.24v-.13c.07-.43.3-.67.45-.83l.13-.14.03-.03c.42-.43.78-.98 1.16-1.58l.13-.2c0-.2-.06-.45-.33-.8l-.91-.61-.54-.36a1.2 1.2 0 0 1-.53-1V14l.04-.21c0-.05.02-.08.03-.12.17-.52.64-1.07 1.3-1.07l1.32.1c.68.06 1.32.1 2.24.27 0 0-.01 0 0 0 .33.05.68.11 1 0 .64-.23 1.17-.2 1.57.11.35.28.53.7.53 1.28v.32l.03.62c.04.58.07 1.18.2 1.73 1.57 2.83 3.6 7.3 4.72 11.55A15.43 15.43 0 0 0 19.5 8.64l-.4.01Z'/%3E",
inner: "\f8ff", // empty border: false,
), inner: false,
4ed: ( viewbox: '0 0 39 48',
rarity: "\e033", ratio: 0.8125,
border: "\e034",
inner: "\f8ff", // empty
),
4bb: (
rarity: "\e036",
border: "\e037",
inner: "\f8ff", // empty
),
ice: (
rarity: "\e039",
border: "\e03a",
inner: "\e03b",
),
chr: (
rarity: "\e03c",
border: "\e03d",
inner: "\f8ff", // empty
),
ren: (
rarity: "\e03f",
border: "\e040",
inner: "\f8ff", // empty
),
rin: (
rarity: "\e042",
border: "\e043",
inner: "\f8ff", // empty
),
hml: (
rarity: "\e045",
border: "\e046",
inner: "\e047",
),
all: (
rarity: "\e048",
border: "\e049",
inner: "\e04a",
),
mir: (
rarity: "\e04b",
border: "\e04c",
inner: "\f8ff", // empty
),
itp: (
rarity: "\e04e",
border: "\e04f",
inner: "\f8ff", // empty
),
vis: (
rarity: "\e051",
border: "\e052",
inner: "\e053", // empty
),
5ed: (
rarity: "\e054",
border: "\e055",
inner: "\f8ff", // empty
),
past: (
rarity: "\e057",
border: "\e058",
inner: "\f8ff", // empty
),
por: (
rarity: "\e05a",
border: "\e05b",
inner: "\e05c",
),
pvan: (
rarity: "\e05d",
border: "\e05e",
inner: "\f8ff", // empty
),
wth: (
rarity: "\e060",
border: "\e061",
inner: "\e062",
),
tmp: (
rarity: "\e063",
border: "\e064",
inner: "\f8ff", // empty
),
sth: (
rarity: "\e066",
border: "\e067",
inner: "\f8ff", // empty
),
exo: (
rarity: "\e069",
border: "\e06a",
inner: "\f8ff", // empty
),
p02: (
rarity: "\e06c",
border: "\e06d",
inner: "\f8ff", // empty
),
ugl: (
rarity: "\e06f",
border: "\e070",
inner: "\f8ff", // empty
),
palp: (
rarity: "\e072",
border: "\e073",
inner: "\f8ff", // empty
),
usg: (
rarity: "\e075",
border: "\e076",
inner: "\f8ff", // empty
),
ath: (
rarity: "\e078",
border: "\e079",
inner: "\f8ff", // empty
),
ulg: (
rarity: "\e07b",
border: "\e07c",
inner: "\f8ff", // empty
),
6ed: (
rarity: "\e07e",
border: "\e07f",
inner: "\f8ff", // empty
),
uds: (
rarity: "\e081",
border: "\e082",
inner: "\f8ff", // empty
),
s99: (
rarity: "\e084",
border: "\e085",
inner: "\f8ff", // empty
),
ptk: (
rarity: "\e087",
border: "\e088",
inner: "\f8ff", // empty
),
pgru: (
rarity: "\e08a",
border: "\e08b",
inner: "\f8ff", // empty
),
mmq: (
rarity: "\e08d",
border: "\e08e",
inner: "\e08f",
),
brb: (
rarity: "\e090",
border: "\e091",
inner: "\f8ff", // empty
),
fnm: (
rarity: "\e093",
border: "\e094",
inner: "\e095",
),
pal00: (
rarity: "\e096",
border: "\e097",
inner: "\f8ff", // empty
),
pelp: (
rarity: "\e099",
border: "\e09a",
inner: "\f8ff", // empty
),
nem: (
rarity: "\e09c",
border: "\e09d",
inner: "\f8ff", // empty
),
s00: (
rarity: "\e09f",
border: "\e0a0",
inner: "\f8ff", // empty
), ),
pcy: ( pcy: (
rarity: "\e0a2", rarity: "%3Cpath d='m10.25 36.27-8.47-14.2L4.1 16.5l6.62 1.25 6.62 10.58.01-14.85 8.45-7 9.07 7.65-.8 15.57 5.3-5.33 5.5-.08.47 5.16-4.16 5s.62 0 1.54.28c1.46.46 3.7 2.1 3.7 3.9 0 1.81-2.16 1.96-2.16 1.96s-5.85.83-8.62.13c-2.77-.7-6.61-.42-11.08.84-4.46 1.25-7.06-.35-10.46-1.26-4.78-1.26-8.56-.13-10.9-.64-.94-.2-1.12-1.38 0-2.07.9-.54 2.72-.79 6.75-.35 0 0 .46-.83.3-.97Zm21.84-20.75-2.3-2.09L28.4 33.2s.3 2.65 2.62 2.1l1.07-19.78Zm5.08 17.26 1.08 1.12 4.31-4.73-.08-2.1-5.3 5.71ZM9.32 20.74l-2.92-.48 7.38 12.8s2.62 1.4 2.31-1.39L9.32 20.74Z'/%3E",
border: "\e0a3", filled: "%3Cpath d='m10.25 36.27-8.47-14.2L4.1 16.5l6.62 1.25 6.62 10.58.01-14.85 8.45-7 9.07 7.65-.8 15.57 5.3-5.33 5.5-.08.47 5.16-4.16 5s.62 0 1.54.28c1.46.46 3.7 2.1 3.7 3.9 0 1.81-2.16 1.96-2.16 1.96s-5.85.83-8.62.13c-2.77-.7-6.61-.42-11.08.84-4.46 1.25-7.06-.35-10.46-1.26-4.78-1.26-8.56-.13-10.9-.64-.94-.2-1.12-1.38 0-2.07.9-.54 2.72-.79 6.75-.35 0 0 .46-.83.3-.97Z'/%3E",
inner: "\e0a4", border: "%3Cpath d='M44.01 33.54a8.57 8.57 0 0 1 2.72 2.03A4.7 4.7 0 0 1 48 38.63c0 1.69-.9 2.62-1.9 3.1-.5.25-1.51.43-1.67.44-.57.08-6.37.8-9.19.1-2.56-.64-6.12-.34-10.26.82-4.8 1.36-7.63-.27-11.3-1.24-2.68-.71-5.03-.6-6.95-.52-1.53.08-2.83.12-3.89-.11a2.46 2.46 0 0 1-2.02-2.33 2.96 2.96 0 0 1 1.54-2.66c.84-.52 2.42-.92 5.55-.76L0 22.2l3.11-7.51 8.58 1.62 4.04 6.46.01-10.04L25.8 4.39l10.7 9.03-.62 12.19 2.8-2.82 7.64-.12.66 7.29-2.97 3.58Z'/%3E",
), inner: "%3Cpath d='m37.17 32.78 5.31-5.7.08 2.09-4.3 4.73-1.09-1.12ZM9.32 20.74l6.77 10.93c.3 2.79-2.3 1.4-2.3 1.4l-7.4-12.81 2.93.48Zm22.77-5.22L31.02 35.3c-2.31.56-2.62-2.09-2.62-2.09l1.39-19.77 2.3 2.1Z'/%3E",
btd: ( viewbox: '0 0 48 48',
rarity: "\e0a5", ratio: 1,
border: "\e0a6",
inner: "\f8ff", // empty
),
inv: (
rarity: "\e0a8",
border: "\e0a9",
inner: "\f8ff", // empty
),
mpr: (
rarity: "\e0ab",
border: "\e0ac",
inner: "\f8ff", // empty
),
pls: (
rarity: "\e0ae",
border: "\e0af",
inner: "\f8ff", // empty
),
7ed: (
rarity: "\e0b1",
border: "\e0b2",
inner: "\f8ff", // empty
),
apc: (
rarity: "\e0b4",
border: "\e0b5",
inner: "\f8ff", // empty
),
psdg: (
rarity: "\e0b7",
border: "\e0b8",
inner: "\f8ff", // empty
),
ody: (
rarity: "\e0ba",
border: "\e0bb",
inner: "\f8ff", // empty
),
dkm: (
rarity: "\e0bd",
border: "\e0be",
inner: "\f8ff", // empty
),
tor: (
rarity: "\e0c0",
border: "\e0c1",
inner: "\f8ff", // empty
),
jud: (
rarity: "\e0c3",
border: "\e0c4",
inner: "\f8ff", // empty
),
prm: (
rarity: "\e0c6",
border: "\e0c7",
inner: "\f8ff", // empty
),
ons: (
rarity: "\e0c9",
border: "\e0ca",
inner: "\f8ff", // empty
),
lgn: (
rarity: "\e0cc",
border: "\e0cd",
inner: "\f8ff", // empty
),
scg: (
rarity: "\e0cf",
border: "\e0d0",
inner: "\f8ff", // empty
),
8ed: (
rarity: "\e0d2",
border: "\e0d3",
inner: "\f8ff", // empty
ratio: 0.9583,
),
mrd: (
rarity: "\e0d5",
border: "\e0d6",
inner: "\f8ff", // empty
ratio: 1.3958,
),
//
// backwards from the end for alternatives/oddities
8edalt: (
rarity: "\f8e7",
border: "\f8ff", // empty
inner: "\f8ff", // empty
ratio: 0.9583,
),
4eda: (
rarity: "\f8f6",
border: "\f8f5",
inner: "\f8ff", // em
),
legchr: (
rarity: "\f8f4",
border: "\f8f3",
inner: "\f8ff", // em
),
pgc98: (
rarity: "\f8f2",
border: "\f8f1",
inner: "\f8ff", // em
),
po: (
rarity: "\f8f0",
border: "\f8ef",
inner: "\f8ee",
),
wl: (
rarity: "\f8ed",
border: "\f8ec",
inner: "\f8ff", // empty
),
brbalt: (
rarity: "\f8eb",
border: "\f8ea",
inner: "\f8ff", // empty
),
s00alt: (
rarity: "\f8e9",
border: "\f8e8",
inner: "\f8ff", // empty
), ),
); );

View File

@ -3,5 +3,6 @@
@import "aliases"; @import "aliases";
@import "helpers"; @import "helpers";
@import "media"; @import "media";
@import "font";
@import "sets"; @import "sets";
@import "fixes"; @import "fixes";