emkodev Logo
The emkodev mark as inline SVG, with every colour role exposed as an attribute and no JavaScript involved at any point.
svg · no javascript · params · theming
Live example
In a .page.html file or a renderHTML() string:
<widget-emkodev-logo></widget-emkodev-logo>
In a .page.md file or a renderMarkdown() string:
```widget:emkodev-logo
```
In a .page.html file or a renderHTML() string:
<widget-emkodev-logo size="64"></widget-emkodev-logo>
In a .page.md file or a renderMarkdown() string:
```widget:emkodev-logo
{"size":"64"}
```
In a .page.html file or a renderHTML() string:
<widget-emkodev-logo outline="#001a66" outline-width="6" size="6rem"></widget-emkodev-logo>
In a .page.md file or a renderMarkdown() string:
```widget:emkodev-logo
{"outline":"#001a66","outline-width":6,"size":"6rem"}
```
In a .page.html file or a renderHTML() string:
<widget-emkodev-logo frame="#12263a" accent="#f2d492" signal="#7bd389" size="6rem"></widget-emkodev-logo>
In a .page.md file or a renderMarkdown() string:
```widget:emkodev-logo
{"frame":"#12263a","accent":"#f2d492","signal":"#7bd389","size":"6rem"}
```
How it works
The artwork lives in emkodev-logo.widget.html as a single <template id="logo">: a rounded rect for the frame and two paths for the glyphs. Its path data is the export copied through verbatim — no coordinate was rounded, refitted or approximated, because a logo that is "almost" the right shape is the wrong shape. Every fill literal was replaced by a <slot>.
renderHTML() calls experimentalUseTemplate(context.files.html, "logo") once and fills those slots with the requested colours, each passed through escapeHtml() first — the values arrive from host attributes, so they are untrusted text landing inside attribute values. Nothing else happens: there is no getData(), no hydrate(), no client state. The widget renders identically under /html/ with JavaScript disabled and under /app/.
Parameters
frame— the rounded square behind the glyphs. Defaults to#0044FF.accent— the arc and the dot. Defaults towhite.signal— the chevron and the bar. Defaults to#D4FD41.outline— stroke drawn around every glyph. Defaults tonone, so no outline is painted and it costs nothing when unused. Set it to any colour to turn it on.outline-width— weight of that stroke, in viewBox units, so it stays proportional at anysize. Defaults to2. Ignored whileoutlineisnone.size— width and height of the square mark. A bare number is read as pixels (size="64"→64px); anything else is used as written (size="6rem"). Defaults to8rem.
Under /md/
renderMarkdown() returns [:e] — the mark written out in the four characters it is drawn from. That is the whole markdown representation: a reader piping /md/ into a terminal gets the logo's name in its own notation instead of twelve kilobytes of path data.
The outline is a stroke, not geometry
The export originally carried the outline as a second, offset copy of each glyph — two extra filled paths that cost 25 KB, three times the shapes they traced. Painting it with stroke and paint-order="stroke fill" instead costs 114 bytes of markup, turns it off by default, and scales with the viewBox, so it holds its weight at 16 px as well as at 256 px. A baked offset does not: it thins away as the mark shrinks.
That, plus dropping the page background, took the file from 110 KB to under 13 KB with no visible change to the mark.
Source
import { escapeHtml, WidgetComponent } from "@emkodev/emroute";
interface EmkodevLogoParams {
frame?: string;
accent?: string;
signal?: string;
outline?: string;
outlineWidth?: string | number;
size?: string | number;
}
const FRAME = "#0044FF";
const ACCENT = "white";
const SIGNAL = "#D4FD41";
const OUTLINE = "none";
const OUTLINE_WIDTH = "2";
const SIZE = "8rem";
class EmkodevLogoWidget extends WidgetComponent<EmkodevLogoParams, null> {
override readonly name = "emkodev-logo";
override renderHTML({ params, context }: this["RenderArgs"]): string {
const source = context.files?.html;
if (!source) return "[:e]";
const logo = this.experimentalUseTemplate(source, "logo");
return logo({
frame: escapeHtml(params.frame ?? FRAME),
accent: escapeHtml(params.accent ?? ACCENT),
signal: escapeHtml(params.signal ?? SIGNAL),
outline: escapeHtml(params.outline ?? OUTLINE),
outlinewidth: escapeHtml(toNumeric(params.outlineWidth, OUTLINE_WIDTH)),
size: escapeHtml(toCssLength(params.size)),
});
}
override renderMarkdown(): string {
return "[:e]";
}
}
function toCssLength(size: string | number | undefined): string {
if (size === undefined || size === "") return SIZE;
return typeof size === "number" ? `${size}px` : size;
}
function toNumeric(value: string | number | undefined, fallback: string): string {
if (value === undefined || value === "") return fallback;
return String(value);
}
export default new EmkodevLogoWidget();
<template id="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500" width="<slot name='size'></slot>" height="<slot name='size'></slot>" fill="none" role="img" aria-label="emkodev">
<rect width="500" height="500" rx="58.072" fill="<slot name='frame'></slot>"/>
<path stroke="<slot name='outline'></slot>" stroke-width="<slot name='outlinewidth'></slot>" paint-order="stroke fill" d="M213.124 250.29C229.16 250.29 242.16 263.29 242.16 279.326C242.16 295.112 229.564 307.955 213.874 308.353L213.124 308.363H178.281L177.531 308.353C161.842 307.955 149.245 295.112 149.245 279.326C149.245 263.29 162.245 250.29 178.281 250.29H213.124ZM258.243 145.967C269.029 135.181 286.19 134.656 297.598 144.39L297.663 144.324L353.51 200.17C358.825 205.485 361.647 212.349 361.979 219.309C362.002 219.773 362.013 220.237 362.013 220.701C362.013 220.934 362.01 221.166 362.005 221.399C361.994 221.863 361.972 222.328 361.938 222.791C361.905 223.254 361.86 223.717 361.805 224.178C361.694 225.102 361.539 226.021 361.34 226.933C361.19 227.616 361.017 228.295 360.817 228.968C360.618 229.641 360.394 230.31 360.145 230.97C359.812 231.85 359.436 232.718 359.016 233.57C358.384 234.846 357.654 236.087 356.823 237.279C356.685 237.477 356.543 237.675 356.399 237.87C355.68 238.85 354.89 239.795 354.032 240.698L353.509 241.233L297.663 297.079L297.597 297.014C286.189 306.748 269.028 306.223 258.242 295.437C247.456 284.65 246.931 267.489 256.665 256.081L256.6 256.016L291.914 220.701L256.601 185.387L256.666 185.322C246.932 173.913 247.457 156.753 258.243 145.967Z" fill="<slot name='signal'></slot>"/>
<path stroke="<slot name='outline'></slot>" stroke-width="<slot name='outlinewidth'></slot>" paint-order="stroke fill" d="M91.2656 215.399C105.407 207.838 123.001 213.172 130.562 227.313C133.611 233.016 134.563 239.279 133.687 245.22C133.607 246.98 133.565 248.75 133.565 250.529C133.566 314.673 185.566 366.673 249.71 366.674C306.527 366.674 353.813 325.874 363.875 271.976L363.95 271.99C367.282 259.628 378.571 250.53 391.986 250.53C408.022 250.53 421.022 263.53 421.022 279.566C421.022 280.944 420.923 282.299 420.737 283.626L420.783 283.636C420.686 284.138 420.585 284.64 420.484 285.142C420.46 285.265 420.437 285.389 420.411 285.512C404.215 364.962 333.945 424.745 249.71 424.745C153.494 424.744 75.4934 346.745 75.4932 250.529C75.4932 246.006 75.6663 241.522 76.0049 237.086L76.1846 237.1C77.4016 228.188 82.7276 219.965 91.2656 215.399ZM157.003 109.631C157.109 109.633 157.215 109.635 157.321 109.638C157.418 109.64 157.514 109.645 157.61 109.648C158.051 109.665 158.49 109.693 158.929 109.729C159.008 109.736 159.088 109.743 159.167 109.75C159.278 109.76 159.39 109.772 159.501 109.783C159.608 109.794 159.714 109.806 159.82 109.818C159.93 109.831 160.041 109.844 160.15 109.857C160.254 109.871 160.357 109.885 160.461 109.899C160.564 109.914 160.668 109.928 160.771 109.943C160.852 109.955 160.933 109.968 161.014 109.98C161.272 110.021 161.53 110.066 161.787 110.113C161.841 110.123 161.895 110.133 161.948 110.144C162.068 110.166 162.187 110.19 162.307 110.214C162.407 110.234 162.507 110.255 162.606 110.276C162.717 110.3 162.827 110.326 162.938 110.351C163.004 110.366 163.071 110.38 163.137 110.396C163.789 110.548 164.435 110.725 165.074 110.922C165.146 110.944 165.219 110.966 165.291 110.989C165.805 111.152 166.314 111.329 166.818 111.52C166.861 111.536 166.904 111.553 166.946 111.569C167.422 111.752 167.893 111.947 168.359 112.154C168.394 112.17 168.429 112.185 168.463 112.2C168.611 112.267 168.759 112.336 168.906 112.405C168.941 112.422 168.976 112.439 169.011 112.455C169.149 112.521 169.288 112.588 169.426 112.656C169.476 112.681 169.525 112.706 169.575 112.731C170.202 113.046 170.819 113.384 171.423 113.744C171.443 113.756 171.463 113.768 171.483 113.78C171.625 113.865 171.765 113.952 171.905 114.039C171.954 114.07 172.003 114.1 172.052 114.131C172.813 114.612 173.554 115.129 174.271 115.683C174.302 115.706 174.331 115.73 174.361 115.754C174.926 116.193 175.477 116.655 176.011 117.139C176.045 117.17 176.079 117.2 176.113 117.231C176.231 117.339 176.348 117.448 176.464 117.558C176.492 117.585 176.521 117.612 176.55 117.639C176.664 117.747 176.777 117.857 176.89 117.968C176.9 117.978 176.911 117.988 176.922 117.998L176.923 117.999C178.91 119.962 180.646 122.246 182.046 124.828C183.559 127.619 184.566 130.55 185.101 133.513C185.108 133.556 185.115 133.6 185.123 133.644C185.195 134.053 185.258 134.464 185.312 134.875C185.321 134.944 185.331 135.014 185.34 135.083C185.354 135.2 185.367 135.318 185.38 135.436C185.387 135.498 185.394 135.56 185.4 135.622C185.412 135.73 185.423 135.838 185.433 135.945C185.442 136.047 185.451 136.149 185.459 136.25C185.466 136.333 185.473 136.417 185.479 136.5C185.49 136.638 185.5 136.777 185.508 136.915C185.527 137.24 185.54 137.566 185.549 137.891C185.551 137.969 185.553 138.047 185.555 138.125C185.557 138.228 185.558 138.331 185.559 138.434C185.559 138.515 185.56 138.596 185.56 138.677C185.559 138.781 185.558 138.885 185.557 138.989C185.556 139.072 185.554 139.154 185.553 139.236C185.541 139.81 185.512 140.383 185.467 140.953C185.461 141.024 185.454 141.095 185.448 141.166C185.439 141.268 185.431 141.37 185.421 141.472C185.414 141.539 185.406 141.606 185.399 141.674C185.359 142.054 185.312 142.432 185.257 142.81C185.241 142.916 185.226 143.022 185.209 143.128C185.198 143.198 185.187 143.267 185.176 143.337C185.157 143.452 185.137 143.568 185.117 143.684C185.104 143.761 185.089 143.839 185.075 143.916C185.009 144.273 184.938 144.629 184.858 144.983C184.839 145.07 184.818 145.157 184.798 145.244C184.777 145.334 184.755 145.423 184.733 145.513C184.714 145.592 184.696 145.671 184.676 145.75C184.644 145.878 184.61 146.005 184.576 146.133C184.562 146.187 184.549 146.241 184.534 146.295C184.434 146.662 184.326 147.027 184.212 147.391C184.199 147.432 184.184 147.472 184.171 147.514C184.125 147.659 184.078 147.804 184.029 147.948C184.013 147.997 183.997 148.045 183.98 148.094C183.93 148.24 183.878 148.386 183.825 148.531C183.814 148.561 183.805 148.592 183.794 148.622C183.658 148.994 183.515 149.363 183.364 149.729C183.355 149.753 183.345 149.776 183.335 149.799C183.269 149.959 183.201 150.119 183.132 150.278C183.12 150.305 183.107 150.331 183.096 150.357C182.858 150.899 182.605 151.434 182.334 151.961C182.314 152 182.293 152.038 182.273 152.076C182.201 152.217 182.127 152.357 182.052 152.496C182.037 152.523 182.022 152.549 182.008 152.576C181.928 152.722 181.847 152.868 181.765 153.013C181.746 153.046 181.728 153.079 181.709 153.111C180.904 154.518 179.978 155.862 178.937 157.128C178.915 157.154 178.894 157.181 178.872 157.207C178.489 157.67 178.089 158.121 177.675 158.562C177.656 158.581 177.638 158.601 177.619 158.62C176.761 159.527 175.84 160.386 174.854 161.187L174.859 161.191C174.479 161.513 174.1 161.837 173.725 162.162C173.284 162.544 172.846 162.929 172.412 163.316C171.697 163.955 170.991 164.602 170.294 165.256C169.882 165.642 169.473 166.031 169.068 166.423C168.391 167.077 167.723 167.739 167.064 168.408C166.979 168.495 166.893 168.583 166.808 168.67C165.808 169.692 164.829 170.729 163.871 171.783C163.824 171.835 163.777 171.888 163.729 171.94C162.417 173.39 161.145 174.869 159.914 176.376C159.883 176.415 159.851 176.454 159.819 176.492C159.208 177.242 158.607 177.999 158.017 178.763C155.56 181.937 153.279 185.226 151.179 188.614L151.168 188.607C150.266 189.991 149.239 191.303 148.097 192.528C148.066 192.561 148.036 192.595 148.005 192.628C147.86 192.782 147.711 192.934 147.562 193.085C147.51 193.138 147.458 193.193 147.405 193.246C147.256 193.396 147.103 193.544 146.95 193.69C146.902 193.737 146.853 193.784 146.805 193.83C146.663 193.964 146.518 194.097 146.373 194.229C146.294 194.3 146.215 194.372 146.135 194.442C146.005 194.557 145.875 194.671 145.743 194.783C145.657 194.857 145.57 194.931 145.482 195.004C145.347 195.117 145.209 195.23 145.071 195.341C144.98 195.414 144.888 195.486 144.796 195.559C144.668 195.659 144.541 195.759 144.411 195.857C144.304 195.938 144.195 196.018 144.087 196.098C143.957 196.194 143.826 196.29 143.693 196.384C143.579 196.465 143.464 196.544 143.349 196.623C143.228 196.706 143.106 196.79 142.983 196.872C142.857 196.956 142.73 197.039 142.602 197.121C142.478 197.201 142.354 197.281 142.229 197.359C142.066 197.461 141.901 197.56 141.735 197.658C141.652 197.708 141.569 197.76 141.484 197.81C141.223 197.962 140.958 198.111 140.69 198.256C136.285 200.644 131.535 201.777 126.853 201.772C126.385 201.772 125.917 201.76 125.451 201.737L124.752 201.693C124.287 201.659 123.823 201.615 123.36 201.559C122.898 201.502 122.438 201.435 121.979 201.356C120.834 201.161 119.701 200.897 118.588 200.566C118.143 200.434 117.7 200.291 117.262 200.138C116.823 199.984 116.388 199.821 115.957 199.646C109.923 197.208 104.67 192.737 101.326 186.569C97.4157 179.356 96.8742 171.219 99.168 163.969C99.2597 163.679 99.3563 163.39 99.457 163.104C99.6586 162.529 99.879 161.961 100.116 161.4C100.235 161.12 100.358 160.841 100.485 160.564C100.868 159.734 101.29 158.92 101.751 158.127L101.744 158.123C101.788 158.052 101.832 157.98 101.877 157.909C101.898 157.876 101.919 157.841 101.939 157.808C102.144 157.465 102.357 157.126 102.576 156.791C102.912 156.259 103.251 155.728 103.593 155.199C103.692 155.045 103.793 154.891 103.894 154.737C104.12 154.389 104.347 154.041 104.576 153.694C104.731 153.46 104.887 153.227 105.043 152.993C105.242 152.695 105.443 152.397 105.644 152.101C105.779 151.9 105.915 151.698 106.052 151.498C106.268 151.181 106.487 150.865 106.706 150.55C107.041 150.066 107.38 149.584 107.721 149.104C107.857 148.91 107.992 148.716 108.13 148.523C108.317 148.261 108.506 148 108.695 147.738C108.867 147.5 109.04 147.262 109.213 147.024C109.421 146.739 109.632 146.455 109.842 146.171C109.993 145.966 110.145 145.762 110.297 145.558C110.499 145.287 110.701 145.017 110.904 144.748C111.115 144.47 111.328 144.192 111.54 143.915C111.666 143.751 111.79 143.585 111.916 143.421C111.951 143.376 111.986 143.333 112.021 143.288C119.487 133.625 128.038 124.67 137.614 116.622C137.753 116.503 137.894 116.387 138.035 116.271C138.154 116.171 138.273 116.069 138.393 115.97L138.396 115.976C138.972 115.516 139.57 115.077 140.188 114.657C140.19 114.656 140.192 114.656 140.193 114.655C140.204 114.648 140.213 114.641 140.224 114.634C140.385 114.525 140.549 114.417 140.713 114.311C140.756 114.282 140.799 114.254 140.843 114.226C141.021 114.111 141.201 113.999 141.383 113.889C141.396 113.881 141.41 113.872 141.423 113.864C141.607 113.752 141.793 113.643 141.98 113.534C142.005 113.52 142.029 113.504 142.054 113.49C142.261 113.371 142.471 113.255 142.682 113.141C142.871 113.038 143.062 112.937 143.253 112.839C143.353 112.787 143.454 112.737 143.555 112.687C143.664 112.632 143.774 112.578 143.884 112.524C143.986 112.475 144.088 112.426 144.19 112.378C144.291 112.331 144.392 112.285 144.492 112.239C144.583 112.198 144.673 112.156 144.764 112.116C144.923 112.045 145.083 111.976 145.243 111.908C145.292 111.887 145.341 111.866 145.391 111.846C145.588 111.764 145.785 111.684 145.983 111.606C146.068 111.574 146.153 111.542 146.237 111.51C146.372 111.459 146.507 111.407 146.642 111.358C146.716 111.332 146.79 111.306 146.864 111.279C147.014 111.226 147.164 111.174 147.314 111.124C147.373 111.104 147.433 111.085 147.492 111.065C147.65 111.014 147.808 110.963 147.967 110.914C148.032 110.894 148.097 110.874 148.162 110.854C148.319 110.807 148.476 110.76 148.634 110.716C148.771 110.677 148.908 110.64 149.045 110.604C149.163 110.572 149.283 110.541 149.401 110.511C149.513 110.483 149.624 110.455 149.735 110.428C149.836 110.403 149.938 110.38 150.039 110.356C150.149 110.331 150.26 110.307 150.37 110.283C150.465 110.263 150.56 110.242 150.654 110.223C150.777 110.197 150.9 110.172 151.023 110.148C151.119 110.13 151.215 110.112 151.311 110.095C151.418 110.075 151.526 110.056 151.634 110.037C151.844 110.001 152.055 109.968 152.266 109.937C152.323 109.928 152.381 109.92 152.438 109.912C152.585 109.891 152.731 109.871 152.878 109.853C152.994 109.838 153.111 109.825 153.227 109.812C153.315 109.801 153.404 109.792 153.492 109.783C153.612 109.771 153.732 109.758 153.852 109.747C153.942 109.739 154.033 109.732 154.123 109.725C154.249 109.714 154.374 109.703 154.5 109.694C154.554 109.691 154.607 109.688 154.661 109.685C154.944 109.667 155.228 109.653 155.511 109.644C155.572 109.641 155.633 109.638 155.694 109.637C155.814 109.633 155.934 109.632 156.054 109.63C156.157 109.628 156.261 109.627 156.364 109.627C156.47 109.626 156.577 109.626 156.683 109.627C156.789 109.628 156.896 109.629 157.003 109.631ZM221.255 78.9775C237.291 78.9776 250.291 91.9777 250.291 108.014C250.291 124.05 237.291 137.05 221.255 137.05C205.219 137.05 192.219 124.05 192.219 108.014C192.219 91.9776 205.219 78.9775 221.255 78.9775Z" fill="<slot name='accent'></slot>"/>
</svg>
</template>
svg {
display: block;
}
Compiled module
emkodev-logo.widget.js — 13.8 kB. Component, companion files and styles in one ES module, byte-for-byte what emroute's own runtime builds when it transpiles the TypeScript above.
Save it as widgets/emkodev-logo/emkodev-logo.widget.js. The runtime picks it up on its next scan and <widget-emkodev-logo> starts resolving — the inlined __files export carries the styles, so there is nothing else to copy.
It imports @emkodev/emroute. Resolve it through your import map or bundler; the module needs nothing else.
View emkodev-logo.widget.js
import { escapeHtml, WidgetComponent } from "@emkodev/emroute";
const FRAME = "#0044FF";
const ACCENT = "white";
const SIGNAL = "#D4FD41";
const OUTLINE = "none";
const OUTLINE_WIDTH = "2";
const SIZE = "8rem";
class EmkodevLogoWidget extends WidgetComponent {
name = "emkodev-logo";
renderHTML({ params, context }) {
const source = context.files?.html;
if (!source) return "[:e]";
const logo = this.experimentalUseTemplate(source, "logo");
return logo({
frame: escapeHtml(params.frame ?? FRAME),
accent: escapeHtml(params.accent ?? ACCENT),
signal: escapeHtml(params.signal ?? SIGNAL),
outline: escapeHtml(params.outline ?? OUTLINE),
outlinewidth: escapeHtml(toNumeric(params.outlineWidth, OUTLINE_WIDTH)),
size: escapeHtml(toCssLength(params.size))
});
}
renderMarkdown() {
return "[:e]";
}
}
function toCssLength(size) {
if (size === void 0 || size === "") return SIZE;
return typeof size === "number" ? `${size}px` : size;
}
function toNumeric(value, fallback) {
if (value === void 0 || value === "") return fallback;
return String(value);
}
var stdin_default = new EmkodevLogoWidget();
export {
stdin_default as default
};
export const __files = {
html: `<template id="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500" width="<slot name='size'></slot>" height="<slot name='size'></slot>" fill="none" role="img" aria-label="emkodev">
<rect width="500" height="500" rx="58.072" fill="<slot name='frame'></slot>"/>
<path stroke="<slot name='outline'></slot>" stroke-width="<slot name='outlinewidth'></slot>" paint-order="stroke fill" d="M213.124 250.29C229.16 250.29 242.16 263.29 242.16 279.326C242.16 295.112 229.564 307.955 213.874 308.353L213.124 308.363H178.281L177.531 308.353C161.842 307.955 149.245 295.112 149.245 279.326C149.245 263.29 162.245 250.29 178.281 250.29H213.124ZM258.243 145.967C269.029 135.181 286.19 134.656 297.598 144.39L297.663 144.324L353.51 200.17C358.825 205.485 361.647 212.349 361.979 219.309C362.002 219.773 362.013 220.237 362.013 220.701C362.013 220.934 362.01 221.166 362.005 221.399C361.994 221.863 361.972 222.328 361.938 222.791C361.905 223.254 361.86 223.717 361.805 224.178C361.694 225.102 361.539 226.021 361.34 226.933C361.19 227.616 361.017 228.295 360.817 228.968C360.618 229.641 360.394 230.31 360.145 230.97C359.812 231.85 359.436 232.718 359.016 233.57C358.384 234.846 357.654 236.087 356.823 237.279C356.685 237.477 356.543 237.675 356.399 237.87C355.68 238.85 354.89 239.795 354.032 240.698L353.509 241.233L297.663 297.079L297.597 297.014C286.189 306.748 269.028 306.223 258.242 295.437C247.456 284.65 246.931 267.489 256.665 256.081L256.6 256.016L291.914 220.701L256.601 185.387L256.666 185.322C246.932 173.913 247.457 156.753 258.243 145.967Z" fill="<slot name='signal'></slot>"/>
<path stroke="<slot name='outline'></slot>" stroke-width="<slot name='outlinewidth'></slot>" paint-order="stroke fill" d="M91.2656 215.399C105.407 207.838 123.001 213.172 130.562 227.313C133.611 233.016 134.563 239.279 133.687 245.22C133.607 246.98 133.565 248.75 133.565 250.529C133.566 314.673 185.566 366.673 249.71 366.674C306.527 366.674 353.813 325.874 363.875 271.976L363.95 271.99C367.282 259.628 378.571 250.53 391.986 250.53C408.022 250.53 421.022 263.53 421.022 279.566C421.022 280.944 420.923 282.299 420.737 283.626L420.783 283.636C420.686 284.138 420.585 284.64 420.484 285.142C420.46 285.265 420.437 285.389 420.411 285.512C404.215 364.962 333.945 424.745 249.71 424.745C153.494 424.744 75.4934 346.745 75.4932 250.529C75.4932 246.006 75.6663 241.522 76.0049 237.086L76.1846 237.1C77.4016 228.188 82.7276 219.965 91.2656 215.399ZM157.003 109.631C157.109 109.633 157.215 109.635 157.321 109.638C157.418 109.64 157.514 109.645 157.61 109.648C158.051 109.665 158.49 109.693 158.929 109.729C159.008 109.736 159.088 109.743 159.167 109.75C159.278 109.76 159.39 109.772 159.501 109.783C159.608 109.794 159.714 109.806 159.82 109.818C159.93 109.831 160.041 109.844 160.15 109.857C160.254 109.871 160.357 109.885 160.461 109.899C160.564 109.914 160.668 109.928 160.771 109.943C160.852 109.955 160.933 109.968 161.014 109.98C161.272 110.021 161.53 110.066 161.787 110.113C161.841 110.123 161.895 110.133 161.948 110.144C162.068 110.166 162.187 110.19 162.307 110.214C162.407 110.234 162.507 110.255 162.606 110.276C162.717 110.3 162.827 110.326 162.938 110.351C163.004 110.366 163.071 110.38 163.137 110.396C163.789 110.548 164.435 110.725 165.074 110.922C165.146 110.944 165.219 110.966 165.291 110.989C165.805 111.152 166.314 111.329 166.818 111.52C166.861 111.536 166.904 111.553 166.946 111.569C167.422 111.752 167.893 111.947 168.359 112.154C168.394 112.17 168.429 112.185 168.463 112.2C168.611 112.267 168.759 112.336 168.906 112.405C168.941 112.422 168.976 112.439 169.011 112.455C169.149 112.521 169.288 112.588 169.426 112.656C169.476 112.681 169.525 112.706 169.575 112.731C170.202 113.046 170.819 113.384 171.423 113.744C171.443 113.756 171.463 113.768 171.483 113.78C171.625 113.865 171.765 113.952 171.905 114.039C171.954 114.07 172.003 114.1 172.052 114.131C172.813 114.612 173.554 115.129 174.271 115.683C174.302 115.706 174.331 115.73 174.361 115.754C174.926 116.193 175.477 116.655 176.011 117.139C176.045 117.17 176.079 117.2 176.113 117.231C176.231 117.339 176.348 117.448 176.464 117.558C176.492 117.585 176.521 117.612 176.55 117.639C176.664 117.747 176.777 117.857 176.89 117.968C176.9 117.978 176.911 117.988 176.922 117.998L176.923 117.999C178.91 119.962 180.646 122.246 182.046 124.828C183.559 127.619 184.566 130.55 185.101 133.513C185.108 133.556 185.115 133.6 185.123 133.644C185.195 134.053 185.258 134.464 185.312 134.875C185.321 134.944 185.331 135.014 185.34 135.083C185.354 135.2 185.367 135.318 185.38 135.436C185.387 135.498 185.394 135.56 185.4 135.622C185.412 135.73 185.423 135.838 185.433 135.945C185.442 136.047 185.451 136.149 185.459 136.25C185.466 136.333 185.473 136.417 185.479 136.5C185.49 136.638 185.5 136.777 185.508 136.915C185.527 137.24 185.54 137.566 185.549 137.891C185.551 137.969 185.553 138.047 185.555 138.125C185.557 138.228 185.558 138.331 185.559 138.434C185.559 138.515 185.56 138.596 185.56 138.677C185.559 138.781 185.558 138.885 185.557 138.989C185.556 139.072 185.554 139.154 185.553 139.236C185.541 139.81 185.512 140.383 185.467 140.953C185.461 141.024 185.454 141.095 185.448 141.166C185.439 141.268 185.431 141.37 185.421 141.472C185.414 141.539 185.406 141.606 185.399 141.674C185.359 142.054 185.312 142.432 185.257 142.81C185.241 142.916 185.226 143.022 185.209 143.128C185.198 143.198 185.187 143.267 185.176 143.337C185.157 143.452 185.137 143.568 185.117 143.684C185.104 143.761 185.089 143.839 185.075 143.916C185.009 144.273 184.938 144.629 184.858 144.983C184.839 145.07 184.818 145.157 184.798 145.244C184.777 145.334 184.755 145.423 184.733 145.513C184.714 145.592 184.696 145.671 184.676 145.75C184.644 145.878 184.61 146.005 184.576 146.133C184.562 146.187 184.549 146.241 184.534 146.295C184.434 146.662 184.326 147.027 184.212 147.391C184.199 147.432 184.184 147.472 184.171 147.514C184.125 147.659 184.078 147.804 184.029 147.948C184.013 147.997 183.997 148.045 183.98 148.094C183.93 148.24 183.878 148.386 183.825 148.531C183.814 148.561 183.805 148.592 183.794 148.622C183.658 148.994 183.515 149.363 183.364 149.729C183.355 149.753 183.345 149.776 183.335 149.799C183.269 149.959 183.201 150.119 183.132 150.278C183.12 150.305 183.107 150.331 183.096 150.357C182.858 150.899 182.605 151.434 182.334 151.961C182.314 152 182.293 152.038 182.273 152.076C182.201 152.217 182.127 152.357 182.052 152.496C182.037 152.523 182.022 152.549 182.008 152.576C181.928 152.722 181.847 152.868 181.765 153.013C181.746 153.046 181.728 153.079 181.709 153.111C180.904 154.518 179.978 155.862 178.937 157.128C178.915 157.154 178.894 157.181 178.872 157.207C178.489 157.67 178.089 158.121 177.675 158.562C177.656 158.581 177.638 158.601 177.619 158.62C176.761 159.527 175.84 160.386 174.854 161.187L174.859 161.191C174.479 161.513 174.1 161.837 173.725 162.162C173.284 162.544 172.846 162.929 172.412 163.316C171.697 163.955 170.991 164.602 170.294 165.256C169.882 165.642 169.473 166.031 169.068 166.423C168.391 167.077 167.723 167.739 167.064 168.408C166.979 168.495 166.893 168.583 166.808 168.67C165.808 169.692 164.829 170.729 163.871 171.783C163.824 171.835 163.777 171.888 163.729 171.94C162.417 173.39 161.145 174.869 159.914 176.376C159.883 176.415 159.851 176.454 159.819 176.492C159.208 177.242 158.607 177.999 158.017 178.763C155.56 181.937 153.279 185.226 151.179 188.614L151.168 188.607C150.266 189.991 149.239 191.303 148.097 192.528C148.066 192.561 148.036 192.595 148.005 192.628C147.86 192.782 147.711 192.934 147.562 193.085C147.51 193.138 147.458 193.193 147.405 193.246C147.256 193.396 147.103 193.544 146.95 193.69C146.902 193.737 146.853 193.784 146.805 193.83C146.663 193.964 146.518 194.097 146.373 194.229C146.294 194.3 146.215 194.372 146.135 194.442C146.005 194.557 145.875 194.671 145.743 194.783C145.657 194.857 145.57 194.931 145.482 195.004C145.347 195.117 145.209 195.23 145.071 195.341C144.98 195.414 144.888 195.486 144.796 195.559C144.668 195.659 144.541 195.759 144.411 195.857C144.304 195.938 144.195 196.018 144.087 196.098C143.957 196.194 143.826 196.29 143.693 196.384C143.579 196.465 143.464 196.544 143.349 196.623C143.228 196.706 143.106 196.79 142.983 196.872C142.857 196.956 142.73 197.039 142.602 197.121C142.478 197.201 142.354 197.281 142.229 197.359C142.066 197.461 141.901 197.56 141.735 197.658C141.652 197.708 141.569 197.76 141.484 197.81C141.223 197.962 140.958 198.111 140.69 198.256C136.285 200.644 131.535 201.777 126.853 201.772C126.385 201.772 125.917 201.76 125.451 201.737L124.752 201.693C124.287 201.659 123.823 201.615 123.36 201.559C122.898 201.502 122.438 201.435 121.979 201.356C120.834 201.161 119.701 200.897 118.588 200.566C118.143 200.434 117.7 200.291 117.262 200.138C116.823 199.984 116.388 199.821 115.957 199.646C109.923 197.208 104.67 192.737 101.326 186.569C97.4157 179.356 96.8742 171.219 99.168 163.969C99.2597 163.679 99.3563 163.39 99.457 163.104C99.6586 162.529 99.879 161.961 100.116 161.4C100.235 161.12 100.358 160.841 100.485 160.564C100.868 159.734 101.29 158.92 101.751 158.127L101.744 158.123C101.788 158.052 101.832 157.98 101.877 157.909C101.898 157.876 101.919 157.841 101.939 157.808C102.144 157.465 102.357 157.126 102.576 156.791C102.912 156.259 103.251 155.728 103.593 155.199C103.692 155.045 103.793 154.891 103.894 154.737C104.12 154.389 104.347 154.041 104.576 153.694C104.731 153.46 104.887 153.227 105.043 152.993C105.242 152.695 105.443 152.397 105.644 152.101C105.779 151.9 105.915 151.698 106.052 151.498C106.268 151.181 106.487 150.865 106.706 150.55C107.041 150.066 107.38 149.584 107.721 149.104C107.857 148.91 107.992 148.716 108.13 148.523C108.317 148.261 108.506 148 108.695 147.738C108.867 147.5 109.04 147.262 109.213 147.024C109.421 146.739 109.632 146.455 109.842 146.171C109.993 145.966 110.145 145.762 110.297 145.558C110.499 145.287 110.701 145.017 110.904 144.748C111.115 144.47 111.328 144.192 111.54 143.915C111.666 143.751 111.79 143.585 111.916 143.421C111.951 143.376 111.986 143.333 112.021 143.288C119.487 133.625 128.038 124.67 137.614 116.622C137.753 116.503 137.894 116.387 138.035 116.271C138.154 116.171 138.273 116.069 138.393 115.97L138.396 115.976C138.972 115.516 139.57 115.077 140.188 114.657C140.19 114.656 140.192 114.656 140.193 114.655C140.204 114.648 140.213 114.641 140.224 114.634C140.385 114.525 140.549 114.417 140.713 114.311C140.756 114.282 140.799 114.254 140.843 114.226C141.021 114.111 141.201 113.999 141.383 113.889C141.396 113.881 141.41 113.872 141.423 113.864C141.607 113.752 141.793 113.643 141.98 113.534C142.005 113.52 142.029 113.504 142.054 113.49C142.261 113.371 142.471 113.255 142.682 113.141C142.871 113.038 143.062 112.937 143.253 112.839C143.353 112.787 143.454 112.737 143.555 112.687C143.664 112.632 143.774 112.578 143.884 112.524C143.986 112.475 144.088 112.426 144.19 112.378C144.291 112.331 144.392 112.285 144.492 112.239C144.583 112.198 144.673 112.156 144.764 112.116C144.923 112.045 145.083 111.976 145.243 111.908C145.292 111.887 145.341 111.866 145.391 111.846C145.588 111.764 145.785 111.684 145.983 111.606C146.068 111.574 146.153 111.542 146.237 111.51C146.372 111.459 146.507 111.407 146.642 111.358C146.716 111.332 146.79 111.306 146.864 111.279C147.014 111.226 147.164 111.174 147.314 111.124C147.373 111.104 147.433 111.085 147.492 111.065C147.65 111.014 147.808 110.963 147.967 110.914C148.032 110.894 148.097 110.874 148.162 110.854C148.319 110.807 148.476 110.76 148.634 110.716C148.771 110.677 148.908 110.64 149.045 110.604C149.163 110.572 149.283 110.541 149.401 110.511C149.513 110.483 149.624 110.455 149.735 110.428C149.836 110.403 149.938 110.38 150.039 110.356C150.149 110.331 150.26 110.307 150.37 110.283C150.465 110.263 150.56 110.242 150.654 110.223C150.777 110.197 150.9 110.172 151.023 110.148C151.119 110.13 151.215 110.112 151.311 110.095C151.418 110.075 151.526 110.056 151.634 110.037C151.844 110.001 152.055 109.968 152.266 109.937C152.323 109.928 152.381 109.92 152.438 109.912C152.585 109.891 152.731 109.871 152.878 109.853C152.994 109.838 153.111 109.825 153.227 109.812C153.315 109.801 153.404 109.792 153.492 109.783C153.612 109.771 153.732 109.758 153.852 109.747C153.942 109.739 154.033 109.732 154.123 109.725C154.249 109.714 154.374 109.703 154.5 109.694C154.554 109.691 154.607 109.688 154.661 109.685C154.944 109.667 155.228 109.653 155.511 109.644C155.572 109.641 155.633 109.638 155.694 109.637C155.814 109.633 155.934 109.632 156.054 109.63C156.157 109.628 156.261 109.627 156.364 109.627C156.47 109.626 156.577 109.626 156.683 109.627C156.789 109.628 156.896 109.629 157.003 109.631ZM221.255 78.9775C237.291 78.9776 250.291 91.9777 250.291 108.014C250.291 124.05 237.291 137.05 221.255 137.05C205.219 137.05 192.219 124.05 192.219 108.014C192.219 91.9776 205.219 78.9775 221.255 78.9775Z" fill="<slot name='accent'></slot>"/>
</svg>
</template>
`,
css: `svg {
display: block;
}
`
};