Merge podcast-verse-by-verse into main

This commit is contained in:
nmemmert committed 2026-04-09 11:37:02 -04:00
commit f156257573
33 files changed
+2062 -4455

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.
Binary file not shown.
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Artwork" xmlns="http://www.w3.org/2000/svg" width="129.1546" height="41" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 129.1546 41">
<!-- Generator: Adobe Illustrator 29.8.1, SVG Export Plug-In . SVG Version: 2.1.1 Build 2) -->
<defs>
<style>
.st0 {
fill: #a6a6a6;
}
.st1 {
fill: #fff;
}
</style>
</defs>
<g>
<path class="st0" d="M119.1253.5H10.0347c-.3667,0-.729,0-1.0947.002-.3062.002-.6099.0078-.9189.0127-.6655.0166-1.3394.0576-2.0039.1768-.6694.1172-1.2915.3174-1.9009.627-.5986.3066-1.1455.7051-1.6187,1.1787-.4785.4736-.875,1.0225-1.1782,1.6211-.311.6084-.5083,1.2334-.625,1.9033-.1206.6621-.1621,1.332-.1792,2.002-.0093.3066-.0103.6143-.0151.9209v23.1143c.0049.3105.0059.6113.0151.9219.0171.6699.0586,1.3398.1792,2.0019.1167.6699.314,1.2979.625,1.9043.3032.5957.6997,1.1446,1.1782,1.6143.4731.4775,1.02.875,1.6187,1.1787.6094.3125,1.2314.5098,1.9009.6308.6646.1192,1.3384.1583,2.0039.1768.3091.0068.6128.0107.9189.0107.3657.002.728.002,1.0947.002h109.0906c.3594,0,.7246,0,1.084-.002.3047,0,.6172-.0039.9219-.0107.6699-.0185,1.3418-.0576,2-.1768.6699-.121,1.2929-.3183,1.9082-.6308.5976-.3037,1.1445-.7012,1.6172-1.1787.4765-.4697.873-1.0186,1.1816-1.6143.3066-.6064.5059-1.2344.6191-1.9043.1231-.6621.1621-1.332.1856-2.0019.0039-.3106.0039-.6114.0039-.9219.0078-.3633.0078-.7246.0078-1.0938V10.0361c0-.3662,0-.7295-.0078-1.0918,0-.3066,0-.6143-.0039-.9209-.0235-.6699-.0625-1.3399-.1856-2.002-.1132-.6699-.3125-1.2949-.6191-1.9033-.3086-.5986-.7051-1.1475-1.1816-1.6211-.4727-.4736-1.0196-.8721-1.6172-1.1787-.6153-.3096-1.2383-.5098-1.9082-.627-.6582-.1191-1.3301-.1602-2-.1768-.3047-.0049-.6172-.0107-.9219-.0127-.3594-.002-.7246-.002-1.084-.002h0Z"/>
<path d="M8.9448,39.625c-.3047,0-.602-.0039-.9043-.0107-.5591-.0157-1.2222-.0469-1.8691-.1631-.6103-.1104-1.1528-.2901-1.6567-.5479-.5215-.2646-.9902-.6064-1.397-1.0166-.4141-.4062-.7544-.873-1.0205-1.3965-.2593-.5048-.4365-1.0468-.543-1.6572-.1221-.6728-.1533-1.3555-.1665-1.875-.0063-.2109-.0146-.9131-.0146-.9131V8.9443s.0088-.6914.0146-.8945c.0132-.5239.0444-1.2061.1655-1.8721.1069-.6138.2842-1.1553.5435-1.6621.2656-.5244.6065-.9937,1.0151-1.398.4136-.4141.8843-.7568,1.4023-1.0225.5137-.2607,1.0552-.439,1.6533-.5439.6733-.1206,1.356-.1509,1.8755-.1641l.9023-.0122h111.259l.9131.0127c.5127.0127,1.1953.043,1.8584.1626.6025.1055,1.1475.2847,1.6709.5479.5127.2627.9824.6055,1.3916,1.0156.4092.4062.7519.8779,1.0234,1.4043.2578.5112.4336,1.0527.5352,1.6489.1162.6309.1523,1.2788.1738,1.8872.0029.2832.0029.5874.0029.8901.0079.375.0079.7319.0079,1.0918v20.9287c0,.3633,0,.7178-.0079,1.0752,0,.3252,0,.6231-.0039.9297-.0205.5889-.0566,1.2364-.1709,1.8535-.1035.6133-.2793,1.1553-.54,1.67-.2695.5195-.6123.9892-1.0156,1.3857-.4131.418-.8819.7588-1.3994,1.0225-.5186.2636-1.0479.4384-1.668.5498-.6406.1162-1.3037.1474-1.8692.1631-.2929.0068-.5996.0107-.8974.0107l-1.084.002-110.1804-.002Z"/>
<image width="2048" height="2048" transform="translate(8.0494 7.9204) scale(.0123)" xlink:href="data:image/png;base64,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 truncated
</g>
<g>
<g>
<g>
<path class="st1" d="M57.1802,19.2635c2.4126,0,4.0928,1.6631,4.0928,4.0843,0,2.4299-1.7146,4.1016-4.1532,4.1016h-2.6713v4.2481h-1.9302v-12.434h4.6617ZM54.4486,25.8295h2.2145c1.6803,0,2.6367-.9047,2.6367-2.473s-.9563-2.4643-2.6281-2.4643h-2.2232v4.9373Z"/>
<path class="st1" d="M61.5577,27.1652c0-2.9124,1.7147-4.6962,4.2998-4.6962s4.2998,1.7837,4.2998,4.6962c0,2.9211-1.7061,4.7048-4.2998,4.7048s-4.2998-1.7837-4.2998-4.7048ZM68.2615,27.1652c0-2.0076-.9479-3.1622-2.404-3.1622s-2.4042,1.1546-2.4042,3.1622c0,2.0164.9479,3.171,2.4042,3.171,1.4648,0,2.404-1.1546,2.404-3.171Z"/>
<path class="st1" d="M71.1924,27.1652c0-2.8607,1.5165-4.6789,3.7913-4.6789,1.3011,0,2.3352.6549,2.8435,1.6544h.0346v-4.8772h1.8698v12.434h-1.8095v-1.5424h-.0346c-.5342,1.034-1.5682,1.6975-2.8865,1.6975-2.2921,0-3.8086-1.8268-3.8086-4.6875ZM73.0966,27.1652c0,1.9129.9219,3.1107,2.3955,3.1107,1.4304,0,2.3867-1.215,2.3867-3.1107,0-1.8785-.9563-3.1105-2.3867-3.1105-1.4736,0-2.3955,1.2063-2.3955,3.1105Z"/>
<path class="st1" d="M87.431,25.7521c-.1895-.9652-.9133-1.732-2.1283-1.732-1.439,0-2.3869,1.1977-2.3869,3.1451,0,1.9905.9565,3.1451,2.4042,3.1451,1.146,0,1.8956-.6289,2.111-1.6802h1.7924c-.1983,1.9302-1.7407,3.2399-3.9206,3.2399-2.5936,0-4.2825-1.7751-4.2825-4.7048,0-2.878,1.6888-4.6962,4.2652-4.6962,2.3352,0,3.7569,1.4993,3.9206,3.2831h-1.7751Z"/>
<path class="st1" d="M90.1809,29.1212c0-1.5856,1.215-2.5592,3.3692-2.6799l2.4816-.1464v-.6979c0-1.0082-.6808-1.6114-1.8181-1.6114-1.0772,0-1.7493.5169-1.913,1.327h-1.7578c.1034-1.6373,1.4993-2.8436,3.7396-2.8436,2.1974,0,3.6019,1.1633,3.6019,2.9814v6.2472h-1.7837v-1.4907h-.043c-.5255,1.0082-1.6715,1.6458-2.8607,1.6458-1.7751,0-3.0158-1.1029-3.0158-2.7314ZM96.0317,28.3027v-.7152l-2.2318.1378c-1.1116.0776-1.7405.5688-1.7405,1.3443,0,.7926.6549,1.3097,1.6544,1.3097,1.3011,0,2.3179-.8962,2.3179-2.0766Z"/>
<path class="st1" d="M102.9151,22.469c2.1111,0,3.4812,1.1719,3.5415,2.8436h-1.7493c-.1034-.8789-.7496-1.4304-1.7922-1.4304-1.0082,0-1.6803.4911-1.6803,1.215,0,.5686.4137.9563,1.396,1.1804l1.4734.3361c1.8527.4308,2.5592,1.1546,2.5592,2.4643,0,1.6544-1.5424,2.7919-3.6793,2.7919-2.2662,0-3.6278-1.1116-3.8001-2.835h1.8441c.1724.9479.8186,1.4133,1.9561,1.4133,1.1201,0,1.8095-.4654,1.8095-1.2063,0-.586-.3361-.9308-1.327-1.1548l-1.4734-.3445c-1.7234-.3964-2.5765-1.2236-2.5765-2.542,0-1.62,1.4133-2.7316,3.4985-2.7316Z"/>
<path class="st1" d="M110.5601,20.4872v2.1456h1.7232v1.4736h-1.7232v4.9977c0,.7842.3445,1.1373,1.1029,1.1373.1895,0,.4911-.0171.6116-.043v1.4734c-.2068.0519-.6203.0863-1.034.0863-1.8354,0-2.5506-.6979-2.5506-2.4472v-5.2044h-1.3183v-1.4736h1.3183v-2.1456h1.87Z"/>
<path class="st1" d="M117.091,22.469c2.1111,0,3.4812,1.1719,3.5415,2.8436h-1.7493c-.1034-.8789-.7496-1.4304-1.7922-1.4304-1.0082,0-1.6803.4911-1.6803,1.215,0,.5686.4137.9563,1.396,1.1804l1.4734.3361c1.8527.4308,2.5592,1.1546,2.5592,2.4643,0,1.6544-1.5424,2.7919-3.6793,2.7919-2.2662,0-3.6278-1.1116-3.8001-2.835h1.8441c.1724.9479.8186,1.4133,1.9561,1.4133,1.1201,0,1.8095-.4654,1.8095-1.2063,0-.586-.3361-.9308-1.327-1.1548l-1.4734-.3445c-1.7234-.3964-2.5765-1.2236-2.5765-2.542,0-1.62,1.4133-2.7316,3.4985-2.7316Z"/>
</g>
<g>
<path class="st1" d="M47.2904,21.5824c-1.1094-.0821-2.0505.6196-2.5756.6196-.5327,0-1.3541-.602-2.2251-.5855-1.1436.0168-2.1976.6654-2.7873,1.6894-1.1878,2.0617-.3032,5.1168.8538,6.7898.5659.8175,1.2409,1.7387,2.1275,1.7052.8534-.0336,1.1762-.552,2.2078-.552,1.0309,0,1.3217.552,2.2242.5354.9185-.0171,1.5005-.8344,2.0623-1.6564.6501-.9489.9172-1.8676.9331-1.9162-.0203-.0077-1.7905-.6869-1.8082-2.7263-.016-1.7051,1.3918-2.5247,1.4558-2.5641-.7991-1.1769-2.0334-1.3067-2.4682-1.3389Z"/>
<path class="st1" d="M46.6059,20.478c.4712-.5694.7882-1.3624.7009-2.1512-.6781.0269-1.4983.4517-1.9846,1.0208-.4356.5041-.8181,1.3115-.7142,2.0841.7558.0584,1.5272-.3839,1.998-.9537Z"/>
</g>
</g>
<g>
<path class="st1" d="M39.8898,9.2729h.9297v5.1875h2.8057v.8018h-3.7354v-5.9893Z"/>
<path class="st1" d="M44.7189,9.3891c0-.3115.2534-.5645.5645-.5645.3076,0,.5645.2529.5645.5645,0,.3066-.2568.5605-.5645.5605-.311,0-.5645-.2539-.5645-.5605ZM44.8312,10.7543h.8965v4.5078h-.8965v-4.5078Z"/>
<path class="st1" d="M46.9381,14.0834v-.0049h.9009l.0039.0049c.1123.3398.4399.5684.9756.5684.5557,0,.9419-.2529.9419-.623v-.0078c0-.2822-.2114-.4736-.7349-.5938l-.7178-.166c-.8506-.1953-1.2451-.5811-1.2451-1.2412v-.0039c0-.7842.7305-1.3486,1.7515-1.3486,1.0293,0,1.689.5146,1.7681,1.249v.0039h-.8594v-.0078c-.0869-.3154-.4062-.5518-.9131-.5518-.4937,0-.8506.2441-.8506.6055v.0088c0,.2822.2075.4561.7139.5762l.7139.1621c.8672.2031,1.2822.5732,1.2822,1.2246v.0078c0,.835-.7969,1.4033-1.8672,1.4033-1.0879,0-1.7764-.5107-1.8638-1.2656Z"/>
<path class="st1" d="M52.133,14.0746v-2.6104h-.7051v-.71h.7051v-1.1367h.9175v1.1367h.9673v.71h-.9673v2.3945c0,.4854.1826.6846.6265.6846.1372,0,.2158-.0039.3408-.0166v.7188c-.1455.0244-.3115.0449-.4858.0449-.9917,0-1.3989-.3486-1.3989-1.2158Z"/>
<path class="st1" d="M54.9152,13.0209v-.0049c0-1.4062.8135-2.3486,2.0713-2.3486s2.0293.9092,2.0293,2.2617v.3154h-3.1958c.0166.8633.4897,1.3652,1.2329,1.3652.5767,0,.9209-.2861,1.0293-.5186l.0166-.0332.8672-.0039-.0083.0371c-.1494.5938-.772,1.2578-1.9258,1.2578-1.3198,0-2.1167-.9004-2.1167-2.3281ZM55.8322,12.601h2.291c-.0703-.8047-.5225-1.1953-1.1328-1.1953-.6143,0-1.0791.4199-1.1582,1.1953Z"/>
<path class="st1" d="M60.2047,10.7543h.9009v.6846h.0664c.2197-.4814.6514-.7715,1.3071-.7715,1.0083,0,1.5649.6016,1.5649,1.6768v2.918h-.8965v-2.7061c0-.7471-.3115-1.1172-.9717-1.1172-.6597,0-1.0703.4531-1.0703,1.1787v2.6445h-.9009v-4.5078Z"/>
<path class="st1" d="M67.6349,13.0121v-.0078c0-1.4492.8135-2.3369,2.1333-2.3369,1.3159,0,2.1294.8838,2.1294,2.3369v.0078c0,1.4531-.8096,2.3369-2.1294,2.3369-1.3237,0-2.1333-.8838-2.1333-2.3369ZM70.9801,13.0121v-.0078c0-1.001-.4399-1.5859-1.2119-1.5859-.7759,0-1.2119.585-1.2119,1.5859v.0078c0,1,.436,1.5859,1.2119,1.5859.772,0,1.2119-.5898,1.2119-1.5859Z"/>
<path class="st1" d="M73.0861,10.7543h.9004v.6846h.0664c.2202-.4814.6519-.7715,1.3076-.7715,1.0088,0,1.5645.6016,1.5645,1.6768v2.918h-.8965v-2.7061c0-.7471-.311-1.1172-.9707-1.1172-.6602,0-1.0713.4531-1.0713,1.1787v2.6445h-.9004v-4.5078Z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 651 KiB

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Artwork" xmlns="http://www.w3.org/2000/svg" width="113.7899" height="26.164" version="1.1" viewBox="0 0 113.7899 26.164">
<!-- Generator: Adobe Illustrator 29.8.1, SVG Export Plug-In . SVG Version: 2.1.1 Build 2) -->
<g>
<g>
<g>
<path d="M49.6308,11.8432c2.4126,0,4.0928,1.6631,4.0928,4.0843,0,2.4299-1.7146,4.1016-4.1532,4.1016h-2.6713v4.2481h-1.9302v-12.434h4.6617ZM46.8992,18.4092h2.2145c1.6803,0,2.6367-.9047,2.6367-2.473s-.9563-2.4643-2.6281-2.4643h-2.2232v4.9373Z"/>
<path d="M54.0083,19.7448c0-2.9124,1.7147-4.6962,4.2998-4.6962s4.2998,1.7837,4.2998,4.6962c0,2.9211-1.7061,4.7048-4.2998,4.7048s-4.2998-1.7837-4.2998-4.7048ZM60.7121,19.7448c0-2.0076-.9479-3.1622-2.404-3.1622s-2.4042,1.1546-2.4042,3.1622c0,2.0164.9479,3.171,2.4042,3.171,1.4648,0,2.404-1.1546,2.404-3.171Z"/>
<path d="M63.643,19.7448c0-2.8607,1.5165-4.6789,3.7913-4.6789,1.3011,0,2.3352.6549,2.8435,1.6544h.0346v-4.8772h1.8698v12.434h-1.8095v-1.5424h-.0346c-.5342,1.034-1.5682,1.6975-2.8865,1.6975-2.2921,0-3.8086-1.8268-3.8086-4.6875ZM65.5472,19.7448c0,1.9129.9219,3.1107,2.3955,3.1107,1.4304,0,2.3867-1.215,2.3867-3.1107,0-1.8785-.9563-3.1105-2.3867-3.1105-1.4736,0-2.3955,1.2063-2.3955,3.1105Z"/>
<path d="M79.8816,18.3317c-.1895-.9652-.9133-1.732-2.1283-1.732-1.439,0-2.3869,1.1977-2.3869,3.1451,0,1.9905.9565,3.1451,2.4042,3.1451,1.146,0,1.8956-.6289,2.111-1.6802h1.7924c-.1983,1.9302-1.7407,3.2399-3.9206,3.2399-2.5936,0-4.2825-1.7751-4.2825-4.7048,0-2.878,1.6888-4.6962,4.2652-4.6962,2.3352,0,3.7569,1.4993,3.9206,3.2831h-1.7751Z"/>
<path d="M82.6315,21.7009c0-1.5856,1.215-2.5592,3.3692-2.6799l2.4816-.1464v-.6979c0-1.0082-.6808-1.6114-1.8181-1.6114-1.0772,0-1.7493.5169-1.913,1.327h-1.7578c.1034-1.6373,1.4993-2.8436,3.7396-2.8436,2.1974,0,3.6019,1.1633,3.6019,2.9814v6.2472h-1.7837v-1.4907h-.043c-.5255,1.0082-1.6715,1.6458-2.8607,1.6458-1.7751,0-3.0158-1.1029-3.0158-2.7314ZM88.4823,20.8823v-.7152l-2.2318.1378c-1.1116.0776-1.7405.5688-1.7405,1.3443,0,.7926.6549,1.3097,1.6544,1.3097,1.3011,0,2.3179-.8962,2.3179-2.0766Z"/>
<path d="M95.3657,15.0486c2.1111,0,3.4812,1.1719,3.5415,2.8436h-1.7493c-.1034-.8789-.7496-1.4304-1.7922-1.4304-1.0082,0-1.6803.4911-1.6803,1.215,0,.5686.4137.9563,1.396,1.1804l1.4734.3361c1.8527.4308,2.5592,1.1546,2.5592,2.4643,0,1.6544-1.5424,2.7919-3.6793,2.7919-2.2662,0-3.6278-1.1116-3.8001-2.835h1.8441c.1724.9479.8186,1.4133,1.9561,1.4133,1.1201,0,1.8095-.4654,1.8095-1.2063,0-.586-.3361-.9308-1.327-1.1548l-1.4734-.3445c-1.7234-.3964-2.5765-1.2236-2.5765-2.542,0-1.62,1.4133-2.7316,3.4985-2.7316Z"/>
<path d="M103.0107,13.0668v2.1456h1.7232v1.4736h-1.7232v4.9977c0,.7842.3445,1.1373,1.1029,1.1373.1895,0,.4911-.0171.6116-.043v1.4734c-.2068.0519-.6203.0863-1.034.0863-1.8354,0-2.5506-.6979-2.5506-2.4472v-5.2044h-1.3183v-1.4736h1.3183v-2.1456h1.87Z"/>
<path d="M109.5416,15.0486c2.1111,0,3.4812,1.1719,3.5415,2.8436h-1.7493c-.1034-.8789-.7496-1.4304-1.7922-1.4304-1.0082,0-1.6803.4911-1.6803,1.215,0,.5686.4137.9563,1.396,1.1804l1.4734.3361c1.8527.4308,2.5592,1.1546,2.5592,2.4643,0,1.6544-1.5424,2.7919-3.6793,2.7919-2.2662,0-3.6278-1.1116-3.8001-2.835h1.8441c.1724.9479.8186,1.4133,1.9561,1.4133,1.1201,0,1.8095-.4654,1.8095-1.2063,0-.586-.3361-.9308-1.327-1.1548l-1.4734-.3445c-1.7234-.3964-2.5765-1.2236-2.5765-2.542,0-1.62,1.4133-2.7316,3.4985-2.7316Z"/>
</g>
<g>
<path d="M39.741,14.162c-1.1094-.0821-2.0505.6196-2.5756.6196-.5327,0-1.3541-.602-2.2251-.5855-1.1436.0168-2.1976.6654-2.7873,1.6894-1.1878,2.0617-.3032,5.1168.8538,6.7898.5659.8175,1.2409,1.7387,2.1275,1.7052.8534-.0336,1.1762-.552,2.2078-.552,1.0309,0,1.3217.552,2.2242.5354.9185-.0171,1.5005-.8344,2.0623-1.6564.6501-.9489.9172-1.8676.9331-1.9162-.0203-.0077-1.7905-.6869-1.8082-2.7263-.016-1.7051,1.3918-2.5247,1.4558-2.5641-.7991-1.1769-2.0334-1.3067-2.4682-1.3389Z"/>
<path d="M39.0565,13.0576c.4712-.5694.7882-1.3624.7009-2.1512-.6781.0269-1.4983.4517-1.9846,1.0208-.4356.5041-.8181,1.3115-.7142,2.0841.7558.0584,1.5272-.3839,1.998-.9537Z"/>
</g>
</g>
<g>
<path d="M32.3404,1.8525h.9297v5.1875h2.8057v.8018h-3.7354V1.8525Z"/>
<path d="M37.1695,1.9687c0-.3115.2534-.5645.5645-.5645.3076,0,.5645.2529.5645.5645,0,.3066-.2568.5605-.5645.5605-.311,0-.5645-.2539-.5645-.5605ZM37.2818,3.3339h.8965v4.5078h-.8965V3.3339Z"/>
<path d="M39.3887,6.663v-.0049h.9009l.0039.0049c.1123.3398.4399.5684.9756.5684.5557,0,.9419-.2529.9419-.623v-.0078c0-.2822-.2114-.4736-.7349-.5938l-.7178-.166c-.8506-.1953-1.2451-.5811-1.2451-1.2412v-.0039c0-.7842.7305-1.3486,1.7515-1.3486,1.0293,0,1.689.5146,1.7681,1.249v.0039h-.8594v-.0078c-.0869-.3154-.4062-.5518-.9131-.5518-.4937,0-.8506.2441-.8506.6055v.0088c0,.2822.2075.4561.7139.5762l.7139.1621c.8672.2031,1.2822.5732,1.2822,1.2246v.0078c0,.835-.7969,1.4033-1.8672,1.4033-1.0879,0-1.7764-.5107-1.8638-1.2656Z"/>
<path d="M44.5836,6.6543v-2.6104h-.7051v-.71h.7051v-1.1367h.9175v1.1367h.9673v.71h-.9673v2.3945c0,.4854.1826.6846.6265.6846.1372,0,.2158-.0039.3408-.0166v.7188c-.1455.0244-.3115.0449-.4858.0449-.9917,0-1.3989-.3486-1.3989-1.2158Z"/>
<path d="M47.3658,5.6005v-.0049c0-1.4062.8135-2.3486,2.0713-2.3486s2.0293.9092,2.0293,2.2617v.3154h-3.1958c.0166.8633.4897,1.3652,1.2329,1.3652.5767,0,.9209-.2861,1.0293-.5186l.0166-.0332.8672-.0039-.0083.0371c-.1494.5938-.772,1.2578-1.9258,1.2578-1.3198,0-2.1167-.9004-2.1167-2.3281ZM48.2828,5.1806h2.291c-.0703-.8047-.5225-1.1953-1.1328-1.1953-.6143,0-1.0791.4199-1.1582,1.1953Z"/>
<path d="M52.6553,3.3339h.9009v.6846h.0664c.2197-.4814.6514-.7715,1.3071-.7715,1.0083,0,1.5649.6016,1.5649,1.6768v2.918h-.8965v-2.7061c0-.7471-.3115-1.1172-.9717-1.1172-.6597,0-1.0703.4531-1.0703,1.1787v2.6445h-.9009V3.3339Z"/>
<path d="M60.0855,5.5918v-.0078c0-1.4492.8135-2.3369,2.1333-2.3369,1.3159,0,2.1294.8838,2.1294,2.3369v.0078c0,1.4531-.8096,2.3369-2.1294,2.3369-1.3237,0-2.1333-.8838-2.1333-2.3369ZM63.4307,5.5918v-.0078c0-1.001-.4399-1.5859-1.2119-1.5859-.7759,0-1.2119.585-1.2119,1.5859v.0078c0,1,.436,1.5859,1.2119,1.5859.772,0,1.2119-.5898,1.2119-1.5859Z"/>
<path d="M65.5367,3.3339h.9004v.6846h.0664c.2202-.4814.6519-.7715,1.3076-.7715,1.0088,0,1.5645.6016,1.5645,1.6768v2.918h-.8965v-2.7061c0-.7471-.311-1.1172-.9707-1.1172-.6602,0-1.0713.4531-1.0713,1.1787v2.6445h-.9004V3.3339Z"/>
</g>
</g>
<path d="M25.6619,8.6162c-.0017-.2948-.0051-.5895-.0131-.8843-.0174-.6422-.0552-1.29-.1694-1.9251-.1158-.6443-.3048-1.2439-.6028-1.8293-.2929-.5753-.6755-1.1018-1.132-1.5583-.4565-.4565-.983-.8392-1.5583-1.132-.5854-.298-1.185-.487-1.8293-.6028-.6351-.1142-1.2829-.152-1.9251-.1694-.2947-.008-.5895-.0114-.8843-.0131-.35-.0022-.7-.0021-1.05-.0021h-6.8316c-.35,0-.7-.0001-1.05.0021-.2948.0017-.5895.0051-.8842.0131-.6422.0174-1.29.0552-1.9251.1694-.6443.1158-1.2439.3048-1.8293.6028-.5753.2929-1.1018.6755-1.5583,1.132s-.8392.983-1.132,1.5583c-.298.5854-.487,1.185-.6028,1.8293-.1142.6351-.152,1.2829-.1694,1.9251-.008.2947-.0114.5895-.0131.8843-.0022.35-.0021.7-.0021,1.05v6.8316c0,.35-.0001.7.0021,1.05.0017.2948.0051.5895.0131.8843.0174.6422.0552,1.29.1694,1.9251.1158.6443.3048,1.2439.6028,1.8293.2929.5753.6755,1.1018,1.132,1.5583s.983.8392,1.5583,1.132c.5854.298,1.185.487,1.8293.6028.6351.1142,1.2829.152,1.9251.1694.2947.008.5894.0114.8842.0131.35.0022.7.0021,1.05.0021h6.8316c.35,0,.7.0001,1.05-.0021.2948-.0017.5895-.0051.8843-.0131.6422-.0174,1.29-.0552,1.9251-.1694.6443-.1158,1.2439-.3048,1.8293-.6028.5753-.2929,1.1018-.6755,1.5583-1.132.4565-.4565.8392-.983,1.132-1.5583.298-.5854.487-1.185.6028-1.8293.1142-.6351.152-1.2829.1694-1.9251.008-.2947.0114-.5895.0131-.8843.0022-.35.0021-.7.0021-1.05v-6.8316c0-.35.0001-.7-.0021-1.05ZM14.7462,21.7244c-.3066,1.028-.7664,1.4337-1.6862,1.4337-.9287,0-1.3886-.4057-1.6862-1.4337-.2164-.7394-.6582-3.3904-.6582-5.0224,0-1.0189.8927-2.0829,2.3444-2.0829s2.3354,1.064,2.3354,2.0829c0,1.6321-.4418,4.283-.6492,5.0224ZM10.8509,11.6344c0-1.1993.9829-2.1821,2.2092-2.1821,1.2083,0,2.1911.9829,2.1911,2.1821,0,1.2263-.9829,2.2182-2.1911,2.2182-1.2263,0-2.2092-.9919-2.2092-2.2182ZM13.0511,7.1801c-2.5789,0-4.6708,2.0919-4.6708,4.6618,0,1.4427.6582,2.7321,1.7042,3.5797-.1894.2976-.3066.6222-.3697.9739-1.4157-1.0189-2.3264-2.6871-2.3264-4.5536,0-3.1199,2.5338-5.6627,5.6627-5.6627,3.1199,0,5.6627,2.5428,5.6627,5.6627,0,1.8665-.9288,3.5256-2.3173,4.5445-.0631-.3787-.1894-.6492-.3877-.9738,1.0369-.8386,1.7042-2.137,1.7042-3.5707,0-2.5698-2.0919-4.6618-4.6618-4.6618ZM16.0447,20.6153c.0541-.3697.1172-.7664.1623-1.1632,2.8854-1.2173,4.9142-4.0666,4.9142-7.3939,0-4.4544-3.6158-8.0611-8.0612-8.0611-4.4634,0-8.0792,3.6068-8.0792,8.0611,0,3.3273,2.0288,6.1856,4.9233,7.3939.0451.3877.1082.7935.1623,1.1542-3.5437-1.2263-6.0774-4.5806-6.0774-8.5481C3.989,7.0538,8.0467,2.9962,13.0601,2.9962c5.0044,0,9.053,4.0576,9.053,9.062,0,3.9585-2.5427,7.3218-6.0684,8.5571Z"/>
</svg>

After

Width:  |  Height:  |  Size: 8.7 KiB

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Artwork" xmlns="http://www.w3.org/2000/svg" width="113.7899" height="26.164" version="1.1" viewBox="0 0 113.7899 26.164">
<!-- Generator: Adobe Illustrator 29.8.1, SVG Export Plug-In . SVG Version: 2.1.1 Build 2) -->
<defs>
<style>
.st0 {
fill: #fff;
}
</style>
</defs>
<g>
<g>
<g>
<path class="st0" d="M49.6308,11.8432c2.4126,0,4.0928,1.6631,4.0928,4.0843,0,2.4299-1.7146,4.1016-4.1532,4.1016h-2.6713v4.2481h-1.9302v-12.434h4.6617ZM46.8992,18.4092h2.2145c1.6803,0,2.6367-.9047,2.6367-2.473s-.9563-2.4643-2.6281-2.4643h-2.2232v4.9373Z"/>
<path class="st0" d="M54.0083,19.7448c0-2.9124,1.7147-4.6962,4.2998-4.6962s4.2998,1.7837,4.2998,4.6962c0,2.9211-1.7061,4.7048-4.2998,4.7048s-4.2998-1.7837-4.2998-4.7048ZM60.7121,19.7448c0-2.0076-.9479-3.1622-2.404-3.1622s-2.4042,1.1546-2.4042,3.1622c0,2.0164.9479,3.171,2.4042,3.171,1.4648,0,2.404-1.1546,2.404-3.171Z"/>
<path class="st0" d="M63.643,19.7448c0-2.8607,1.5165-4.6789,3.7913-4.6789,1.3011,0,2.3352.6549,2.8435,1.6544h.0346v-4.8772h1.8698v12.434h-1.8095v-1.5424h-.0346c-.5342,1.034-1.5682,1.6975-2.8865,1.6975-2.2921,0-3.8086-1.8268-3.8086-4.6875ZM65.5472,19.7448c0,1.9129.9219,3.1107,2.3955,3.1107,1.4304,0,2.3867-1.215,2.3867-3.1107,0-1.8785-.9563-3.1105-2.3867-3.1105-1.4736,0-2.3955,1.2063-2.3955,3.1105Z"/>
<path class="st0" d="M79.8816,18.3317c-.1895-.9652-.9133-1.732-2.1283-1.732-1.439,0-2.3869,1.1977-2.3869,3.1451,0,1.9905.9565,3.1451,2.4042,3.1451,1.146,0,1.8956-.6289,2.111-1.6802h1.7924c-.1983,1.9302-1.7407,3.2399-3.9206,3.2399-2.5936,0-4.2825-1.7751-4.2825-4.7048,0-2.878,1.6888-4.6962,4.2652-4.6962,2.3352,0,3.7569,1.4993,3.9206,3.2831h-1.7751Z"/>
<path class="st0" d="M82.6315,21.7009c0-1.5856,1.215-2.5592,3.3692-2.6799l2.4816-.1464v-.6979c0-1.0082-.6808-1.6114-1.8181-1.6114-1.0772,0-1.7493.5169-1.913,1.327h-1.7578c.1034-1.6373,1.4993-2.8436,3.7396-2.8436,2.1974,0,3.6019,1.1633,3.6019,2.9814v6.2472h-1.7837v-1.4907h-.043c-.5255,1.0082-1.6715,1.6458-2.8607,1.6458-1.7751,0-3.0158-1.1029-3.0158-2.7314ZM88.4823,20.8823v-.7152l-2.2318.1378c-1.1116.0776-1.7405.5688-1.7405,1.3443,0,.7926.6549,1.3097,1.6544,1.3097,1.3011,0,2.3179-.8962,2.3179-2.0766Z"/>
<path class="st0" d="M95.3657,15.0486c2.1111,0,3.4812,1.1719,3.5415,2.8436h-1.7493c-.1034-.8789-.7496-1.4304-1.7922-1.4304-1.0082,0-1.6803.4911-1.6803,1.215,0,.5686.4137.9563,1.396,1.1804l1.4734.3361c1.8527.4308,2.5592,1.1546,2.5592,2.4643,0,1.6544-1.5424,2.7919-3.6793,2.7919-2.2662,0-3.6278-1.1116-3.8001-2.835h1.8441c.1724.9479.8186,1.4133,1.9561,1.4133,1.1201,0,1.8095-.4654,1.8095-1.2063,0-.586-.3361-.9308-1.327-1.1548l-1.4734-.3445c-1.7234-.3964-2.5765-1.2236-2.5765-2.542,0-1.62,1.4133-2.7316,3.4985-2.7316Z"/>
<path class="st0" d="M103.0107,13.0668v2.1456h1.7232v1.4736h-1.7232v4.9977c0,.7842.3445,1.1373,1.1029,1.1373.1895,0,.4911-.0171.6116-.043v1.4734c-.2068.0519-.6203.0863-1.034.0863-1.8354,0-2.5506-.6979-2.5506-2.4472v-5.2044h-1.3183v-1.4736h1.3183v-2.1456h1.87Z"/>
<path class="st0" d="M109.5416,15.0486c2.1111,0,3.4812,1.1719,3.5415,2.8436h-1.7493c-.1034-.8789-.7496-1.4304-1.7922-1.4304-1.0082,0-1.6803.4911-1.6803,1.215,0,.5686.4137.9563,1.396,1.1804l1.4734.3361c1.8527.4308,2.5592,1.1546,2.5592,2.4643,0,1.6544-1.5424,2.7919-3.6793,2.7919-2.2662,0-3.6278-1.1116-3.8001-2.835h1.8441c.1724.9479.8186,1.4133,1.9561,1.4133,1.1201,0,1.8095-.4654,1.8095-1.2063,0-.586-.3361-.9308-1.327-1.1548l-1.4734-.3445c-1.7234-.3964-2.5765-1.2236-2.5765-2.542,0-1.62,1.4133-2.7316,3.4985-2.7316Z"/>
</g>
<g>
<path class="st0" d="M39.741,14.162c-1.1094-.0821-2.0505.6196-2.5756.6196-.5327,0-1.3541-.602-2.2251-.5855-1.1436.0168-2.1976.6654-2.7873,1.6894-1.1878,2.0617-.3032,5.1168.8538,6.7898.5659.8175,1.2409,1.7387,2.1275,1.7052.8534-.0336,1.1762-.552,2.2078-.552,1.0309,0,1.3217.552,2.2242.5354.9185-.0171,1.5005-.8344,2.0623-1.6564.6501-.9489.9172-1.8676.9331-1.9162-.0203-.0077-1.7905-.6869-1.8082-2.7263-.016-1.7051,1.3918-2.5247,1.4558-2.5641-.7991-1.1769-2.0334-1.3067-2.4682-1.3389Z"/>
<path class="st0" d="M39.0565,13.0576c.4712-.5694.7882-1.3624.7009-2.1512-.6781.0269-1.4983.4517-1.9846,1.0208-.4356.5041-.8181,1.3115-.7142,2.0841.7558.0584,1.5272-.3839,1.998-.9537Z"/>
</g>
</g>
<g>
<path class="st0" d="M32.3404,1.8525h.9297v5.1875h2.8057v.8018h-3.7354V1.8525Z"/>
<path class="st0" d="M37.1695,1.9687c0-.3115.2534-.5645.5645-.5645.3076,0,.5645.2529.5645.5645,0,.3066-.2568.5605-.5645.5605-.311,0-.5645-.2539-.5645-.5605ZM37.2818,3.3339h.8965v4.5078h-.8965V3.3339Z"/>
<path class="st0" d="M39.3887,6.663v-.0049h.9009l.0039.0049c.1123.3398.4399.5684.9756.5684.5557,0,.9419-.2529.9419-.623v-.0078c0-.2822-.2114-.4736-.7349-.5938l-.7178-.166c-.8506-.1953-1.2451-.5811-1.2451-1.2412v-.0039c0-.7842.7305-1.3486,1.7515-1.3486,1.0293,0,1.689.5146,1.7681,1.249v.0039h-.8594v-.0078c-.0869-.3154-.4062-.5518-.9131-.5518-.4937,0-.8506.2441-.8506.6055v.0088c0,.2822.2075.4561.7139.5762l.7139.1621c.8672.2031,1.2822.5732,1.2822,1.2246v.0078c0,.835-.7969,1.4033-1.8672,1.4033-1.0879,0-1.7764-.5107-1.8638-1.2656Z"/>
<path class="st0" d="M44.5836,6.6543v-2.6104h-.7051v-.71h.7051v-1.1367h.9175v1.1367h.9673v.71h-.9673v2.3945c0,.4854.1826.6846.6265.6846.1372,0,.2158-.0039.3408-.0166v.7188c-.1455.0244-.3115.0449-.4858.0449-.9917,0-1.3989-.3486-1.3989-1.2158Z"/>
<path class="st0" d="M47.3658,5.6005v-.0049c0-1.4062.8135-2.3486,2.0713-2.3486s2.0293.9092,2.0293,2.2617v.3154h-3.1958c.0166.8633.4897,1.3652,1.2329,1.3652.5767,0,.9209-.2861,1.0293-.5186l.0166-.0332.8672-.0039-.0083.0371c-.1494.5938-.772,1.2578-1.9258,1.2578-1.3198,0-2.1167-.9004-2.1167-2.3281ZM48.2828,5.1806h2.291c-.0703-.8047-.5225-1.1953-1.1328-1.1953-.6143,0-1.0791.4199-1.1582,1.1953Z"/>
<path class="st0" d="M52.6553,3.3339h.9009v.6846h.0664c.2197-.4814.6514-.7715,1.3071-.7715,1.0083,0,1.5649.6016,1.5649,1.6768v2.918h-.8965v-2.7061c0-.7471-.3115-1.1172-.9717-1.1172-.6597,0-1.0703.4531-1.0703,1.1787v2.6445h-.9009V3.3339Z"/>
<path class="st0" d="M60.0855,5.5918v-.0078c0-1.4492.8135-2.3369,2.1333-2.3369,1.3159,0,2.1294.8838,2.1294,2.3369v.0078c0,1.4531-.8096,2.3369-2.1294,2.3369-1.3237,0-2.1333-.8838-2.1333-2.3369ZM63.4307,5.5918v-.0078c0-1.001-.4399-1.5859-1.2119-1.5859-.7759,0-1.2119.585-1.2119,1.5859v.0078c0,1,.436,1.5859,1.2119,1.5859.772,0,1.2119-.5898,1.2119-1.5859Z"/>
<path class="st0" d="M65.5367,3.3339h.9004v.6846h.0664c.2202-.4814.6519-.7715,1.3076-.7715,1.0088,0,1.5645.6016,1.5645,1.6768v2.918h-.8965v-2.7061c0-.7471-.311-1.1172-.9707-1.1172-.6602,0-1.0713.4531-1.0713,1.1787v2.6445h-.9004V3.3339Z"/>
</g>
</g>
<path class="st0" d="M25.6619,8.6162c-.0017-.2948-.0051-.5895-.0131-.8843-.0174-.6422-.0552-1.29-.1694-1.9251-.1158-.6443-.3048-1.2439-.6028-1.8293-.2929-.5753-.6755-1.1018-1.132-1.5583-.4565-.4565-.983-.8392-1.5583-1.132-.5854-.298-1.185-.487-1.8293-.6028-.6351-.1142-1.2829-.152-1.9251-.1694-.2947-.008-.5895-.0114-.8843-.0131-.35-.0022-.7-.0021-1.05-.0021h-6.8316c-.35,0-.7-.0001-1.05.0021-.2948.0017-.5895.0051-.8842.0131-.6422.0174-1.29.0552-1.9251.1694-.6443.1158-1.2439.3048-1.8293.6028-.5753.2929-1.1018.6755-1.5583,1.132s-.8392.983-1.132,1.5583c-.298.5854-.487,1.185-.6028,1.8293-.1142.6351-.152,1.2829-.1694,1.9251-.008.2947-.0114.5895-.0131.8843-.0022.35-.0021.7-.0021,1.05v6.8316c0,.35-.0001.7.0021,1.05.0017.2948.0051.5895.0131.8843.0174.6422.0552,1.29.1694,1.9251.1158.6443.3048,1.2439.6028,1.8293.2929.5753.6755,1.1018,1.132,1.5583s.983.8392,1.5583,1.132c.5854.298,1.185.487,1.8293.6028.6351.1142,1.2829.152,1.9251.1694.2947.008.5894.0114.8842.0131.35.0022.7.0021,1.05.0021h6.8316c.35,0,.7.0001,1.05-.0021.2948-.0017.5895-.0051.8843-.0131.6422-.0174,1.29-.0552,1.9251-.1694.6443-.1158,1.2439-.3048,1.8293-.6028.5753-.2929,1.1018-.6755,1.5583-1.132.4565-.4565.8392-.983,1.132-1.5583.298-.5854.487-1.185.6028-1.8293.1142-.6351.152-1.2829.1694-1.9251.008-.2947.0114-.5895.0131-.8843.0022-.35.0021-.7.0021-1.05v-6.8316c0-.35.0001-.7-.0021-1.05ZM14.7462,21.7244c-.3066,1.028-.7664,1.4337-1.6862,1.4337-.9287,0-1.3886-.4057-1.6862-1.4337-.2164-.7394-.6582-3.3904-.6582-5.0224,0-1.0189.8927-2.0829,2.3444-2.0829s2.3354,1.064,2.3354,2.0829c0,1.6321-.4418,4.283-.6492,5.0224ZM10.8509,11.6344c0-1.1993.9829-2.1821,2.2092-2.1821,1.2083,0,2.1911.9829,2.1911,2.1821,0,1.2263-.9829,2.2182-2.1911,2.2182-1.2263,0-2.2092-.9919-2.2092-2.2182ZM13.0511,7.1801c-2.5789,0-4.6708,2.0919-4.6708,4.6618,0,1.4427.6582,2.7321,1.7042,3.5797-.1894.2976-.3066.6222-.3697.9739-1.4157-1.0189-2.3264-2.6871-2.3264-4.5536,0-3.1199,2.5338-5.6627,5.6627-5.6627,3.1199,0,5.6627,2.5428,5.6627,5.6627,0,1.8665-.9288,3.5256-2.3173,4.5445-.0631-.3787-.1894-.6492-.3877-.9738,1.0369-.8386,1.7042-2.137,1.7042-3.5707,0-2.5698-2.0919-4.6618-4.6618-4.6618ZM16.0447,20.6153c.0541-.3697.1172-.7664.1623-1.1632,2.8854-1.2173,4.9142-4.0666,4.9142-7.3939,0-4.4544-3.6158-8.0611-8.0612-8.0611-4.4634,0-8.0792,3.6068-8.0792,8.0611,0,3.3273,2.0288,6.1856,4.9233,7.3939.0451.3877.1082.7935.1623,1.1542-3.5437-1.2263-6.0774-4.5806-6.0774-8.5481C3.989,7.0538,8.0467,2.9962,13.0601,2.9962c5.0044,0,9.053,4.0576,9.053,9.062,0,3.9585-2.5427,7.3218-6.0684,8.5571Z"/>
</svg>

After

Width:  |  Height:  |  Size: 9.0 KiB

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Artwork" xmlns="http://www.w3.org/2000/svg" width="113.7899" height="26.164" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 113.7899 26.164">
<!-- Generator: Adobe Illustrator 29.8.1, SVG Export Plug-In . SVG Version: 2.1.1 Build 2) -->
<image width="2048" height="2048" transform="translate(.5 .5) scale(.0123)" xlink:href="data:image/png;base64,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 truncated
<g>
<g>
<g>
<path d="M49.6308,11.8432c2.4126,0,4.0928,1.6631,4.0928,4.0843,0,2.4299-1.7146,4.1016-4.1532,4.1016h-2.6713v4.2481h-1.9302v-12.434h4.6617ZM46.8992,18.4092h2.2145c1.6803,0,2.6367-.9047,2.6367-2.473s-.9563-2.4643-2.6281-2.4643h-2.2232v4.9373Z"/>
<path d="M54.0083,19.7448c0-2.9124,1.7147-4.6962,4.2998-4.6962s4.2998,1.7837,4.2998,4.6962c0,2.9211-1.7061,4.7048-4.2998,4.7048s-4.2998-1.7837-4.2998-4.7048ZM60.7121,19.7448c0-2.0076-.9479-3.1622-2.404-3.1622s-2.4042,1.1546-2.4042,3.1622c0,2.0164.9479,3.171,2.4042,3.171,1.4648,0,2.404-1.1546,2.404-3.171Z"/>
<path d="M63.643,19.7448c0-2.8607,1.5165-4.6789,3.7913-4.6789,1.3011,0,2.3352.6549,2.8435,1.6544h.0346v-4.8772h1.8698v12.434h-1.8095v-1.5424h-.0346c-.5342,1.034-1.5682,1.6975-2.8865,1.6975-2.2921,0-3.8086-1.8268-3.8086-4.6875ZM65.5472,19.7448c0,1.9129.9219,3.1107,2.3955,3.1107,1.4304,0,2.3867-1.215,2.3867-3.1107,0-1.8785-.9563-3.1105-2.3867-3.1105-1.4736,0-2.3955,1.2063-2.3955,3.1105Z"/>
<path d="M79.8816,18.3317c-.1895-.9652-.9133-1.732-2.1283-1.732-1.439,0-2.3869,1.1977-2.3869,3.1451,0,1.9905.9565,3.1451,2.4042,3.1451,1.146,0,1.8956-.6289,2.111-1.6802h1.7924c-.1983,1.9302-1.7407,3.2399-3.9206,3.2399-2.5936,0-4.2825-1.7751-4.2825-4.7048,0-2.878,1.6888-4.6962,4.2652-4.6962,2.3352,0,3.7569,1.4993,3.9206,3.2831h-1.7751Z"/>
<path d="M82.6315,21.7009c0-1.5856,1.215-2.5592,3.3692-2.6799l2.4816-.1464v-.6979c0-1.0082-.6808-1.6114-1.8181-1.6114-1.0772,0-1.7493.5169-1.913,1.327h-1.7578c.1034-1.6373,1.4993-2.8436,3.7396-2.8436,2.1974,0,3.6019,1.1633,3.6019,2.9814v6.2472h-1.7837v-1.4907h-.043c-.5255,1.0082-1.6715,1.6458-2.8607,1.6458-1.7751,0-3.0158-1.1029-3.0158-2.7314ZM88.4823,20.8823v-.7152l-2.2318.1378c-1.1116.0776-1.7405.5688-1.7405,1.3443,0,.7926.6549,1.3097,1.6544,1.3097,1.3011,0,2.3179-.8962,2.3179-2.0766Z"/>
<path d="M95.3657,15.0486c2.1111,0,3.4812,1.1719,3.5415,2.8436h-1.7493c-.1034-.8789-.7496-1.4304-1.7922-1.4304-1.0082,0-1.6803.4911-1.6803,1.215,0,.5686.4137.9563,1.396,1.1804l1.4734.3361c1.8527.4308,2.5592,1.1546,2.5592,2.4643,0,1.6544-1.5424,2.7919-3.6793,2.7919-2.2662,0-3.6278-1.1116-3.8001-2.835h1.8441c.1724.9479.8186,1.4133,1.9561,1.4133,1.1201,0,1.8095-.4654,1.8095-1.2063,0-.586-.3361-.9308-1.327-1.1548l-1.4734-.3445c-1.7234-.3964-2.5765-1.2236-2.5765-2.542,0-1.62,1.4133-2.7316,3.4985-2.7316Z"/>
<path d="M103.0107,13.0668v2.1456h1.7232v1.4736h-1.7232v4.9977c0,.7842.3445,1.1373,1.1029,1.1373.1895,0,.4911-.0171.6116-.043v1.4734c-.2068.0519-.6203.0863-1.034.0863-1.8354,0-2.5506-.6979-2.5506-2.4472v-5.2044h-1.3183v-1.4736h1.3183v-2.1456h1.87Z"/>
<path d="M109.5416,15.0486c2.1111,0,3.4812,1.1719,3.5415,2.8436h-1.7493c-.1034-.8789-.7496-1.4304-1.7922-1.4304-1.0082,0-1.6803.4911-1.6803,1.215,0,.5686.4137.9563,1.396,1.1804l1.4734.3361c1.8527.4308,2.5592,1.1546,2.5592,2.4643,0,1.6544-1.5424,2.7919-3.6793,2.7919-2.2662,0-3.6278-1.1116-3.8001-2.835h1.8441c.1724.9479.8186,1.4133,1.9561,1.4133,1.1201,0,1.8095-.4654,1.8095-1.2063,0-.586-.3361-.9308-1.327-1.1548l-1.4734-.3445c-1.7234-.3964-2.5765-1.2236-2.5765-2.542,0-1.62,1.4133-2.7316,3.4985-2.7316Z"/>
</g>
<g>
<path d="M39.741,14.162c-1.1094-.0821-2.0505.6196-2.5756.6196-.5327,0-1.3541-.602-2.2251-.5855-1.1436.0168-2.1976.6654-2.7873,1.6894-1.1878,2.0617-.3032,5.1168.8538,6.7898.5659.8175,1.2409,1.7387,2.1275,1.7052.8534-.0336,1.1762-.552,2.2078-.552,1.0309,0,1.3217.552,2.2242.5354.9185-.0171,1.5005-.8344,2.0623-1.6564.6501-.9489.9172-1.8676.9331-1.9162-.0203-.0077-1.7905-.6869-1.8082-2.7263-.016-1.7051,1.3918-2.5247,1.4558-2.5641-.7991-1.1769-2.0334-1.3067-2.4682-1.3389Z"/>
<path d="M39.0565,13.0576c.4712-.5694.7882-1.3624.7009-2.1512-.6781.0269-1.4983.4517-1.9846,1.0208-.4356.5041-.8181,1.3115-.7142,2.0841.7558.0584,1.5272-.3839,1.998-.9537Z"/>
</g>
</g>
<g>
<path d="M32.3404,1.8525h.9297v5.1875h2.8057v.8018h-3.7354V1.8525Z"/>
<path d="M37.1695,1.9687c0-.3115.2534-.5645.5645-.5645.3076,0,.5645.2529.5645.5645,0,.3066-.2568.5605-.5645.5605-.311,0-.5645-.2539-.5645-.5605ZM37.2818,3.3339h.8965v4.5078h-.8965V3.3339Z"/>
<path d="M39.3887,6.663v-.0049h.9009l.0039.0049c.1123.3398.4399.5684.9756.5684.5557,0,.9419-.2529.9419-.623v-.0078c0-.2822-.2114-.4736-.7349-.5938l-.7178-.166c-.8506-.1953-1.2451-.5811-1.2451-1.2412v-.0039c0-.7842.7305-1.3486,1.7515-1.3486,1.0293,0,1.689.5146,1.7681,1.249v.0039h-.8594v-.0078c-.0869-.3154-.4062-.5518-.9131-.5518-.4937,0-.8506.2441-.8506.6055v.0088c0,.2822.2075.4561.7139.5762l.7139.1621c.8672.2031,1.2822.5732,1.2822,1.2246v.0078c0,.835-.7969,1.4033-1.8672,1.4033-1.0879,0-1.7764-.5107-1.8638-1.2656Z"/>
<path d="M44.5836,6.6543v-2.6104h-.7051v-.71h.7051v-1.1367h.9175v1.1367h.9673v.71h-.9673v2.3945c0,.4854.1826.6846.6265.6846.1372,0,.2158-.0039.3408-.0166v.7188c-.1455.0244-.3115.0449-.4858.0449-.9917,0-1.3989-.3486-1.3989-1.2158Z"/>
<path d="M47.3658,5.6005v-.0049c0-1.4062.8135-2.3486,2.0713-2.3486s2.0293.9092,2.0293,2.2617v.3154h-3.1958c.0166.8633.4897,1.3652,1.2329,1.3652.5767,0,.9209-.2861,1.0293-.5186l.0166-.0332.8672-.0039-.0083.0371c-.1494.5938-.772,1.2578-1.9258,1.2578-1.3198,0-2.1167-.9004-2.1167-2.3281ZM48.2828,5.1806h2.291c-.0703-.8047-.5225-1.1953-1.1328-1.1953-.6143,0-1.0791.4199-1.1582,1.1953Z"/>
<path d="M52.6553,3.3339h.9009v.6846h.0664c.2197-.4814.6514-.7715,1.3071-.7715,1.0083,0,1.5649.6016,1.5649,1.6768v2.918h-.8965v-2.7061c0-.7471-.3115-1.1172-.9717-1.1172-.6597,0-1.0703.4531-1.0703,1.1787v2.6445h-.9009V3.3339Z"/>
<path d="M60.0855,5.5918v-.0078c0-1.4492.8135-2.3369,2.1333-2.3369,1.3159,0,2.1294.8838,2.1294,2.3369v.0078c0,1.4531-.8096,2.3369-2.1294,2.3369-1.3237,0-2.1333-.8838-2.1333-2.3369ZM63.4307,5.5918v-.0078c0-1.001-.4399-1.5859-1.2119-1.5859-.7759,0-1.2119.585-1.2119,1.5859v.0078c0,1,.436,1.5859,1.2119,1.5859.772,0,1.2119-.5898,1.2119-1.5859Z"/>
<path d="M65.5367,3.3339h.9004v.6846h.0664c.2202-.4814.6519-.7715,1.3076-.7715,1.0088,0,1.5645.6016,1.5645,1.6768v2.918h-.8965v-2.7061c0-.7471-.311-1.1172-.9707-1.1172-.6602,0-1.0713.4531-1.0713,1.1787v2.6445h-.9004V3.3339Z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 648 KiB

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Artwork" xmlns="http://www.w3.org/2000/svg" width="113.7899" height="26.164" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 113.7899 26.164">
<!-- Generator: Adobe Illustrator 29.8.1, SVG Export Plug-In . SVG Version: 2.1.1 Build 2) -->
<defs>
<style>
.st0 {
fill: #fff;
}
</style>
</defs>
<image width="2048" height="2048" transform="translate(.5 .5) scale(.0123)" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAACAAAAAgACAMAAACFeSMCAAABJlBMVEVHcEy6f+HUq+/ZsvLSsOfgtvnpwv7srv/fp/zSpu7XnPjJnObMkO/BgubBiOG8euKiWdP1t/+2a971z/+xdNrBk+KyZNynbNKkY9GsXtirc8+lWtGlVdClVNClbMuiUs6ocM7/3v+gUMy8hNy5gdm3j9K6k9S1jNC0etudTsqyic+UU8avhsyze9S2ftaudtGaTMjXwueweNKsg8ji0e+VW8Cof8SWSsWYXsL06vrNrOKTR8P78f7OtuHTvOWbYsWke8HKqN/HpN2PRMCeZcbEoNrAnNj9+f7////u5Pbp3fG9mNaLQb3byemhacmHPruJR76NUrqFPLmCOreBObaSWL6AOLV9OLR+N7R8NrOARqx7NLKGTLJ5M7B3Mq92Ma5xLKloI6CXA+vBAAAAEXRSTlMAKVue////////////////fYl6K8AAB4R5SURBVHgB7JcHkuswDEN305uj5Of+d/2E3xAzHkXe3oVGijkAnIeOji/DY2AxYglWy7Ww+SisSUKSpyLmiWziXbH1JNCOjMAzzEEKTI8a+0nYCDV4kA67fQTUExKW/WIcGSeJ0aZlvy8GKcc5oslhOCuNZVkGLovLIvA44uG3o6Ojo7c8Ff/+/b62rQkzvOZBrEWwXLXLWg1+sb0g3C51VsvVrm0XqhlayX5u/TR5R0g5IoN7jTU33kx2jEOEyUhGze8o97Sk4EWyIVvDL7ajtqPU5CmUIWqGPDgmdZJkb8CHV+AcHkzImOcgnzKgUMrQRFn+y8+Dn/Nx0NHR0ZE9L9xp+ZsU8QLM/TVHXNtUUONX2e3PVT8QdXl7qSr+WXC1m36qrtEzuKpeMmOsbQRirhlc93nNMgd77LN0l+Mfe3c9Q1dzp9RPdL5dFz5Vn0PUzmuC04THMKLgoTkeT7Kgw1EJfHwRhoqEZ4sSAfx8Kcq9U9GnweV7fBh0dHT0qq+b/iaLN1/QS1tfbNQ5XQ5ZpNjChIxybCTgHzg3cJXmqt0b6U1K5rVR9jR6SP/neVRWRoiaFLc2BtbYR/J7ME+ymBIlrznq1j9IWkw/CCQTTOyk8WUlC+JGtWseT7aupwhoZfsLdcWj12KQkj7iquarAfzIBGzvgRIcSokwSmBZLuOHwQd+FnR0dPSyd9ffkgG98qLl5U1vIpg9737/z97Z6LaNJGHwgHXOULSmg9zm/V/1pK8Ghc6kY+pkytnNTXdP/5FeLH5LPRwywn3ekXefXn/nA/f+iryvK8GR3gfyV1cUR2j4nvAcVsN6tuldp4zzp+S2HewFPTg3ogRrExtjlieC82Hi3gpDSHESH9RraiX/uFR2683mqT4XvYcbFHp0zN5J/RQ4mliv4t1A/1AJ6xNQelL/JXZxeCIL+ePrly9f1m+CO2XJksX7hvbu4t/1mL5j/WQiXpBTGorY3hdIXWt7zurmIj0roRvgG6g/W7guOgKNMrY7yRP0rjROwP87tFeOq5pFpT2D/TzGq7YkO45AeaZ2qJfyBoyLzPWF9zL/EsxoxrMkPKnTPe7dslXsQ33LXjVE/Ns8kPyvrRJGdRXKEUmIrtQvyRT2CdYvgiVLlkzIn4EfcbK/V4S9HpX89eG7LDc1uZXwmtEWEbLTd1ce69D+fFld38VVa/zz6RKlPTv4yMz3UyLDPo1JCSfThu2fLfM8HotOLknbcZmaQXQNJcd5y9i4H8gP44W8jHeJ+liVWh9G/M1z+sVQbNZhFfX2j5zwVchts9NISYx3yh9f/u9/DyxZspgf0v+HgCqm+9K+IhfVQXMuke4z3dROVXEuxgm17M/RG5/pmqn2f1D36t2fD8JlPB2yE3r9uxPNhvAifNaaUjjFewhPoDeqCXaLiJWTvWhXi2Wul/+yHs5X1rNxzzV38aeN+/SR80Hk3zSQnwXrKXZUvrvNjz9CXrPU3UHfpdC3e6zkeOH6MfDby5JF/U8O+Y75kv4e4GuO+dYd6ee6Ml6uU/azuWSOkcNvqtFyAfNcPVkb5fXwn1zpe83o3nzcJY+j96Y2x+0shHsCpjKQ+0hei9ptHtZrZ0/jab1ylQDT46MA3WneiC/BOV+oc8H8KNlUec/Ev0/8AnnFOf8Q+WG4t6xpC3R6XvwQ+VrStTPw28iSJcz6GfUr9N+B/MhIh7N7y/69tJfzzPDPT6Ic3Ap7WR7Anz5lZa4/2R6xvg5PQ2aLewd26X2S6S6o/UR8wnuEftLYjp5CeBnfazl2p9rLsoWQAXjZfmrHeCPpyGU9ZX0w766+Da5RSH/ySIJydr1LNvykYX2iStdy1kr34zf3XzGRXwoTLEvS6z9cvrpsjNzWX2tf4J8rSxb3/12xX8Vqn/eV+Mntyfld2j+rZZv+qUzsob6PzoP4AXsuO57Xydzz8anoSW5TboPudOjtQfsGsqsD7bn9sxadKG6mYnOtUBSci/Kq/fV54Af1rLB84Jz0kqUQ8xfhcpyMNyo2DpnqcSqUTyAR9p2aCHiBb7D7fuIPZ2IB1rVZbH0A4fGz2eauGk1opV6/BP4ZsmRt89dxv5Le4qYhn5iUomP83HCoryfpr+HJR+8jOss/O6V7OB5yO5ufrE+qGqyTTeTu1Ht/do/m6Xmn96BcwuOqahZkhiwty96Zos7pagP09roKw53b8ajH8y4h3jvIc0dy20Wszw/Yw1djqsDvaW82Ed/M9CDqq6XAOd5/HOLluxVQR0vRGtFk+pNSXTO6/BL4199LlixZAvjnXf79r/AIejlP1kDecv7wTaF9PVznFr7P3p/dp6cdgOMd2ikmxTotbqa35mg+7nM7fp7V1c/2LFuHoZohmdhmY75Xkzfv4fKfw7kpD8MTfIs+0Qfy0VEUtKcX4Qbzw0b7iebq3HC2R0lVm9e1XdOG8XrCoQf1cURylkFv9sChXk2lr1AfLY2g3arYKx5NkR8Cf48dgSVL1sjvxD9/effGUT/mtN+/eP9cHKvC/ruD9LRh+zUhJ/HJ+8ln7QP4mK5EXUoX9WcG9c94TY0acB3CVa+UpZ39W7iu3aifq3deV8824vtX6AbspfuINJIX1iMmR/O9ypY1q4l605f0t++G+s18DPME08ef1NcexXgBP8/nqn2F1mTqG1i/X/2Pv6b6ujYEliz5JSL5nfgvVbQnf0H+MPI3xPm+An/APbz3HD7H8iT9iQjo4+MmopPoRPxPt9pxWJxdVbMxPEEDwRPKCXepoVW5Ph6y+7Vbye4bcymE+bgeR0GPjqLYm9hu68jjeCqGU998VL/lQqb5+IQ4uW7YiMrRr+FrOMLjKF9RjVML072D1PUdh3vO74HeRJ3TqVW8F6wjH/ZgYMmSJWW33zkf8iuK4MfB/h3is6XPyXzGeol/0aBe8AP54eqj+sJ4Aa9i/axeWa1a484jBdrlozXi/L1q0rLczI7BY/PTgt2euktFoS8tYZ4MR1BEutffK9/Mtp+pjO+1Un7bLuvl4kW9PtGJHm+yHbyV/9pM9ybN+fxj8S+3C3/tto/vvdeEeLv2bTGOI7ccXifbyawJNv3fHL8D1s+AR8qSdbTfoR/ou3427hdnVDyjL/J9sc6tfUtfhhfxhkZlPtmPu/NY1dE6n+7itMkxWr9tM8P8oqZXcxyX8z+wn/XZ2yrge/HiEVRXtmq9YrPae5lUmm+h98WiQt06jceLrJ/P582zvYli514Rh2qarakxVqtc3FeBTm5RpM74mo6QzNLKmkDJ8uL6GfAwWbLYX6f+duIX/c3QX+W5kr98XCfEP10dpUfyn/DEZrAnkCazaGCPK5+naaB+u55N52FcfmvdXD7QLLMjNstM7tKD9OtKTm+Q3XSa0/X381xX4paFvaEmjXoUL467Q2/9BsGZ6odea3zU3wHkVaxNj5DXqrIek/dmR3FemVBuU+63iv1cO7KrmOTt8Dxy7yzay6vBRBH0TdeUijy6fgY8RpYs9Dfwl/wYqxGZH/VEPi/kkTw54XdH8ksC5PV+g/77t9wo+5fb9rWiO0o2AkkBOCk9m8VUa5+wS+foPq/vfcj+rculOnmMQNzeg3W1a7Cc4jdi+Dw6F0fOAL/hcg3bPmSi/4Hy+heLh6Femcd7Slft3rVnb9RsKvUSSjrDuJfXzrxk5Z0d9Q3eJPqtzNa7AkuWvJ/9nu3DevQbeu4/M+z7sZ2UfiXvx9ft3cfHyXp43w300bPMP+0T/k8pL9UxxHIckpPacnu87OZdLDvaPqVtG01aftuqXZszyRXG9G/XcAO0bwc75kKC89hAdvQacXDd5/PTE3qukxoeIQJexUn3eGXCvuEYKTQ3qDTuR7yGGPFGvIuAilsT7yex7/pF8hq771fAkiWL/dM5P7mvdMf6q4j9p4sN6Dv5Q3q39yvzDX6afn67XfqDevykPe8dwg1BufjWUOV8+KF2Yb1/S/RqBofzqwD0HdVKQ23bLyn9O+QFrJNc3YD22HZPSLRB4mV3769G8iHyOqyq2KYqZfPI3lI5FPcq5sBv7IDeK9YMyl6T5kZv1ZsZ5LqZ4tW/raz3BJYs+R/3/Nnsxxry74L/k9j3H6M/Oe+j4h43kI9KfeuM+fukZ7CfHpnXTfeEtHTGm5BtMCoCeu5icBuqbxQk2+2qM9lR3SC5SRXpHk2RiPmlWzuk5InxZr1sD57j8TPgxTddxY6VzD9OCs1ntb/HeBNLk373vN6GmCk2LHGWv52scwE7smS94Qf73xz64xSx78DvWf4UyfzkThSL9G/au42/M9qDezFfTtNN9D/fN8A7fG+C2pH7RlQ3lWFO9nUbHmdiUKQ4QeUzd0kucQQkl1OLdYNCYcfc5EGz+5vzO0LTNfcUq8OlJbnH8rTbtSbifh7pWd4Line truncated
<g>
<g>
<g>
<path class="st0" d="M49.6308,11.8432c2.4126,0,4.0928,1.6631,4.0928,4.0843,0,2.4299-1.7146,4.1016-4.1532,4.1016h-2.6713v4.2481h-1.9302v-12.434h4.6617ZM46.8992,18.4092h2.2145c1.6803,0,2.6367-.9047,2.6367-2.473s-.9563-2.4643-2.6281-2.4643h-2.2232v4.9373Z"/>
<path class="st0" d="M54.0083,19.7448c0-2.9124,1.7147-4.6962,4.2998-4.6962s4.2998,1.7837,4.2998,4.6962c0,2.9211-1.7061,4.7048-4.2998,4.7048s-4.2998-1.7837-4.2998-4.7048ZM60.7121,19.7448c0-2.0076-.9479-3.1622-2.404-3.1622s-2.4042,1.1546-2.4042,3.1622c0,2.0164.9479,3.171,2.4042,3.171,1.4648,0,2.404-1.1546,2.404-3.171Z"/>
<path class="st0" d="M63.643,19.7448c0-2.8607,1.5165-4.6789,3.7913-4.6789,1.3011,0,2.3352.6549,2.8435,1.6544h.0346v-4.8772h1.8698v12.434h-1.8095v-1.5424h-.0346c-.5342,1.034-1.5682,1.6975-2.8865,1.6975-2.2921,0-3.8086-1.8268-3.8086-4.6875ZM65.5472,19.7448c0,1.9129.9219,3.1107,2.3955,3.1107,1.4304,0,2.3867-1.215,2.3867-3.1107,0-1.8785-.9563-3.1105-2.3867-3.1105-1.4736,0-2.3955,1.2063-2.3955,3.1105Z"/>
<path class="st0" d="M79.8816,18.3317c-.1895-.9652-.9133-1.732-2.1283-1.732-1.439,0-2.3869,1.1977-2.3869,3.1451,0,1.9905.9565,3.1451,2.4042,3.1451,1.146,0,1.8956-.6289,2.111-1.6802h1.7924c-.1983,1.9302-1.7407,3.2399-3.9206,3.2399-2.5936,0-4.2825-1.7751-4.2825-4.7048,0-2.878,1.6888-4.6962,4.2652-4.6962,2.3352,0,3.7569,1.4993,3.9206,3.2831h-1.7751Z"/>
<path class="st0" d="M82.6315,21.7009c0-1.5856,1.215-2.5592,3.3692-2.6799l2.4816-.1464v-.6979c0-1.0082-.6808-1.6114-1.8181-1.6114-1.0772,0-1.7493.5169-1.913,1.327h-1.7578c.1034-1.6373,1.4993-2.8436,3.7396-2.8436,2.1974,0,3.6019,1.1633,3.6019,2.9814v6.2472h-1.7837v-1.4907h-.043c-.5255,1.0082-1.6715,1.6458-2.8607,1.6458-1.7751,0-3.0158-1.1029-3.0158-2.7314ZM88.4823,20.8823v-.7152l-2.2318.1378c-1.1116.0776-1.7405.5688-1.7405,1.3443,0,.7926.6549,1.3097,1.6544,1.3097,1.3011,0,2.3179-.8962,2.3179-2.0766Z"/>
<path class="st0" d="M95.3657,15.0486c2.1111,0,3.4812,1.1719,3.5415,2.8436h-1.7493c-.1034-.8789-.7496-1.4304-1.7922-1.4304-1.0082,0-1.6803.4911-1.6803,1.215,0,.5686.4137.9563,1.396,1.1804l1.4734.3361c1.8527.4308,2.5592,1.1546,2.5592,2.4643,0,1.6544-1.5424,2.7919-3.6793,2.7919-2.2662,0-3.6278-1.1116-3.8001-2.835h1.8441c.1724.9479.8186,1.4133,1.9561,1.4133,1.1201,0,1.8095-.4654,1.8095-1.2063,0-.586-.3361-.9308-1.327-1.1548l-1.4734-.3445c-1.7234-.3964-2.5765-1.2236-2.5765-2.542,0-1.62,1.4133-2.7316,3.4985-2.7316Z"/>
<path class="st0" d="M103.0107,13.0668v2.1456h1.7232v1.4736h-1.7232v4.9977c0,.7842.3445,1.1373,1.1029,1.1373.1895,0,.4911-.0171.6116-.043v1.4734c-.2068.0519-.6203.0863-1.034.0863-1.8354,0-2.5506-.6979-2.5506-2.4472v-5.2044h-1.3183v-1.4736h1.3183v-2.1456h1.87Z"/>
<path class="st0" d="M109.5416,15.0486c2.1111,0,3.4812,1.1719,3.5415,2.8436h-1.7493c-.1034-.8789-.7496-1.4304-1.7922-1.4304-1.0082,0-1.6803.4911-1.6803,1.215,0,.5686.4137.9563,1.396,1.1804l1.4734.3361c1.8527.4308,2.5592,1.1546,2.5592,2.4643,0,1.6544-1.5424,2.7919-3.6793,2.7919-2.2662,0-3.6278-1.1116-3.8001-2.835h1.8441c.1724.9479.8186,1.4133,1.9561,1.4133,1.1201,0,1.8095-.4654,1.8095-1.2063,0-.586-.3361-.9308-1.327-1.1548l-1.4734-.3445c-1.7234-.3964-2.5765-1.2236-2.5765-2.542,0-1.62,1.4133-2.7316,3.4985-2.7316Z"/>
</g>
<g>
<path class="st0" d="M39.741,14.162c-1.1094-.0821-2.0505.6196-2.5756.6196-.5327,0-1.3541-.602-2.2251-.5855-1.1436.0168-2.1976.6654-2.7873,1.6894-1.1878,2.0617-.3032,5.1168.8538,6.7898.5659.8175,1.2409,1.7387,2.1275,1.7052.8534-.0336,1.1762-.552,2.2078-.552,1.0309,0,1.3217.552,2.2242.5354.9185-.0171,1.5005-.8344,2.0623-1.6564.6501-.9489.9172-1.8676.9331-1.9162-.0203-.0077-1.7905-.6869-1.8082-2.7263-.016-1.7051,1.3918-2.5247,1.4558-2.5641-.7991-1.1769-2.0334-1.3067-2.4682-1.3389Z"/>
<path class="st0" d="M39.0565,13.0576c.4712-.5694.7882-1.3624.7009-2.1512-.6781.0269-1.4983.4517-1.9846,1.0208-.4356.5041-.8181,1.3115-.7142,2.0841.7558.0584,1.5272-.3839,1.998-.9537Z"/>
</g>
</g>
<g>
<path class="st0" d="M32.3404,1.8525h.9297v5.1875h2.8057v.8018h-3.7354V1.8525Z"/>
<path class="st0" d="M37.1695,1.9687c0-.3115.2534-.5645.5645-.5645.3076,0,.5645.2529.5645.5645,0,.3066-.2568.5605-.5645.5605-.311,0-.5645-.2539-.5645-.5605ZM37.2818,3.3339h.8965v4.5078h-.8965V3.3339Z"/>
<path class="st0" d="M39.3887,6.663v-.0049h.9009l.0039.0049c.1123.3398.4399.5684.9756.5684.5557,0,.9419-.2529.9419-.623v-.0078c0-.2822-.2114-.4736-.7349-.5938l-.7178-.166c-.8506-.1953-1.2451-.5811-1.2451-1.2412v-.0039c0-.7842.7305-1.3486,1.7515-1.3486,1.0293,0,1.689.5146,1.7681,1.249v.0039h-.8594v-.0078c-.0869-.3154-.4062-.5518-.9131-.5518-.4937,0-.8506.2441-.8506.6055v.0088c0,.2822.2075.4561.7139.5762l.7139.1621c.8672.2031,1.2822.5732,1.2822,1.2246v.0078c0,.835-.7969,1.4033-1.8672,1.4033-1.0879,0-1.7764-.5107-1.8638-1.2656Z"/>
<path class="st0" d="M44.5836,6.6543v-2.6104h-.7051v-.71h.7051v-1.1367h.9175v1.1367h.9673v.71h-.9673v2.3945c0,.4854.1826.6846.6265.6846.1372,0,.2158-.0039.3408-.0166v.7188c-.1455.0244-.3115.0449-.4858.0449-.9917,0-1.3989-.3486-1.3989-1.2158Z"/>
<path class="st0" d="M47.3658,5.6005v-.0049c0-1.4062.8135-2.3486,2.0713-2.3486s2.0293.9092,2.0293,2.2617v.3154h-3.1958c.0166.8633.4897,1.3652,1.2329,1.3652.5767,0,.9209-.2861,1.0293-.5186l.0166-.0332.8672-.0039-.0083.0371c-.1494.5938-.772,1.2578-1.9258,1.2578-1.3198,0-2.1167-.9004-2.1167-2.3281ZM48.2828,5.1806h2.291c-.0703-.8047-.5225-1.1953-1.1328-1.1953-.6143,0-1.0791.4199-1.1582,1.1953Z"/>
<path class="st0" d="M52.6553,3.3339h.9009v.6846h.0664c.2197-.4814.6514-.7715,1.3071-.7715,1.0083,0,1.5649.6016,1.5649,1.6768v2.918h-.8965v-2.7061c0-.7471-.3115-1.1172-.9717-1.1172-.6597,0-1.0703.4531-1.0703,1.1787v2.6445h-.9009V3.3339Z"/>
<path class="st0" d="M60.0855,5.5918v-.0078c0-1.4492.8135-2.3369,2.1333-2.3369,1.3159,0,2.1294.8838,2.1294,2.3369v.0078c0,1.4531-.8096,2.3369-2.1294,2.3369-1.3237,0-2.1333-.8838-2.1333-2.3369ZM63.4307,5.5918v-.0078c0-1.001-.4399-1.5859-1.2119-1.5859-.7759,0-1.2119.585-1.2119,1.5859v.0078c0,1,.436,1.5859,1.2119,1.5859.772,0,1.2119-.5898,1.2119-1.5859Z"/>
<path class="st0" d="M65.5367,3.3339h.9004v.6846h.0664c.2202-.4814.6519-.7715,1.3076-.7715,1.0088,0,1.5645.6016,1.5645,1.6768v2.918h-.8965v-2.7061c0-.7471-.311-1.1172-.9707-1.1172-.6602,0-1.0713.4531-1.0713,1.1787v2.6445h-.9004V3.3339Z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 649 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

+72
View File
@@ -0,0 +1,72 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Verse by Verse with Nate</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&family=Barlow+Condensed:wght@300;500;700&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{background:#0a0a0a;display:flex;align-items:center;justify-content:center;min-height:100vh;font-family:'Barlow Condensed',sans-serif;}
.card{width:1080px;height:1080px;background:#0d0d0d;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.bg-gradient{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 10%,rgba(180,120,20,.18) 0%,transparent 55%),radial-gradient(ellipse at 80% 90%,rgba(140,80,10,.15) 0%,transparent 50%),linear-gradient(160deg,#0d0d0d 0%,#110e07 50%,#0d0d0d 100%);}
.bar-left{position:absolute;left:-30px;top:-80px;width:8px;height:130%;background:linear-gradient(180deg,transparent,#c8860a 30%,#c8860a 70%,transparent);transform:rotate(-4deg);opacity:.7;}
.bar-left2{position:absolute;left:20px;top:-80px;width:2px;height:130%;background:linear-gradient(180deg,transparent,#c8860a 30%,#c8860a 70%,transparent);transform:rotate(-4deg);opacity:.35;}
.bar-right{position:absolute;right:-30px;top:-80px;width:8px;height:130%;background:linear-gradient(180deg,transparent,#c8860a 30%,#c8860a 70%,transparent);transform:rotate(4deg);opacity:.7;}
.bar-right2{position:absolute;right:20px;top:-80px;width:2px;height:130%;background:linear-gradient(180deg,transparent,#c8860a 30%,#c8860a 70%,transparent);transform:rotate(4deg);opacity:.35;}
.top-rule{position:absolute;top:100px;left:80px;right:80px;height:1px;background:linear-gradient(90deg,transparent,#c8860a 30%,#c8860a 70%,transparent);opacity:.5;}
.bottom-rule{position:absolute;bottom:100px;left:80px;right:80px;height:1px;background:linear-gradient(90deg,transparent,#c8860a 30%,#c8860a 70%,transparent);opacity:.5;}
.cross-ornament{position:absolute;top:48px;left:50%;transform:translateX(-50%);color:#c8860a;font-size:22px;letter-spacing:18px;opacity:.7;white-space:nowrap;}
.content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;width:100%;padding:0 90px;gap:0;}
.eyebrow{font-family:'Barlow Condensed',sans-serif;font-weight:300;font-size:22px;letter-spacing:10px;text-transform:uppercase;color:#c8860a;margin-bottom:18px;opacity:.9;}
.title-verse{font-family:'Playfair Display',serif;font-weight:900;font-size:118px;line-height:.88;color:#f0e6d0;letter-spacing:-2px;text-shadow:0 0 60px rgba(200,134,10,.25);display:block;text-align:center;}
.title-by{font-family:'Barlow Condensed',sans-serif;font-weight:300;font-size:32px;letter-spacing:16px;text-transform:uppercase;color:#c8860a;display:block;margin:4px 0;text-align:center;}
.with-nate{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:36px;letter-spacing:8px;text-transform:uppercase;color:#c8860a;margin-top:18px;margin-bottom:6px;}
.with-nate span{color:#f0e6d0;opacity:.9;}
.divider{width:200px;height:2px;background:linear-gradient(90deg,transparent,#c8860a,transparent);margin:22px auto;}
.tagline{font-family:'Barlow Condensed',sans-serif;font-weight:300;font-size:24px;letter-spacing:6px;text-transform:uppercase;color:#d4b87a;text-align:center;opacity:.85;margin-bottom:30px;}
.qr-frame{position:relative;padding:14px;background:#f5eed8;}
.qr-frame::before,.qr-frame::after{content:'';position:absolute;width:28px;height:28px;border-color:#c8860a;border-style:solid;}
.qr-frame::before{top:-4px;left:-4px;border-width:3px 0 0 3px;}
.qr-frame::after{bottom:-4px;right:-4px;border-width:0 3px 3px 0;}
.qr-frame .corner-tr,.qr-frame .corner-bl{position:absolute;width:28px;height:28px;border-color:#c8860a;border-style:solid;}
.qr-frame .corner-tr{top:-4px;right:-4px;border-width:3px 3px 0 0;}
.qr-frame .corner-bl{bottom:-4px;left:-4px;border-width:0 0 3px 3px;}
.qr-frame img{display:block;width:188px;height:188px;image-rendering:pixelated;}
.scan-label{font-family:'Barlow Condensed',sans-serif;font-weight:500;font-size:15px;letter-spacing:5px;text-transform:uppercase;color:#c8860a;margin-top:16px;opacity:.8;text-align:center;}
.bottom-badge{position:absolute;bottom:44px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;white-space:nowrap;}
.dot{width:5px;height:5px;border-radius:50%;background:#c8860a;opacity:.7;}
.badge-text{font-family:'Barlow Condensed',sans-serif;font-weight:300;font-size:16px;letter-spacing:8px;text-transform:uppercase;color:#a08040;opacity:.7;}
</style>
</head>
<body>
<div class="card">
<div class="bg-gradient"></div>
<div class="bar-left"></div>
<div class="bar-left2"></div>
<div class="bar-right"></div>
<div class="bar-right2"></div>
<div class="top-rule"></div>
<div class="bottom-rule"></div>
<div class="cross-ornament">✦ &nbsp; ✦ &nbsp; ✦</div>
<div class="content">
<div class="eyebrow">A Journey Through Scripture</div>
<span class="title-verse">VERSE</span>
<span class="title-by">· by ·</span>
<span class="title-verse">VERSE</span>
<div class="with-nate"><span>with </span>Nate</div>
<div class="divider"></div>
<div class="qr-frame">
<div class="corner-tr"></div>
<div class="corner-bl"></div>
<img src="data:image/png;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCASwBLADASIAAhEBAxEB/8QAHQABAQEBAQEBAQEBAAAAAAAAAAgJBwYEBQMCAf/EAGMQAAEABgIIDgsMCAUEAgICAwABAgMEBQYHEQgJFxghN1aVEjE4V3R1dpSys7TR0tMTFBU2QVRVYXOlsSIlNDVRZ4SRkpPU5BYjMmNxgcHwJjNDRGIkQlOFcqFSZOEngoOi/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/ALLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGW1L0+Tw60szg7O05zEwYMo6+qM2bOJtlVVFUN10IVQhC1SEIRgqPL3Q5/y4mbOzfpH9qaMcU67oH/lC55ID090Of8ALiZs7N+kLoc/5cTNnZv0jzAA9PdDn/LiZs7N+kLoc/5cTNnZv0jzAA9PdDn/AC4mbOzfpC6HP+XEzZ2b9I8wAPT3Q5/y4mbOzfpC6HP+XEzZ2b9I8wAPT3Q5/wAuJmzs36Quhz/lxM2dm/SPMAD090Of8uJmzs36Quhz/lxM2dm/SPMAD090Of8ALiZs7N+kLoc/5cTNnZv0jzAA9PdDn/LiZs7N+kLoc/5cTNnZv0jzAA9PdDn/AC4mbOzfpC6HP+XEzZ2b9I8wAPT3Q5/y4mbOzfpC6HP+XEzZ2b9I8wAPT3Q5/wAuJmzs36Quhz/lxM2dm/SPMAD090Of8uJmzs36Quhz/lxM2dm/SPMAD090Of8ALiZs7N+kLoc/5cTNnZv0jzAAuW11zBHo85TstHI3Eooli0ckMkvj0u2SzrQ3r0OiSmqupGl8hWZHVrO+AT56Vw9jwWKAAAAAAAABNVsHjkagVGUAbwSLxCGNmkZQou0c3ldissr2FompKVUorRX4CI7oc/5cTNnZv0izLZFirlzbtHENSDAPT3Q5/wAuJmzs36Quhz/lxM2dm/SPMAD090Of8uJmzs36Quhz/lxM2dm/SPMAD090Of8ALiZs7N+kLoc/5cTNnZv0jzAApOwkm+bYvZAQxxi00RuIOi7m9JWYPT+1as1koZJShKVVlkowJNBTN+wO1RsK2E98Uk0gAAADkdmLEYhCrHGan+Fvz04vjLtPsbd2arM2ilb4wQmpZVKEorQlKP4JSZ1XQ5/y4mbOzfpGhdm1qYpu+hctYGZoHp7oc/5cTNnZv0hdDn/LiZs7N+keYAHp7oc/5cTNnZv0hdDn/LiZs7N+keYAHp7oc/5cTNnZv0hdDn/LiZs7N+keYAHp7oc/5cTNnZv0hdDn/LiZs7N+keYAHp7oc/5cTNnZv0hdDn/LiZs7N+keYAHRaOJ9np4pDlt3bznMTZk1izqouzaRRslVdVLZVCUJQlbChKMBqmZE0YorpKldFSE+/DpgTpJ/XKGuwAAAfJGl12cHfWjNZZRdV3aJVWVTUlCUKpwoMmboc/5cTNnZv0jWWO/Ej/sZpwUmOYHp7oc/5cTNnZv0hdDn/LiZs7N+keYAHp7oc/5cTNnZv0hdDn/LiZs7N+keYAHp7oc/5cTNnZv0hdDn/LiZs7N+keYAHp7oc/5cTNnZv0hdDn/LiZs7N+keYAHp7oc/5cTNnZv0hdDn/LiZs7N+keYAHp7oc/5cTNnZv0hdDn/LiZs7N+keYAHp7oc/5cTNnZv0hdDn/LiZs7N+keYAHp7oc/5cTNnZv0hdDn/LiZs7N+keYAHp7oc/5cTNnZv0hdDn/LiZs7N+keYAHp7oc/5cTNnZv0jRWw6iMQitjjKr/FH56fnxr252Ru8tVmjRep8boRWsslKU1IQhH8EIMwzTKwl1MUo/TeWtwOzAAAAAAAAEH2e01zTBabXZzg0yxqGuyYKwXSxdIg0ZKaJLRrWnQqpQhCcCPPgLwM9rYehN3h0wJ+Inf/tq/wBVt9f8f5eADi90Of8ALiZs7N+kLoc/5cTNnZv0jzAA9PdDn/LiZs7N+kW5a+I5Go7RlH28bi8QibZnGUqKNHx5XbLKq9hZpqQlZKakV+Az8LztbuKuY9u08QyAqUAAAAAAAAky2KTBHoC5SStA43EoWls0fUNUub0uxS0qQwq0WhSiuqtOn8pWZHVsx+ASH6V/9juBKd0Of8uJmzs36Quhz/lxM2dm/SPMAD090Of8uJmzs36Quhz/AJcTNnZv0jzAA9PdDn/LiZs7N+kLoc/5cTNnZv0jzAA9PdDn/LiZs7N+kLoc/wCXEzZ2b9I8wAPT3Q5/y4mbOzfpC6HP+XEzZ2b9I8wAPT3Q5/y4mbOzfpC6HP8AlxM2dm/SPMAD090Of8uJmzs36Quhz/lxM2dm/SPMAD090Of8uJmzs36Quhz/AJcTNnZv0jzAA9PdDn/LiZs7N+kLoc/5cTNnZv0jzAA9PdDn/LiZs7N+kLoc/wCXEzZ2b9I8wAPT3Q5/y4mbOzfpC6HP+XEzZ2b9I8wAPT3Q5/y4mbOzfpC6HP8AlxM2dm/SPMAD090Of8uJmzs36Quhz/lxM2dm/SPMAD090Of8uJmzs36R6iiGfJ4eqWZPdnmc5ibsGsdclGjNpE2yyq6qW6iEqpQlapKEowVHMD1tC+OKSt0DhyhQDWsAAAAAAAAAAAAAAAAAAAABkpTRjinXdA/8oXPJHraaMcU67oH/AJQueSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC07Wd8Anz0rh7HgsUjq1nfAJ89K4ex4LFAAAAAAAAAlq2RYq5c27RxDUgwvO2RYq5c27RxDUgwAAAAAAAADvFgdqjYVsJ74pJpAZv2B2qNhWwnvikmkAAAAcZs2tTFN30LlrAzNNMrNrUxTd9C5awMzQAAAAAAAAAAAAAD0VGKK6SpXRUhPvw6YE6Sf1yhrsZE0YorpKldFSE+/DpgTpJ/XKGuwAAAfHHfiR/2M04KTHM2MjvxI/wCxmnBSY5gAAAAAAAAAAAAAAAAAAAAAAAADTKwl1MUo/TeWtzM00ysJdTFKP03lrcDswAAAAAAABnrbDqrvLrVofiJ3rqr/API20/8A+DQoz2th6U3eHTCn4id/+6v/AFW31fw/n4QJwAAAvO1u4q5j27TxDIgwvO1u4q5j27TxDICpQAAAAAAACOrZj8AkP0r/AOx3LFI6tmPwCQ/Sv/sdwIsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9bQvjikrdA4coUPJHraF8cUlboHDlCgGtYAAAAAAAAAAAAAAAAAAAADJSmjHFOu6B/5QueSPW00Y4p13QP/KFzyQAAAaQUAUTUZRehWUIpFJEl99fnqFMWrdu2clFl2i6VcKyyUowpPLine truncated
</div>
<div class="scan-label">Scan to Listen</div>
</div>
<div class="bottom-badge">
<div class="dot"></div>
<div class="badge-text">Scripture · Reflection · Faith</div>
<div class="dot"></div>
</div>
</div>
</body>
</html>
+63 -361
View File
@@ -1,382 +1,84 @@
{
"projects": [
"siteContent": {
"eyebrow": "A Journey Through Scripture",
"heroTagline": "Exploring God's Word one verse at a time",
"aboutShowHeading": "Depth. Clarity. Application.",
"aboutShowP1": "Verse by Verse with Nate walks through Scripture passage by passage — unpacking the original context, drawing out the meaning, and connecting each verse to how we live today.",
"aboutShowP2": "Whether you're in the car, at the gym, or just looking for something to anchor your day, each episode is designed to feed your faith with solid, practical teaching.",
"aboutNate": "Nate Emmert is a husband, dad, and lifelong student of the Bible from Nashville, TN. He created Verse by Verse to share the joy of deep Scripture study in a format anyone can follow along with — no seminary required.",
"seriesLabel": "Now Playing",
"seriesTitle": "Study of Titus: Sound Doctrine",
"seriesDescription": "A deep-dive into Paul's letter to Titus — unpacking what it means to build a church and a life on sound doctrine.",
"studyGuideTitle": "Companion Study Guide",
"studyGuideDescription": "Go deeper in your study with the official Verse by Verse companion guide — now available on Amazon.",
"studyGuideUrl": "https://a.co/d/01sG2tOJ",
"shareHeading": "Know someone who'd love this?",
"shareP": "Scan the QR code or share the link to introduce a friend to Verse by Verse with Nate.",
"customLinks": [],
"customBlocks": []
},
"updatedAt": "2026-04-09T00:00:00.000Z",
"_legacy_projects": [
{
"slug": "weather",
"title": "NeCloud Weather",
"domain": "weather.necloud.us",
"url": "https://weather.necloud.us",
"readmeUrl": "https://raw.githubusercontent.com/nmemmert/weather/main/README.md",
"category": "Weather",
"slug": "verse-by-verse",
"title": "Verse by Verse with Nate",
"domain": "spotify.com",
"url": "https://creators.spotify.com/pod/profile/nmemmert/",
"category": "Podcast",
"access": "Public",
"ownership": "built",
"ownership": "hosted",
"status": "Live",
"summary": "Weather dashboard with hourly forecasts, radar, and practical daily details.",
"details": "The homepage highlights Open-Meteo and RainViewer data, current conditions, high/low, daylight windows, and quick bring-along suggestions.",
"summary": "A verse-by-verse podcast from Nate Emmert focused on Scripture, story, and practical faith application.",
"details": "Weekly episodes explore Scripture one verse at a time, mixing theological insight, devotional reflection, and real-life application.",
"features": [
"Hourly forecast",
"Radar view",
"Wind and atmosphere panel"
],
"scanSource": "scanned",
"featured": {
"headline": "Fast weather checks with useful details at a glance.",
"problem": "Most weather tools either feel too basic or too noisy when you only want quick, actionable updates.",
"solution": "NeCloud Weather combines clean current conditions, practical recommendation blocks, and rapid forecast scanning in one view.",
"stack": [
"React",
"TypeScript",
"Open-Meteo",
"RainViewer"
],
"highlights": [
"Location search",
"Hero weather card",
"24-hour timeline",
"Radar shortcut"
],
"nextSteps": [
"Add severe weather alerts",
"Save favorite locations",
"Add sunrise trend charts"
],
"updateNote": "Edit this content in src/data/projects.ts under the weather project."
}
},
{
"slug": "capsule",
"title": "Capsule",
"domain": "capsule.necloud.us",
"url": "https://capsule.necloud.us",
"readmeUrl": "https://raw.githubusercontent.com/nmemmert/capsule/main/README.md",
"category": "Finance",
"access": "Mixed",
"iconUrl": "https://capsule.necloud.us/images/capsule-logo.svg",
"ownership": "built",
"status": "Live",
"summary": "Smart envelope budgeting app focused on planning and income allocation.",
"details": "The site presents guided setup, envelope-based spending controls, and paycheck auto-allocation to keep budgets structured.",
"features": [
"Envelope budgeting",
"Income auto-allocation",
"Offline-ready data"
],
"scanSource": "scanned",
"featured": {
"headline": "A practical budgeting workflow built around envelope control.",
"problem": "Traditional budget tools can feel rigid or overwhelming for everyday spending decisions.",
"solution": "Capsule uses guided setup and smart allocation so users can organize spending with clear envelope categories.",
"stack": [
"React",
"TypeScript",
"Local-first storage"
],
"highlights": [
"Guided setup wizard",
"Envelope categories",
"Auto-allocation rules"
],
"nextSteps": [
"Add recurring bill templates",
"Import transaction feeds",
"Monthly budget snapshots"
],
"updateNote": "Edit this content in src/data/projects.ts under the capsule project."
}
},
{
"slug": "nexusbible",
"title": "Nexus Bible",
"domain": "nexusbible.necloud.us",
"url": "https://nexusbible.necloud.us",
"readmeUrl": "https://raw.githubusercontent.com/nmemmert/nexusbible/main/README.md",
"category": "Study",
"access": "Mixed",
"ownership": "built",
"status": "Live",
"summary": "Bible reader for reading, comparison, and study using Free Use Bible API data.",
"details": "The app exposes navigation, reader controls, bookmarks, and daily-focus tooling to support regular scripture study.",
"features": [
"Reader modes",
"Bookmarks",
"Daily focus workflow"
],
"scanSource": "scanned",
"featured": {
"headline": "Scripture reading designed for depth, rhythm, and clarity.",
"problem": "Switching between apps for reading, comparison, and planning breaks study flow.",
"solution": "Nexus Bible unifies reader tools, bookmarks, and daily focus controls for a single focused study experience.",
"stack": [
"React",
"TypeScript",
"Free Use Bible API"
],
"highlights": [
"Reader mode",
"Passage navigation",
"Bookmarks",
"Daily focus entry points"
],
"nextSteps": [
"Add multi-translation compare view",
"Personal note collections",
"Reading streak tracking"
],
"updateNote": "Edit this content in src/data/projects.ts under the nexusbible project."
}
},
{
"slug": "prayer",
"title": "Haver",
"domain": "prayer.necloud.us",
"url": "https://prayer.necloud.us",
"readmeUrl": "https://raw.githubusercontent.com/nmemmert/haver/main/README.md",
"category": "Faith",
"access": "Mixed",
"ownership": "built",
"status": "Live",
"summary": "Prayer journal app for daily entries, requests, and answered-prayer tracking.",
"details": "Landing content emphasizes a minimalist prayer workflow with dashboards, calendar history, and Google Calendar reminder sync.",
"features": [
"Prayer journal",
"Prayer dashboard",
"Calendar integration"
],
"scanSource": "scanned",
"featured": {
"headline": "A calm daily prayer workflow with meaningful tracking.",
"problem": "Prayer journaling often lives across scattered notes and reminders, making consistency difficult.",
"solution": "Haver centralizes requests, daily entries, answered prayers, and reminder sync into one simple interface.",
"stack": [
"React",
"Firebase",
"Google Calendar integration"
],
"highlights": [
"Prayer composer",
"Answered prayer tracking",
"Calendar view",
"Reminder sync"
],
"nextSteps": [
"Add shared prayer groups",
"Voice prayer entry",
"Weekly summary digest"
],
"updateNote": "Edit this content in src/data/projects.ts under the prayer project."
}
},
{
"slug": "skywatch",
"title": "Skywatch",
"domain": "skywatch.necloud.us",
"url": "https://skywatch.necloud.us",
"category": "Sky and Space",
"access": "Public",
"ownership": "built",
"status": "Live",
"summary": "Skywatch project in your NeCloud stack.",
"details": "Live page content could not be scanned automatically because the endpoint responded with 401; this entry is currently a manual placeholder.",
"features": [
"Manual metadata fallback",
"Live endpoint available via domain"
"Verse-by-verse teaching",
"Weekly podcast episodes",
"Practical reflection"
],
"scanSource": "manual",
"featured": {
"headline": "Skywatch project overview placeholder.",
"problem": "Automated scanning could not access this project because the endpoint returned 401.",
"solution": "This featured page is intentionally editable so you can replace placeholder copy with your exact app details.",
"headline": "Podcast teaching shaped around verse-by-verse discovery.",
"problem": "Bible study and podcast listening often feel disconnected from each other and from everyday life.",
"solution": "Verse by Verse with Nate brings Scripture study and podcast conversation together in a format that is easy to follow and apply.",
"stack": [
"Update manually"
"Podcast hosting",
"Spotify",
"Verse-by-verse teaching"
],
"highlights": [
"Placeholder content",
"Manual metadata fallback"
"Episode guides",
"Scripture focus",
"Practical application"
],
"nextSteps": [
"Add full description",
"Add stack details",
"Add feature highlights"
"Add episode notes",
"Add guest interviews",
"Link transcripts and study resources"
],
"updateNote": "Edit this content in src/data/projects.ts under the skywatch project."
}
},
{
"slug": "spellinghub",
"title": "Spelling Hub",
"domain": "spellinghub.necloud.us",
"url": "https://spellinghub.necloud.us",
"readmeUrl": "https://raw.githubusercontent.com/nmemmert/spellinghub/main/README.md",
"category": "Education",
"access": "Mixed",
"ownership": "built",
"status": "Live",
"summary": "Modern spelling practice application with account-based learning flows.",
"details": "Homepage messaging presents a clean practice platform with login and registration for user progress.",
"features": [
"Practice workflows",
"User auth",
"Simple home dashboard"
],
"scanSource": "scanned",
"featured": {
"headline": "Focused spelling practice with lightweight account flow.",
"problem": "Many spelling tools are cluttered and do not support structured, repeatable daily practice.",
"solution": "Spelling Hub keeps onboarding simple and centers the product on practical, repeatable learning loops.",
"stack": [
"React",
"TypeScript",
"Auth-backed workflow"
],
"highlights": [
"Login/register flow",
"Practice-first design",
"Simple navigation"
],
"nextSteps": [
"Add custom word lists",
"Teacher/student modes",
"Progress analytics dashboard"
],
"updateNote": "Edit this content in src/data/projects.ts under the spellinghub project."
}
},
{
"slug": "mealie",
"title": "Mealie",
"domain": "mealie.necloud.us",
"url": "https://mealie.necloud.us",
"category": "Self-hosted Tools",
"access": "Mixed",
"ownership": "hosted",
"status": "Live",
"summary": "Self-hosted recipe manager with categories, tags, and kitchen planning tools.",
"details": "Scanned content confirms a full Mealie interface with home feed, recipe browsing, and account login flow.",
"features": [
"Recipe library",
"Tags and categories",
"User login"
],
"scanSource": "scanned",
"featured": {
"headline": "Recipe organization and planning through your self-hosted stack.",
"problem": "Recipe collections get scattered across browser bookmarks and notes without centralized organization.",
"solution": "Your Mealie instance provides structured categories, tags, and searchable recipes for day-to-day meal planning.",
"stack": [
"Mealie",
"Self-hosted deployment"
],
"highlights": [
"Recipe catalog",
"Category and tag views",
"Account login"
],
"nextSteps": [
"Add meal plan snapshots",
"Import bookmark recipes",
"Shopping list workflows"
],
"updateNote": "Edit this content in src/data/projects.ts under the mealie project."
}
},
{
"slug": "music",
"title": "Swing Music",
"domain": "music.necloud.us",
"url": "https://music.necloud.us",
"category": "Self-hosted Tools",
"access": "Mixed",
"ownership": "hosted",
"status": "Live",
"summary": "Self-hosted music streaming interface with folders, playlists, and favorites.",
"details": "Homepage scan identifies Swing Music with library navigation, playlists, favorites, and guest/standard access options.",
"features": [
"Library browsing",
"Playlists",
"Guest mode"
],
"scanSource": "scanned",
"featured": {
"headline": "Swing Music streaming from your own infrastructure.",
"problem": "Centralized music services can limit control over personal libraries and hosting preferences.",
"solution": "Your Swing Music instance provides library browsing, playlists, and favorites with local hosting control.",
"stack": [
"Swing Music",
"Self-hosted deployment"
],
"highlights": [
"Library navigation",
"Playlist support",
"Favorites",
"Guest mode"
],
"nextSteps": [
"Improve mobile now-playing UI",
"Add listening history",
"Playlist sharing links"
],
"updateNote": "Edit this content in src/data/projects.ts under the music project."
}
},
{
"slug": "seafile",
"title": "Seafile Instance",
"domain": "seafile.necloud.us",
"url": "https://seafile.necloud.us",
"category": "Self-hosted Tools",
"access": "Login required",
"iconUrl": "https://seafile.necloud.us/media/custom/mylogo.png",
"ownership": "hosted",
"status": "Live",
"summary": "Your self-hosted Seafile instance for secure sync, sharing, and account-based access.",
"details": "Scanned landing view exposes the Seafile login portal with account signup and password reset features.",
"features": [
"File sync platform",
"Account login",
"Password recovery"
],
"scanSource": "scanned",
"featured": {
"headline": "A private file sync and sharing system you host yourself.",
"problem": "Cloud storage options often reduce control over data location and account governance.",
"solution": "Your Seafile instance gives you direct ownership of file sync, sharing access, and user account management.",
"stack": [
"Seafile",
"Self-hosted deployment"
],
"highlights": [
"Secure login",
"Account management",
"Password reset flow"
],
"nextSteps": [
"Add team spaces",
"Automated backup checks",
"Storage usage dashboard"
],
"updateNote": "Edit this content in src/data/projects.ts under the seafile project."
"updateNote": "Edit this content in data/admin-content.json for the Verse by Verse podcast project."
}
}
],
"siteContent": {
"theme": "sand",
"homeEyebrow": "Siteforge",
"homeTitle": "Sites and Apps I Build",
"homeIntro": "Live links generated from your domain list. Use the Admin panel to update cards and About pages without editing code.",
"projectEyebrow": "Project Details",
"quickTipsTitle": "Quick edit tips",
"quickTipsBody": "Open /admin to update card and featured page content. Changes are saved in your project data file via the API server.",
"downloadsTitle": "Downloads",
"downloadsIntro": "Add shared files, installers, or documents here. Seafile share links work well for this section.",
"homeEyebrow": "Verse by Verse with Nate",
"homeTitle": "Podcast episodes, Scripture study, and weekly reflections",
"homeIntro": "A podcast experience centered on verse-by-verse conversation, prayerful application, and practical faith rhythms. Explore episodes, show notes, and the latest reflections from Nate.",
"projectEyebrow": "Featured Episode",
"quickTipsTitle": "Why listeners stay engaged",
"quickTipsBody": "Each episode focuses on clear Scripture teaching, practical application, and encouragement you can carry into the week.",
"downloadsTitle": "Listen Everywhere",
"downloadsIntro": "Use these links to follow the show, share episodes, and stay connected with Verse by Verse with Nate.",
"downloads": [
{
"title": "Shared File",
"url": "https://seafile.necloud.us",
"description": "Replace this with a direct Seafile share link or another download URL."
"title": "Spotify Creator Profile",
"url": "https://creators.spotify.com/pod/profile/nmemmert/",
"description": "Open the official show profile and listen to the latest episodes."
}
],
"showSidebar": true,
"showWeatherWidget": true,
"showMusicBar": true,
"showSidebar": false,
"showWeatherWidget": false,
"showMusicBar": false,
"homeSections": [
{
"id": "summary",
@@ -387,14 +89,14 @@
"placement": "main"
},
{
"id": "downloads",
"placement": "sidebar"
"id": "quickTips",
"placement": "main"
},
{
"id": "quickTips",
"placement": "sidebar"
"id": "downloads",
"placement": "main"
}
]
},
"updatedAt": "2026-03-19T19:19:04.291Z"
"updatedAt": "2026-04-09T00:00:00.000Z"
}
+18 -1
View File
@@ -4,7 +4,24 @@
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Siteforge</title>
<meta name="description" content="Verse by Verse with Nate — A verse-by-verse Scripture podcast exploring God's Word with depth, clarity, and practical application." />
<title>Verse by Verse with Nate</title>
<!-- Open Graph -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Verse by Verse with Nate" />
<meta property="og:description" content="A verse-by-verse Scripture podcast exploring God's Word with depth, clarity, and practical application." />
<meta property="og:image" content="https://necloud.us/images/banner.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:secure_url" content="https://necloud.us/images/banner.png" />
<meta property="og:image:alt" content="Verse by Verse with Nate podcast banner" />
<meta property="og:locale" content="en_US" />
<meta property="og:url" content="https://necloud.us" />
<meta property="og:site_name" content="Verse by Verse with Nate" />
<link rel="canonical" href="https://necloud.us" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700&family=Barlow+Condensed:wght@300;400;500;700&display=swap" rel="stylesheet" />
</head>
<body>
<div id="root"></div>
+40
View File
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Artwork" xmlns="http://www.w3.org/2000/svg" width="113.7899" height="26.164" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 113.7899 26.164">
<!-- Generator: Adobe Illustrator 29.8.1, SVG Export Plug-In . SVG Version: 2.1.1 Build 2) -->
<defs>
<style>
.st0 {
fill: #fff;
}
</style>
</defs>
<image width="2048" height="2048" transform="translate(.5 .5) scale(.0123)" xlink:href="data:image/png;base64,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 truncated
<g>
<g>
<g>
<path class="st0" d="M49.6308,11.8432c2.4126,0,4.0928,1.6631,4.0928,4.0843,0,2.4299-1.7146,4.1016-4.1532,4.1016h-2.6713v4.2481h-1.9302v-12.434h4.6617ZM46.8992,18.4092h2.2145c1.6803,0,2.6367-.9047,2.6367-2.473s-.9563-2.4643-2.6281-2.4643h-2.2232v4.9373Z"/>
<path class="st0" d="M54.0083,19.7448c0-2.9124,1.7147-4.6962,4.2998-4.6962s4.2998,1.7837,4.2998,4.6962c0,2.9211-1.7061,4.7048-4.2998,4.7048s-4.2998-1.7837-4.2998-4.7048ZM60.7121,19.7448c0-2.0076-.9479-3.1622-2.404-3.1622s-2.4042,1.1546-2.4042,3.1622c0,2.0164.9479,3.171,2.4042,3.171,1.4648,0,2.404-1.1546,2.404-3.171Z"/>
<path class="st0" d="M63.643,19.7448c0-2.8607,1.5165-4.6789,3.7913-4.6789,1.3011,0,2.3352.6549,2.8435,1.6544h.0346v-4.8772h1.8698v12.434h-1.8095v-1.5424h-.0346c-.5342,1.034-1.5682,1.6975-2.8865,1.6975-2.2921,0-3.8086-1.8268-3.8086-4.6875ZM65.5472,19.7448c0,1.9129.9219,3.1107,2.3955,3.1107,1.4304,0,2.3867-1.215,2.3867-3.1107,0-1.8785-.9563-3.1105-2.3867-3.1105-1.4736,0-2.3955,1.2063-2.3955,3.1105Z"/>
<path class="st0" d="M79.8816,18.3317c-.1895-.9652-.9133-1.732-2.1283-1.732-1.439,0-2.3869,1.1977-2.3869,3.1451,0,1.9905.9565,3.1451,2.4042,3.1451,1.146,0,1.8956-.6289,2.111-1.6802h1.7924c-.1983,1.9302-1.7407,3.2399-3.9206,3.2399-2.5936,0-4.2825-1.7751-4.2825-4.7048,0-2.878,1.6888-4.6962,4.2652-4.6962,2.3352,0,3.7569,1.4993,3.9206,3.2831h-1.7751Z"/>
<path class="st0" d="M82.6315,21.7009c0-1.5856,1.215-2.5592,3.3692-2.6799l2.4816-.1464v-.6979c0-1.0082-.6808-1.6114-1.8181-1.6114-1.0772,0-1.7493.5169-1.913,1.327h-1.7578c.1034-1.6373,1.4993-2.8436,3.7396-2.8436,2.1974,0,3.6019,1.1633,3.6019,2.9814v6.2472h-1.7837v-1.4907h-.043c-.5255,1.0082-1.6715,1.6458-2.8607,1.6458-1.7751,0-3.0158-1.1029-3.0158-2.7314ZM88.4823,20.8823v-.7152l-2.2318.1378c-1.1116.0776-1.7405.5688-1.7405,1.3443,0,.7926.6549,1.3097,1.6544,1.3097,1.3011,0,2.3179-.8962,2.3179-2.0766Z"/>
<path class="st0" d="M95.3657,15.0486c2.1111,0,3.4812,1.1719,3.5415,2.8436h-1.7493c-.1034-.8789-.7496-1.4304-1.7922-1.4304-1.0082,0-1.6803.4911-1.6803,1.215,0,.5686.4137.9563,1.396,1.1804l1.4734.3361c1.8527.4308,2.5592,1.1546,2.5592,2.4643,0,1.6544-1.5424,2.7919-3.6793,2.7919-2.2662,0-3.6278-1.1116-3.8001-2.835h1.8441c.1724.9479.8186,1.4133,1.9561,1.4133,1.1201,0,1.8095-.4654,1.8095-1.2063,0-.586-.3361-.9308-1.327-1.1548l-1.4734-.3445c-1.7234-.3964-2.5765-1.2236-2.5765-2.542,0-1.62,1.4133-2.7316,3.4985-2.7316Z"/>
<path class="st0" d="M103.0107,13.0668v2.1456h1.7232v1.4736h-1.7232v4.9977c0,.7842.3445,1.1373,1.1029,1.1373.1895,0,.4911-.0171.6116-.043v1.4734c-.2068.0519-.6203.0863-1.034.0863-1.8354,0-2.5506-.6979-2.5506-2.4472v-5.2044h-1.3183v-1.4736h1.3183v-2.1456h1.87Z"/>
<path class="st0" d="M109.5416,15.0486c2.1111,0,3.4812,1.1719,3.5415,2.8436h-1.7493c-.1034-.8789-.7496-1.4304-1.7922-1.4304-1.0082,0-1.6803.4911-1.6803,1.215,0,.5686.4137.9563,1.396,1.1804l1.4734.3361c1.8527.4308,2.5592,1.1546,2.5592,2.4643,0,1.6544-1.5424,2.7919-3.6793,2.7919-2.2662,0-3.6278-1.1116-3.8001-2.835h1.8441c.1724.9479.8186,1.4133,1.9561,1.4133,1.1201,0,1.8095-.4654,1.8095-1.2063,0-.586-.3361-.9308-1.327-1.1548l-1.4734-.3445c-1.7234-.3964-2.5765-1.2236-2.5765-2.542,0-1.62,1.4133-2.7316,3.4985-2.7316Z"/>
</g>
<g>
<path class="st0" d="M39.741,14.162c-1.1094-.0821-2.0505.6196-2.5756.6196-.5327,0-1.3541-.602-2.2251-.5855-1.1436.0168-2.1976.6654-2.7873,1.6894-1.1878,2.0617-.3032,5.1168.8538,6.7898.5659.8175,1.2409,1.7387,2.1275,1.7052.8534-.0336,1.1762-.552,2.2078-.552,1.0309,0,1.3217.552,2.2242.5354.9185-.0171,1.5005-.8344,2.0623-1.6564.6501-.9489.9172-1.8676.9331-1.9162-.0203-.0077-1.7905-.6869-1.8082-2.7263-.016-1.7051,1.3918-2.5247,1.4558-2.5641-.7991-1.1769-2.0334-1.3067-2.4682-1.3389Z"/>
<path class="st0" d="M39.0565,13.0576c.4712-.5694.7882-1.3624.7009-2.1512-.6781.0269-1.4983.4517-1.9846,1.0208-.4356.5041-.8181,1.3115-.7142,2.0841.7558.0584,1.5272-.3839,1.998-.9537Z"/>
</g>
</g>
<g>
<path class="st0" d="M32.3404,1.8525h.9297v5.1875h2.8057v.8018h-3.7354V1.8525Z"/>
<path class="st0" d="M37.1695,1.9687c0-.3115.2534-.5645.5645-.5645.3076,0,.5645.2529.5645.5645,0,.3066-.2568.5605-.5645.5605-.311,0-.5645-.2539-.5645-.5605ZM37.2818,3.3339h.8965v4.5078h-.8965V3.3339Z"/>
<path class="st0" d="M39.3887,6.663v-.0049h.9009l.0039.0049c.1123.3398.4399.5684.9756.5684.5557,0,.9419-.2529.9419-.623v-.0078c0-.2822-.2114-.4736-.7349-.5938l-.7178-.166c-.8506-.1953-1.2451-.5811-1.2451-1.2412v-.0039c0-.7842.7305-1.3486,1.7515-1.3486,1.0293,0,1.689.5146,1.7681,1.249v.0039h-.8594v-.0078c-.0869-.3154-.4062-.5518-.9131-.5518-.4937,0-.8506.2441-.8506.6055v.0088c0,.2822.2075.4561.7139.5762l.7139.1621c.8672.2031,1.2822.5732,1.2822,1.2246v.0078c0,.835-.7969,1.4033-1.8672,1.4033-1.0879,0-1.7764-.5107-1.8638-1.2656Z"/>
<path class="st0" d="M44.5836,6.6543v-2.6104h-.7051v-.71h.7051v-1.1367h.9175v1.1367h.9673v.71h-.9673v2.3945c0,.4854.1826.6846.6265.6846.1372,0,.2158-.0039.3408-.0166v.7188c-.1455.0244-.3115.0449-.4858.0449-.9917,0-1.3989-.3486-1.3989-1.2158Z"/>
<path class="st0" d="M47.3658,5.6005v-.0049c0-1.4062.8135-2.3486,2.0713-2.3486s2.0293.9092,2.0293,2.2617v.3154h-3.1958c.0166.8633.4897,1.3652,1.2329,1.3652.5767,0,.9209-.2861,1.0293-.5186l.0166-.0332.8672-.0039-.0083.0371c-.1494.5938-.772,1.2578-1.9258,1.2578-1.3198,0-2.1167-.9004-2.1167-2.3281ZM48.2828,5.1806h2.291c-.0703-.8047-.5225-1.1953-1.1328-1.1953-.6143,0-1.0791.4199-1.1582,1.1953Z"/>
<path class="st0" d="M52.6553,3.3339h.9009v.6846h.0664c.2197-.4814.6514-.7715,1.3071-.7715,1.0083,0,1.5649.6016,1.5649,1.6768v2.918h-.8965v-2.7061c0-.7471-.3115-1.1172-.9717-1.1172-.6597,0-1.0703.4531-1.0703,1.1787v2.6445h-.9009V3.3339Z"/>
<path class="st0" d="M60.0855,5.5918v-.0078c0-1.4492.8135-2.3369,2.1333-2.3369,1.3159,0,2.1294.8838,2.1294,2.3369v.0078c0,1.4531-.8096,2.3369-2.1294,2.3369-1.3237,0-2.1333-.8838-2.1333-2.3369ZM63.4307,5.5918v-.0078c0-1.001-.4399-1.5859-1.2119-1.5859-.7759,0-1.2119.585-1.2119,1.5859v.0078c0,1,.436,1.5859,1.2119,1.5859.772,0,1.2119-.5898,1.2119-1.5859Z"/>
<path class="st0" d="M65.5367,3.3339h.9004v.6846h.0664c.2202-.4814.6519-.7715,1.3076-.7715,1.0088,0,1.5645.6016,1.5645,1.6768v2.918h-.8965v-2.7061c0-.7471-.311-1.1172-.9707-1.1172-.6602,0-1.0713.4531-1.0713,1.1787v2.6445h-.9004V3.3339Z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 649 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

+4 -4
View File
@@ -25,17 +25,17 @@ app.get('/api/admin-content', async (_req, res) => {
app.put('/api/admin-content', async (req, res) => {
try {
const { projects, siteContent } = req.body ?? {}
const { siteContent } = req.body ?? {}
if (!Array.isArray(projects) || !siteContent || typeof siteContent !== 'object') {
res.status(400).json({ message: 'Invalid payload.' })
if (!siteContent || typeof siteContent !== 'object' || Array.isArray(siteContent)) {
res.status(400).json({ message: 'Invalid payload: siteContent must be an object.' })
return
}
await mkdir(DATA_DIR, { recursive: true })
await writeFile(
DATA_FILE,
JSON.stringify({ projects, siteContent, updatedAt: new Date().toISOString() }, null, 2),
JSON.stringify({ siteContent, updatedAt: new Date().toISOString() }, null, 2),
'utf8',
)
+260
View File
@@ -0,0 +1,260 @@
import { useState } from 'react'
import { Link } from 'react-router-dom'
import type { SiteContent, CustomLink, CustomBlock } from './App'
import { DEFAULTS } from './App'
interface Props {
content: SiteContent
onSave: (c: SiteContent) => void
}
type StringField = Exclude<keyof SiteContent, 'customLinks' | 'customBlocks'>
const FIELDS: { key: StringField; label: string; multiline?: boolean }[] = [
{ key: 'eyebrow', label: 'Hero Eyebrow Text' },
{ key: 'heroTagline', label: 'Hero Tagline' },
{ key: 'aboutShowHeading', label: 'About Show — Heading' },
{ key: 'aboutShowP1', label: 'About Show — Paragraph 1', multiline: true },
{ key: 'aboutShowP2', label: 'About Show — Paragraph 2', multiline: true },
{ key: 'aboutNate', label: 'About Nate', multiline: true },
{ key: 'seriesLabel', label: 'Series Label (e.g. "Now Playing")' },
{ key: 'seriesTitle', label: 'Series Title' },
{ key: 'seriesDescription', label: 'Series Description', multiline: true },
{ key: 'studyGuideTitle', label: 'Study Guide Title' },
{ key: 'studyGuideDescription', label: 'Study Guide Description', multiline: true },
{ key: 'studyGuideUrl', label: 'Study Guide URL (Amazon link)' },
{ key: 'shareHeading', label: 'Share Section — Heading' },
{ key: 'shareP', label: 'Share Section — Paragraph', multiline: true },
]
export default function AdminPage({ content, onSave }: Props) {
const [form, setForm] = useState<SiteContent>(content)
const [status, setStatus] = useState<'idle' | 'saving' | 'saved' | 'error'>('idle')
const [errorMsg, setErrorMsg] = useState('')
function handleChange(key: StringField, value: string) {
setForm(f => ({ ...f, [key]: value }))
}
function addLink() {
setForm(f => ({
...f,
customLinks: [
...(f.customLinks ?? []),
{ id: Date.now().toString(36), label: '', url: '', placement: 'platforms' as const },
],
}))
}
function updateLink(id: string, field: keyof CustomLink, value: string) {
setForm(f => ({
...f,
customLinks: (f.customLinks ?? []).map(l => l.id === id ? { ...l, [field]: value } : l),
}))
}
function removeLink(id: string) {
setForm(f => ({ ...f, customLinks: (f.customLinks ?? []).filter(l => l.id !== id) }))
}
function addBlock() {
setForm(f => ({
...f,
customBlocks: [
...(f.customBlocks ?? []),
{ id: Date.now().toString(36), heading: '', body: '' },
],
}))
}
function updateBlock(id: string, field: keyof CustomBlock, value: string) {
setForm(f => ({
...f,
customBlocks: (f.customBlocks ?? []).map(b => b.id === id ? { ...b, [field]: value } : b),
}))
}
function removeBlock(id: string) {
setForm(f => ({ ...f, customBlocks: (f.customBlocks ?? []).filter(b => b.id !== id) }))
}
async function handleSave() {
setStatus('saving')
setErrorMsg('')
try {
const res = await fetch('/api/admin-content', {
method: 'PUT',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ siteContent: form }),
})
if (!res.ok) {
const data = await res.json().catch(() => ({}))
throw new Error((data as { message?: string }).message ?? 'Save failed')
}
onSave(form)
setStatus('saved')
setTimeout(() => setStatus('idle'), 3500)
} catch (err) {
setErrorMsg(err instanceof Error ? err.message : 'Unknown error')
setStatus('error')
}
}
function handleReset() {
if (confirm('Reset all fields to defaults?')) {
setForm(DEFAULTS)
setStatus('idle')
}
}
return (
<div className="admin-page">
<div className="admin-header">
<span className="admin-ornament">✦ &nbsp; ✦ &nbsp; ✦</span>
<h1>Site Admin</h1>
<p className="admin-sub">Verse by Verse with Nate</p>
<Link to="/" className="admin-back">← Back to site</Link>
</div>
<div className="admin-form-wrap">
<form
className="admin-form"
onSubmit={e => { e.preventDefault(); handleSave() }}
>
{FIELDS.map(({ key, label, multiline }) => (
<div className="admin-field" key={key}>
<label htmlFor={`field-${key}`}>{label}</label>
{multiline ? (
<textarea
id={`field-${key}`}
value={form[key] as string}
onChange={e => handleChange(key, e.target.value)}
rows={4}
/>
) : (
<input
id={`field-${key}`}
type="text"
value={form[key] as string}
onChange={e => handleChange(key, e.target.value)}
/>
)}
</div>
))}
{/* ── Custom Links ── */}
<div className="admin-section-header">
<h3>Custom Links</h3>
<p>Add links to show in the platform buttons row, footer, or a dedicated "More Resources" section.</p>
</div>
{(form.customLinks ?? []).map(link => (
<div key={link.id} className="admin-array-row">
<div className="admin-array-fields">
<div className="admin-field">
<label htmlFor={`link-label-${link.id}`}>Label</label>
<input
id={`link-label-${link.id}`}
type="text"
value={link.label}
placeholder="e.g. iHeart Radio"
onChange={e => updateLink(link.id, 'label', e.target.value)}
/>
</div>
<div className="admin-field">
<label htmlFor={`link-url-${link.id}`}>URL</label>
<input
id={`link-url-${link.id}`}
type="url"
value={link.url}
placeholder="https://..."
onChange={e => updateLink(link.id, 'url', e.target.value)}
/>
</div>
<div className="admin-field">
<label htmlFor={`link-placement-${link.id}`}>Show in</label>
<select
id={`link-placement-${link.id}`}
value={link.placement}
onChange={e => updateLink(link.id, 'placement', e.target.value)}
>
<option value="platforms">Platform Buttons (Listen section)</option>
<option value="footer">Footer Nav</option>
<option value="resources">More Resources Section</option>
</select>
</div>
</div>
<button type="button" className="btn-admin-remove" onClick={() => removeLink(link.id)}>
Remove
</button>
</div>
))}
<button type="button" className="btn-admin-add" onClick={addLink}>
+ Add Link
</button>
{/* ── Custom Blocks ── */}
<div className="admin-section-header">
<h3>Custom Content Blocks</h3>
<p>Add extra text sections. They appear below the share/QR section on the site.</p>
</div>
{(form.customBlocks ?? []).map(block => (
<div key={block.id} className="admin-array-row">
<div className="admin-array-fields">
<div className="admin-field">
<label htmlFor={`block-heading-${block.id}`}>Heading</label>
<input
id={`block-heading-${block.id}`}
type="text"
value={block.heading}
placeholder="Section heading"
onChange={e => updateBlock(block.id, 'heading', e.target.value)}
/>
</div>
<div className="admin-field">
<label htmlFor={`block-body-${block.id}`}>Body Text</label>
<textarea
id={`block-body-${block.id}`}
value={block.body}
rows={3}
placeholder="Write your content here…"
onChange={e => updateBlock(block.id, 'body', e.target.value)}
/>
</div>
</div>
<button type="button" className="btn-admin-remove" onClick={() => removeBlock(block.id)}>
Remove
</button>
</div>
))}
<button type="button" className="btn-admin-add" onClick={addBlock}>
+ Add Content Block
</button>
<div className="admin-actions">
<button
type="submit"
className="btn-admin-save"
disabled={status === 'saving'}
>
{status === 'saving' ? 'Saving…' : 'Save Changes'}
</button>
<button
type="button"
className="btn-admin-reset"
onClick={handleReset}
>
Reset to Defaults
</button>
</div>
{status === 'saved' && (
<p className="admin-status admin-status--ok">✓ Changes saved.</p>
)}
{status === 'error' && (
<p className="admin-status admin-status--err">✗ {errorMsg}</p>
)}
</form>
</div>
</div>
)
}
+1011 -1050
View File
File diff suppressed because it is too large. Load diff
+363 -2603
View File
File diff suppressed because it is too large. Load diff
+16 -230
View File
@@ -29,243 +29,29 @@ export type Project = {
export const projects: Project[] = [
{
slug: 'weather',
title: 'NeCloud Weather',
domain: 'weather.necloud.us',
url: 'https://weather.necloud.us',
readmeUrl: 'https://raw.githubusercontent.com/nmemmert/weather/main/README.md',
category: 'Weather',
slug: 'verse-by-verse',
title: 'Verse by Verse with Nate',
domain: 'spotify.com',
url: 'https://creators.spotify.com/pod/profile/nmemmert/',
category: 'Podcast',
access: 'Public',
ownership: 'built',
ownership: 'hosted',
status: 'Live',
summary: 'Weather dashboard with hourly forecasts, radar, and practical daily details.',
summary: 'A verse-by-verse podcast from Nate Emmert focused on Scripture, story, and practical faith application.',
details:
'The homepage highlights Open-Meteo and RainViewer data, current conditions, high/low, daylight windows, and quick bring-along suggestions.',
features: ['Hourly forecast', 'Radar view', 'Wind and atmosphere panel'],
scanSource: 'scanned',
featured: {
headline: 'Fast weather checks with useful details at a glance.',
problem:
'Most weather tools either feel too basic or too noisy when you only want quick, actionable updates.',
solution:
'NeCloud Weather combines clean current conditions, practical recommendation blocks, and rapid forecast scanning in one view.',
stack: ['React', 'TypeScript', 'Open-Meteo', 'RainViewer'],
highlights: ['Location search', 'Hero weather card', '24-hour timeline', 'Radar shortcut'],
nextSteps: ['Add severe weather alerts', 'Save favorite locations', 'Add sunrise trend charts'],
updateNote: 'Edit this content in src/data/projects.ts under the weather project.',
},
},
{
slug: 'capsule',
title: 'Capsule',
domain: 'capsule.necloud.us',
url: 'https://capsule.necloud.us',
readmeUrl: 'https://raw.githubusercontent.com/nmemmert/capsule/main/README.md',
category: 'Finance',
access: 'Mixed',
iconUrl: 'https://capsule.necloud.us/images/capsule-logo.svg',
ownership: 'built',
status: 'Live',
summary: 'Smart envelope budgeting app focused on planning and income allocation.',
details:
'The site presents guided setup, envelope-based spending controls, and paycheck auto-allocation to keep budgets structured.',
features: ['Envelope budgeting', 'Income auto-allocation', 'Offline-ready data'],
scanSource: 'scanned',
featured: {
headline: 'A practical budgeting workflow built around envelope control.',
problem:
'Traditional budget tools can feel rigid or overwhelming for everyday spending decisions.',
solution:
'Capsule uses guided setup and smart allocation so users can organize spending with clear envelope categories.',
stack: ['React', 'TypeScript', 'Local-first storage'],
highlights: ['Guided setup wizard', 'Envelope categories', 'Auto-allocation rules'],
nextSteps: ['Add recurring bill templates', 'Import transaction feeds', 'Monthly budget snapshots'],
updateNote: 'Edit this content in src/data/projects.ts under the capsule project.',
},
},
{
slug: 'nexusbible',
title: 'Nexus Bible',
domain: 'nexusbible.necloud.us',
url: 'https://nexusbible.necloud.us',
readmeUrl: 'https://raw.githubusercontent.com/nmemmert/nexusbible/main/README.md',
category: 'Study',
access: 'Mixed',
ownership: 'built',
status: 'Live',
summary: 'Bible reader for reading, comparison, and study using Free Use Bible API data.',
details:
'The app exposes navigation, reader controls, bookmarks, and daily-focus tooling to support regular scripture study.',
features: ['Reader modes', 'Bookmarks', 'Daily focus workflow'],
scanSource: 'scanned',
featured: {
headline: 'Scripture reading designed for depth, rhythm, and clarity.',
problem:
'Switching between apps for reading, comparison, and planning breaks study flow.',
solution:
'Nexus Bible unifies reader tools, bookmarks, and daily focus controls for a single focused study experience.',
stack: ['React', 'TypeScript', 'Free Use Bible API'],
highlights: ['Reader mode', 'Passage navigation', 'Bookmarks', 'Daily focus entry points'],
nextSteps: ['Add multi-translation compare view', 'Personal note collections', 'Reading streak tracking'],
updateNote: 'Edit this content in src/data/projects.ts under the nexusbible project.',
},
},
{
slug: 'prayer',
title: 'Haver',
domain: 'prayer.necloud.us',
url: 'https://prayer.necloud.us',
readmeUrl: 'https://raw.githubusercontent.com/nmemmert/haver/main/README.md',
category: 'Faith',
access: 'Mixed',
ownership: 'built',
status: 'Live',
summary: 'Prayer journal app for daily entries, requests, and answered-prayer tracking.',
details:
'Landing content emphasizes a minimalist prayer workflow with dashboards, calendar history, and Google Calendar reminder sync.',
features: ['Prayer journal', 'Prayer dashboard', 'Calendar integration'],
scanSource: 'scanned',
featured: {
headline: 'A calm daily prayer workflow with meaningful tracking.',
problem:
'Prayer journaling often lives across scattered notes and reminders, making consistency difficult.',
solution:
'Haver centralizes requests, daily entries, answered prayers, and reminder sync into one simple interface.',
stack: ['React', 'Firebase', 'Google Calendar integration'],
highlights: ['Prayer composer', 'Answered prayer tracking', 'Calendar view', 'Reminder sync'],
nextSteps: ['Add shared prayer groups', 'Voice prayer entry', 'Weekly summary digest'],
updateNote: 'Edit this content in src/data/projects.ts under the prayer project.',
},
},
{
slug: 'skywatch',
title: 'Skywatch',
domain: 'skywatch.necloud.us',
url: 'https://skywatch.necloud.us',
category: 'Sky and Space',
access: 'Public',
ownership: 'built',
status: 'Live',
summary: 'Skywatch project in your NeCloud stack.',
details:
'Live page content could not be scanned automatically because the endpoint responded with 401; this entry is currently a manual placeholder.',
features: ['Manual metadata fallback', 'Live endpoint available via domain'],
'Weekly episodes explore Scripture one verse at a time, mixing theological insight, devotional reflection, and real-life application.',
features: ['Verse-by-verse teaching', 'Weekly podcast episodes', 'Practical reflection'],
scanSource: 'manual',
featured: {
headline: 'Skywatch project overview placeholder.',
problem: 'Automated scanning could not access this project because the endpoint returned 401.',
solution:
'This featured page is intentionally editable so you can replace placeholder copy with your exact app details.',
stack: ['Update manually'],
highlights: ['Placeholder content', 'Manual metadata fallback'],
nextSteps: ['Add full description', 'Add stack details', 'Add feature highlights'],
updateNote: 'Edit this content in src/data/projects.ts under the skywatch project.',
},
},
{
slug: 'spellinghub',
title: 'Spelling Hub',
domain: 'spellinghub.necloud.us',
url: 'https://spellinghub.necloud.us',
readmeUrl: 'https://raw.githubusercontent.com/nmemmert/spellinghub/main/README.md',
category: 'Education',
access: 'Mixed',
ownership: 'built',
status: 'Live',
summary: 'Modern spelling practice application with account-based learning flows.',
details:
'Homepage messaging presents a clean practice platform with login and registration for user progress.',
features: ['Practice workflows', 'User auth', 'Simple home dashboard'],
scanSource: 'scanned',
featured: {
headline: 'Focused spelling practice with lightweight account flow.',
headline: 'Podcast teaching shaped around verse-by-verse discovery.',
problem:
'Many spelling tools are cluttered and do not support structured, repeatable daily practice.',
'Bible study and podcast listening often feel disconnected from each other and from everyday life.',
solution:
'Spelling Hub keeps onboarding simple and centers the product on practical, repeatable learning loops.',
stack: ['React', 'TypeScript', 'Auth-backed workflow'],
highlights: ['Login/register flow', 'Practice-first design', 'Simple navigation'],
nextSteps: ['Add custom word lists', 'Teacher/student modes', 'Progress analytics dashboard'],
updateNote: 'Edit this content in src/data/projects.ts under the spellinghub project.',
},
},
{
slug: 'mealie',
title: 'Mealie',
domain: 'mealie.necloud.us',
url: 'https://mealie.necloud.us',
category: 'Self-hosted Tools',
access: 'Mixed',
ownership: 'hosted',
status: 'Live',
summary: 'Self-hosted recipe manager with categories, tags, and kitchen planning tools.',
details:
'Scanned content confirms a full Mealie interface with home feed, recipe browsing, and account login flow.',
features: ['Recipe library', 'Tags and categories', 'User login'],
scanSource: 'scanned',
featured: {
headline: 'Recipe organization and planning through your self-hosted stack.',
problem:
'Recipe collections get scattered across browser bookmarks and notes without centralized organization.',
solution:
'Your Mealie instance provides structured categories, tags, and searchable recipes for day-to-day meal planning.',
stack: ['Mealie', 'Self-hosted deployment'],
highlights: ['Recipe catalog', 'Category and tag views', 'Account login'],
nextSteps: ['Add meal plan snapshots', 'Import bookmark recipes', 'Shopping list workflows'],
updateNote: 'Edit this content in src/data/projects.ts under the mealie project.',
},
},
{
slug: 'music',
title: 'Swing Music',
domain: 'music.necloud.us',
url: 'https://music.necloud.us',
category: 'Self-hosted Tools',
access: 'Mixed',
ownership: 'hosted',
status: 'Live',
summary: 'Self-hosted music streaming interface with folders, playlists, and favorites.',
details:
'Homepage scan identifies Swing Music with library navigation, playlists, favorites, and guest/standard access options.',
features: ['Library browsing', 'Playlists', 'Guest mode'],
scanSource: 'scanned',
featured: {
headline: 'Swing Music streaming from your own infrastructure.',
problem:
'Centralized music services can limit control over personal libraries and hosting preferences.',
solution:
'Your Swing Music instance provides library browsing, playlists, and favorites with local hosting control.',
stack: ['Swing Music', 'Self-hosted deployment'],
highlights: ['Library navigation', 'Playlist support', 'Favorites', 'Guest mode'],
nextSteps: ['Improve mobile now-playing UI', 'Add listening history', 'Playlist sharing links'],
updateNote: 'Edit this content in src/data/projects.ts under the music project.',
},
},
{
slug: 'seafile',
title: 'Seafile Instance',
domain: 'seafile.necloud.us',
url: 'https://seafile.necloud.us',
category: 'Self-hosted Tools',
access: 'Login required',
iconUrl: 'https://seafile.necloud.us/media/custom/mylogo.png',
ownership: 'hosted',
status: 'Live',
summary: 'Your self-hosted Seafile instance for secure sync, sharing, and account-based access.',
details:
'Scanned landing view exposes the Seafile login portal with account signup and password reset features.',
features: ['File sync platform', 'Account login', 'Password recovery'],
scanSource: 'scanned',
featured: {
headline: 'A private file sync and sharing system you host yourself.',
problem:
'Cloud storage options often reduce control over data location and account governance.',
solution:
'Your Seafile instance gives you direct ownership of file sync, sharing access, and user account management.',
stack: ['Seafile', 'Self-hosted deployment'],
highlights: ['Secure login', 'Account management', 'Password reset flow'],
nextSteps: ['Add team spaces', 'Automated backup checks', 'Storage usage dashboard'],
updateNote: 'Edit this content in src/data/projects.ts under the seafile project.',
'Verse by Verse with Nate brings Scripture study and podcast conversation together in a format that is easy to follow and apply.',
stack: ['Podcast hosting', 'Spotify', 'Verse-by-verse teaching'],
highlights: ['Episode guides', 'Scripture focus', 'Practical application'],
nextSteps: ['Add episode notes', 'Add guest interviews', 'Link transcripts and study resources'],
updateNote: 'Edit this content in src/data/projects.ts under the Verse by Verse podcast project.',
},
},
]
+21 -206
View File
@@ -1,218 +1,33 @@
:root {
--bg: #f6f0e8;
--ink: #1f1d1a;
--ink-muted: #5d584f;
--line: #d8cdbf;
--accent: #b04a1f;
--hero-glow: #f7d8a6;
--bg-radial: #fff5de;
--bg-bottom: #efe4d6;
--surface: #fff;
--surface-soft: #fffcf7;
--chip-bg: #f6f3ef;
--pill-bg: #f1e7da;
--pill-ink: #694627;
--input-bg: #fffdf9;
--display: 'Rockwell', 'Bookman Old Style', 'Georgia', serif;
--body: 'Trebuchet MS', 'Segoe UI', Tahoma, sans-serif;
--radius-card: 18px;
--radius-tile: 14px;
--radius-panel: 24px;
--radius-note: 12px;
--radius-input: 10px;
--radius-chip: 8px;
--shadow: 0 1px 4px rgba(0, 0, 0, 0.06), 0 2px 8px rgba(0, 0, 0, 0.04);
--shadow-elevated: 0 4px 16px rgba(0, 0, 0, 0.10), 0 8px 24px rgba(0, 0, 0, 0.06);
*, *::before, *::after {
box-sizing: border-box;
}
font-family: var(--body);
line-height: 1.45;
color: var(--ink);
:root {
font-family: 'Barlow Condensed', 'Trebuchet MS', sans-serif;
line-height: 1.5;
color: #f0e6d0;
background: #0a0a0a;
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
:root[data-theme='ocean'] {
--bg: #eaf4f5;
--ink: #122227;
--ink-muted: #3d5b64;
--line: #b7d4d9;
--accent: #0f7f8c;
--hero-glow: #8ed6df;
--bg-radial: #d7eef2;
--bg-bottom: #d8e9ec;
--surface: #ffffff;
--surface-soft: #f4fbfc;
--chip-bg: #ecf5f7;
--pill-bg: #dceef1;
--pill-ink: #1f5a63;
--input-bg: #f8fcfd;
}
:root[data-theme='midnight'] {
--bg: #0f1722;
--ink: #ecf0f6;
--ink-muted: #a6b4c6;
--line: #2a3a4d;
--accent: #e06c2f;
--hero-glow: #2f4663;
--bg-radial: #1b2939;
--bg-bottom: #111d2c;
--surface: #172332;
--surface-soft: #1a2737;
--chip-bg: #26384c;
--pill-bg: #31445b;
--pill-ink: #d9e5f3;
--input-bg: #121d2b;
--shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
--shadow-elevated: 0 6px 24px rgba(0, 0, 0, 0.6);
}
:root[data-theme='forest'] {
--bg: #edf4ee;
--ink: #1a2a20;
--ink-muted: #446051;
--line: #bfd6c4;
--accent: #2f7a4e;
--hero-glow: #9ad3ac;
--bg-radial: #dceedd;
--bg-bottom: #d9eadc;
--surface: #ffffff;
--surface-soft: #f6fbf7;
--chip-bg: #edf6ef;
--pill-bg: #dff0e3;
--pill-ink: #24593a;
--input-bg: #f8fcf8;
}
:root[data-theme='sunset'] {
--bg: #fff1e8;
--ink: #3d1f1a;
--ink-muted: #7d4a3d;
--line: #f0c8b5;
--accent: #d85b34;
--hero-glow: #ffc08f;
--bg-radial: #ffe1cc;
--bg-bottom: #ffd8bf;
--surface: #fffaf7;
--surface-soft: #fff5ef;
--chip-bg: #ffece0;
--pill-bg: #ffe2d1;
--pill-ink: #8a3f2a;
--input-bg: #fff9f4;
}
:root[data-theme='rose'] {
--bg: #fcf0f4;
--ink: #2d1825;
--ink-muted: #7d4b63;
--line: #f0c4d8;
--accent: #b8325a;
--hero-glow: #f4aec8;
--bg-radial: #fde3ec;
--bg-bottom: #f8dde8;
--surface: #ffffff;
--surface-soft: #fff7fa;
--chip-bg: #fdeef3;
--pill-bg: #fbd6e5;
--pill-ink: #8a2444;
--input-bg: #fffcfd;
--radius-card: 22px;
--radius-tile: 18px;
--radius-panel: 32px;
--radius-note: 16px;
--radius-input: 12px;
--radius-chip: 10px;
--shadow: 0 2px 10px rgba(184, 50, 90, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
--shadow-elevated: 0 6px 28px rgba(184, 50, 90, 0.14), 0 2px 8px rgba(0, 0, 0, 0.06);
--display: 'Georgia', 'Book Antiqua', 'Palatino', serif;
}
:root[data-theme='slate'] {
--bg: #f0f2f6;
--ink: #181d28;
--ink-muted: #49556e;
--line: #cdd3e0;
--accent: #3455e0;
--hero-glow: #b5c1f5;
--bg-radial: #e2e7f4;
--bg-bottom: #e4e8f0;
--surface: #ffffff;
--surface-soft: #f5f7fb;
--chip-bg: #edf0f8;
--pill-bg: #dce2f8;
--pill-ink: #1e38be;
--input-bg: #f9fafc;
--radius-card: 8px;
--radius-tile: 6px;
--radius-panel: 12px;
--radius-note: 8px;
--radius-input: 6px;
--radius-chip: 4px;
--shadow: 0 1px 6px rgba(0, 0, 0, 0.08), 0 3px 10px rgba(52, 85, 224, 0.06);
--shadow-elevated: 0 4px 20px rgba(0, 0, 0, 0.12), 0 8px 20px rgba(52, 85, 224, 0.08);
--display: 'Trebuchet MS', 'Segoe UI', Tahoma, sans-serif;
}
:root[data-theme='aurora'] {
--bg: #0c1220;
--ink: #e5edf8;
--ink-muted: #8096bb;
--line: #263050;
--accent: #00c9a7;
--hero-glow: #0a4040;
--bg-radial: #121d38;
--bg-bottom: #090f1c;
--surface: #131e34;
--surface-soft: #192438;
--chip-bg: #1e2e50;
--pill-bg: #0e3040;
--pill-ink: #7ef0d8;
--input-bg: #0c1625;
--shadow: 0 2px 12px rgba(0, 0, 0, 0.45), 0 0 20px rgba(0, 201, 167, 0.06);
--shadow-elevated: 0 6px 28px rgba(0, 0, 0, 0.6), 0 0 40px rgba(0, 201, 167, 0.12);
--display: 'Courier New', Courier, monospace;
}
:root[data-theme='amethyst'] {
--bg: #f2eff9;
--ink: #1c1435;
--ink-muted: #5e4e90;
--line: #d4c8f0;
--accent: #7c3aed;
--hero-glow: #c4b0e8;
--bg-radial: #e8e1f8;
--bg-bottom: #e2d9f5;
--surface: #ffffff;
--surface-soft: #f8f6fc;
--chip-bg: #f0ecfa;
--pill-bg: #e6dbf8;
--pill-ink: #5a28b5;
--input-bg: #fbfafe;
--radius-card: 24px;
--radius-tile: 18px;
--radius-panel: 32px;
--radius-note: 18px;
--radius-input: 14px;
--radius-chip: 10px;
--shadow: 0 2px 10px rgba(124, 58, 237, 0.10), 0 1px 4px rgba(0, 0, 0, 0.04);
--shadow-elevated: 0 6px 28px rgba(124, 58, 237, 0.16), 0 2px 8px rgba(0, 0, 0, 0.06);
--display: 'Georgia', 'Book Antiqua', 'Palatino', serif;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
background:
radial-gradient(circle at 20% 0%, var(--bg-radial) 0%, rgba(255, 245, 222, 0) 38%),
linear-gradient(180deg, var(--bg) 0%, var(--bg-bottom) 100%);
min-height: 100vh;
padding: 0;
}
#root {
min-height: 100vh;
img {
display: block;
max-width: 100%;
}
a {
color: inherit;
}
p, h1, h2, h3, h4, h5, h6 {
margin: 0;
padding: 0;
}