*{-webkit-tap-highlight-color:rgba(0,0,0,0);box-sizing:border-box}body{font-family:var(--sans-serif);margin:0;background-color:var(--base);color:var(--base-text);overflow-x:hidden}h1,h2,h3{text-align:center}#hand-wave{display:inline-block;animation:wave 1s infinite ease-in-out}@media (prefers-reduced-motion){#hand-wave{animation:none}}@keyframes wave{0%{transform:rotate(-14deg)}50%{transform:rotate(14deg)}to{transform:rotate(-14deg)}}#header-card{animation:fade-in .3s 0s ease backwards paused}.loaded #header-card{animation-play-state:running}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion){#header-card{animation:none!important}}theme-switcher{position:fixed;top:0;right:0;z-index:999;-webkit-user-select:none;user-select:none}svg.smol-svg{height:1.5ch;width:1.5ch}.portfolio-card button{background:transparent;border:none;cursor:pointer;outline:none;padding:0}.portfolio-card button svg{height:3rem;width:3rem;margin:.75rem}.portfolio-card .content{opacity:0;transform:translate(-1rem);transition:opacity .2s ease-in-out,transform .2s ease-in-out}@media (prefers-reduced-motion){.portfolio-card .content{transform:translate(0)}}.portfolio-card .content{pointer-events:none}.portfolio-card .content.active{opacity:1;transform:translate(0);transition-delay:.2s;pointer-events:all}a.button{display:inline-block;padding:.5em 1em;border-radius:.25em;background-color:var(--base);color:var(--base-text);text-decoration:none;font-weight:700;text-align:center;transition:background-color .2s ease-in-out;width:fit-content}.top-div{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:all}.expanding{pointer-events:all}.expanding p,.expanding img{opacity:0;transition:opacity .4s ease-in-out}#arrow-down{animation:arrow 1s infinite ease-in-out}#arrow-down:before{content:"";position:absolute;top:-6rem;right:-2.5rem;bottom:-6rem;left:-2.5rem;transform:translate(.4rem,.4rem) rotate(45deg)}.separator{min-width:4px;min-height:4px}@media (prefers-reduced-motion){#arrow-down{animation:none}}@keyframes arrow{0%{translate:0 0}50%{translate:0 .5rem}to{translate:0 0}}.tooltip{opacity:0;transition:opacity .2s ease-in-out;pointer-events:none;position:absolute;top:-1rem;left:50%;transform:translate(-50%);z-index:1}button{position:relative;color:inherit}button:hover .tooltip{opacity:1}@media (prefers-reduced-motion){.hover\:scale-105:hover{--un-scale-x: 1 !important;--un-scale-y: 1 !important}}.light{--sans-serif: "Roboto", sans-serif;--serif: "Roboto Slab", serif;--base: #ffffff;--base-light: #ffffff;--base-dark: #dddddd;--base-text: #242424;--base-text-light: #242424;--base-text-dark: #242424;--base-000: black;--base-010: rgb(2.55, 2.55, 2.55);--base-020: rgb(5.1, 5.1, 5.1);--base-030: rgb(7.65, 7.65, 7.65);--base-040: rgb(10.2, 10.2, 10.2);--base-050: rgb(12.75, 12.75, 12.75);--base-060: rgb(15.3, 15.3, 15.3);--base-070: rgb(17.85, 17.85, 17.85);--base-080: rgb(20.4, 20.4, 20.4);--base-090: rgb(22.95, 22.95, 22.95);--base-100: rgb(25.5, 25.5, 25.5);--base-110: rgb(28.05, 28.05, 28.05);--base-120: rgb(30.6, 30.6, 30.6);--base-130: rgb(33.15, 33.15, 33.15);--base-140: rgb(35.7, 35.7, 35.7);--base-150: rgb(38.25, 38.25, 38.25);--base-160: rgb(40.8, 40.8, 40.8);--base-170: rgb(43.35, 43.35, 43.35);--base-180: rgb(45.9, 45.9, 45.9);--base-190: rgb(48.45, 48.45, 48.45);--base-200: #333333;--base-210: rgb(53.55, 53.55, 53.55);--base-220: rgb(56.1, 56.1, 56.1);--base-230: rgb(58.65, 58.65, 58.65);--base-240: rgb(61.2, 61.2, 61.2);--base-250: rgb(63.75, 63.75, 63.75);--base-260: rgb(66.3, 66.3, 66.3);--base-270: rgb(68.85, 68.85, 68.85);--base-280: rgb(71.4, 71.4, 71.4);--base-290: rgb(73.95, 73.95, 73.95);--base-300: rgb(76.5, 76.5, 76.5);--base-310: rgb(79.05, 79.05, 79.05);--base-320: rgb(81.6, 81.6, 81.6);--base-330: rgb(84.15, 84.15, 84.15);--base-340: rgb(86.7, 86.7, 86.7);--base-350: rgb(89.25, 89.25, 89.25);--base-360: rgb(91.8, 91.8, 91.8);--base-370: rgb(94.35, 94.35, 94.35);--base-380: rgb(96.9, 96.9, 96.9);--base-390: rgb(99.45, 99.45, 99.45);--base-400: #666666;--base-410: rgb(104.55, 104.55, 104.55);--base-420: rgb(107.1, 107.1, 107.1);--base-430: rgb(109.65, 109.65, 109.65);--base-440: rgb(112.2, 112.2, 112.2);--base-450: rgb(114.75, 114.75, 114.75);--base-460: rgb(117.3, 117.3, 117.3);--base-470: rgb(119.85, 119.85, 119.85);--base-480: rgb(122.4, 122.4, 122.4);--base-490: rgb(124.95, 124.95, 124.95);--base-500: rgb(127.5, 127.5, 127.5);--base-510: rgb(130.05, 130.05, 130.05);--base-520: rgb(132.6, 132.6, 132.6);--base-530: rgb(135.15, 135.15, 135.15);--base-540: rgb(137.7, 137.7, 137.7);--base-550: rgb(140.25, 140.25, 140.25);--base-560: rgb(142.8, 142.8, 142.8);--base-570: rgb(145.35, 145.35, 145.35);--base-580: rgb(147.9, 147.9, 147.9);--base-590: rgb(150.45, 150.45, 150.45);--base-600: #999999;--base-610: rgb(155.55, 155.55, 155.55);--base-620: rgb(158.1, 158.1, 158.1);--base-630: rgb(160.65, 160.65, 160.65);--base-640: rgb(163.2, 163.2, 163.2);--base-650: rgb(165.75, 165.75, 165.75);--base-660: rgb(168.3, 168.3, 168.3);--base-670: rgb(170.85, 170.85, 170.85);--base-680: rgb(173.4, 173.4, 173.4);--base-690: rgb(175.95, 175.95, 175.95);--base-700: rgb(178.5, 178.5, 178.5);--base-710: rgb(181.05, 181.05, 181.05);--base-720: rgb(183.6, 183.6, 183.6);--base-730: rgb(186.15, 186.15, 186.15);--base-740: rgb(188.7, 188.7, 188.7);--base-750: rgb(191.25, 191.25, 191.25);--base-760: rgb(193.8, 193.8, 193.8);--base-770: rgb(196.35, 196.35, 196.35);--base-780: rgb(198.9, 198.9, 198.9);--base-790: rgb(201.45, 201.45, 201.45);--base-800: #cccccc;--base-810: rgb(206.55, 206.55, 206.55);--base-820: rgb(209.1, 209.1, 209.1);--base-830: rgb(211.65, 211.65, 211.65);--base-840: rgb(214.2, 214.2, 214.2);--base-850: rgb(216.75, 216.75, 216.75);--base-860: rgb(219.3, 219.3, 219.3);--base-870: rgb(221.85, 221.85, 221.85);--base-880: rgb(224.4, 224.4, 224.4);--base-890: rgb(226.95, 226.95, 226.95);--base-900: rgb(229.5, 229.5, 229.5);--base-910: rgb(232.05, 232.05, 232.05);--base-920: rgb(234.6, 234.6, 234.6);--base-930: rgb(237.15, 237.15, 237.15);--base-940: rgb(239.7, 239.7, 239.7);--base-950: rgb(242.25, 242.25, 242.25);--base-960: rgb(244.8, 244.8, 244.8);--base-970: rgb(247.35, 247.35, 247.35);--base-980: rgb(249.9, 249.9, 249.9);--base-990: rgb(252.45, 252.45, 252.45);--base-click-ripple-opacity: .5;--base-hover-ripple-opacity: .25;--primary: #525aff;--primary-light: #888ef6;--primary-dark: #293bff;--primary-text: #efefef;--primary-text-light: #ffffff;--primary-text-dark: #dddddd;--primary-000: #a0a5f8;--primary-010: rgb(158.48, 163.64, 248.07);--primary-020: rgb(156.96, 162.28, 248.14);--primary-030: rgb(155.44, 160.92, 248.21);--primary-040: rgb(153.92, 159.56, 248.28);--primary-050: rgb(152.4, 158.2, 248.35);--primary-060: rgb(150.88, 156.84, 248.42);--primary-070: rgb(149.36, 155.48, 248.49);--primary-080: rgb(147.84, 154.12, 248.56);--primary-090: rgb(146.32, 152.76, 248.63);--primary-100: rgb(144.8, 151.4, 248.7);--primary-110: rgb(143.28, 150.04, 248.77);--primary-120: rgb(141.76, 148.68, 248.84);--primary-130: rgb(140.24, 147.32, 248.91);--primary-140: rgb(138.72, 145.96, 248.98);--primary-150: rgb(137.2, 144.6, 249.05);--primary-160: rgb(135.68, 143.24, 249.12);--primary-170: rgb(134.16, 141.88, 249.19);--primary-180: rgb(132.64, 140.52, 249.26);--primary-190: rgb(131.12, 139.16, 249.33);--primary-200: rgb(129.6, 137.8, 249.4);--primary-210: rgb(128.08, 136.44, 249.47);--primary-220: rgb(126.56, 135.08, 249.54);--primary-230: rgb(125.04, 133.72, 249.61);--primary-240: rgb(123.52, 132.36, 249.68);--primary-250: rgb(122, 131, 249.75);--primary-260: rgb(120.48, 129.64, 249.82);--primary-270: rgb(118.96, 128.28, 249.89);--primary-280: rgb(117.44, 126.92, 249.96);--primary-290: rgb(115.92, 125.56, 250.03);--primary-300: rgb(114.4, 124.2, 250.1);--primary-310: rgb(112.88, 122.84, 250.17);--primary-320: rgb(111.36, 121.48, 250.24);--primary-330: rgb(109.84, 120.12, 250.31);--primary-340: rgb(108.32, 118.76, 250.38);--primary-350: rgb(106.8, 117.4, 250.45);--primary-360: rgb(105.28, 116.04, 250.52);--primary-370: rgb(103.76, 114.68, 250.59);--primary-380: rgb(102.24, 113.32, 250.66);--primary-390: rgb(100.72, 111.96, 250.73);--primary-400: rgb(99.2, 110.6, 250.8);--primary-410: rgb(97.68, 109.24, 250.87);--primary-420: rgb(96.16, 107.88, 250.94);--primary-430: rgb(94.64, 106.52, 251.01);--primary-440: rgb(93.12, 105.16, 251.08);--primary-450: rgb(91.6, 103.8, 251.15);--primary-460: rgb(90.08, 102.44, 251.22);--primary-470: rgb(88.56, 101.08, 251.29);--primary-480: rgb(87.04, 99.72, 251.36);--primary-490: rgb(85.52, 98.36, 251.43);--primary-500: rgb(84, 97, 251.5);--primary-510: rgb(82.48, 95.64, 251.57);--primary-520: rgb(80.96, 94.28, 251.64);--primary-530: rgb(79.44, 92.92, 251.71);--primary-540: rgb(77.92, 91.56, 251.78);--primary-550: rgb(76.4, 90.2, 251.85);--primary-560: rgb(74.88, 88.84, 251.92);--primary-570: rgb(73.36, 87.48, 251.99);--primary-580: rgb(71.84, 86.12, 252.06);--primary-590: rgb(70.32, 84.76, 252.13);--primary-600: rgb(68.8, 83.4, 252.2);--primary-610: rgb(67.28, 82.04, 252.27);--primary-620: rgb(65.76, 80.68, 252.34);--primary-630: rgb(64.24, 79.32, 252.41);--primary-640: rgb(62.72, 77.96, 252.48);--primary-650: rgb(61.2, 76.6, 252.55);--primary-660: rgb(59.68, 75.24, 252.62);--primary-670: rgb(58.16, 73.88, 252.69);--primary-680: rgb(56.64, 72.52, 252.76);--primary-690: rgb(55.12, 71.16, 252.83);--primary-700: rgb(53.6, 69.8, 252.9);--primary-710: rgb(52.08, 68.44, 252.97);--primary-720: rgb(50.56, 67.08, 253.04);--primary-730: rgb(49.04, 65.72, 253.11);--primary-740: rgb(47.52, 64.36, 253.18);--primary-750: rgb(46, 63, 253.25);--primary-760: rgb(44.48, 61.64, 253.32);--primary-770: rgb(42.96, 60.28, 253.39);--primary-780: rgb(41.44, 58.92, 253.46);--primary-790: rgb(39.92, 57.56, 253.53);--primary-800: rgb(38.4, 56.2, 253.6);--primary-810: rgb(36.88, 54.84, 253.67);--primary-820: rgb(35.36, 53.48, 253.74);--primary-830: rgb(33.84, 52.12, 253.81);--primary-840: rgb(32.32, 50.76, 253.88);--primary-850: rgb(30.8, 49.4, 253.95);--primary-860: rgb(29.28, 48.04, 254.02);--primary-870: rgb(27.76, 46.68, 254.09);--primary-880: rgb(26.24, 45.32, 254.16);--primary-890: rgb(24.72, 43.96, 254.23);--primary-900: rgb(23.2, 42.6, 254.3);--primary-910: rgb(21.68, 41.24, 254.37);--primary-920: rgb(20.16, 39.88, 254.44);--primary-930: rgb(18.64, 38.52, 254.51);--primary-940: rgb(17.12, 37.16, 254.58);--primary-950: rgb(15.6, 35.8, 254.65);--primary-960: rgb(14.08, 34.44, 254.72);--primary-970: rgb(12.56, 33.08, 254.79);--primary-980: rgb(11.04, 31.72, 254.86);--primary-990: rgb(9.52, 30.36, 254.93);--secondary: #ff6161;--secondary-light: #ff7070;--secondary-dark: #ff5252;--secondary-text: #efefef;--secondary-text-light: #ffffff;--secondary-text-dark: #dddddd;--secondary-000: #ff8f8f;--secondary-010: rgb(255, 141.57, 141.57);--secondary-020: rgb(255, 140.14, 140.14);--secondary-030: rgb(255, 138.71, 138.71);--secondary-040: rgb(255, 137.28, 137.28);--secondary-050: rgb(255, 135.85, 135.85);--secondary-060: rgb(255, 134.42, 134.42);--secondary-070: rgb(255, 132.99, 132.99);--secondary-080: rgb(255, 131.56, 131.56);--secondary-090: rgb(255, 130.13, 130.13);--secondary-100: rgb(255, 128.7, 128.7);--secondary-110: rgb(255, 127.27, 127.27);--secondary-120: rgb(255, 125.84, 125.84);--secondary-130: rgb(255, 124.41, 124.41);--secondary-140: rgb(255, 122.98, 122.98);--secondary-150: rgb(255, 121.55, 121.55);--secondary-160: rgb(255, 120.12, 120.12);--secondary-170: rgb(255, 118.69, 118.69);--secondary-180: rgb(255, 117.26, 117.26);--secondary-190: rgb(255, 115.83, 115.83);--secondary-200: rgb(255, 114.4, 114.4);--secondary-210: rgb(255, 112.97, 112.97);--secondary-220: rgb(255, 111.54, 111.54);--secondary-230: rgb(255, 110.11, 110.11);--secondary-240: rgb(255, 108.68, 108.68);--secondary-250: rgb(255, 107.25, 107.25);--secondary-260: rgb(255, 105.82, 105.82);--secondary-270: rgb(255, 104.39, 104.39);--secondary-280: rgb(255, 102.96, 102.96);--secondary-290: rgb(255, 101.53, 101.53);--secondary-300: rgb(255, 100.1, 100.1);--secondary-310: rgb(255, 98.67, 98.67);--secondary-320: rgb(255, 97.24, 97.24);--secondary-330: rgb(255, 95.81, 95.81);--secondary-340: rgb(255, 94.38, 94.38);--secondary-350: rgb(255, 92.95, 92.95);--secondary-360: rgb(255, 91.52, 91.52);--secondary-370: rgb(255, 90.09, 90.09);--secondary-380: rgb(255, 88.66, 88.66);--secondary-390: rgb(255, 87.23, 87.23);--secondary-400: rgb(255, 85.8, 85.8);--secondary-410: rgb(255, 84.37, 84.37);--secondary-420: rgb(255, 82.94, 82.94);--secondary-430: rgb(255, 81.51, 81.51);--secondary-440: rgb(255, 80.08, 80.08);--secondary-450: rgb(255, 78.65, 78.65);--secondary-460: rgb(255, 77.22, 77.22);--secondary-470: rgb(255, 75.79, 75.79);--secondary-480: rgb(255, 74.36, 74.36);--secondary-490: rgb(255, 72.93, 72.93);--secondary-500: rgb(255, 71.5, 71.5);--secondary-510: rgb(255, 70.07, 70.07);--secondary-520: rgb(255, 68.64, 68.64);--secondary-530: rgb(255, 67.21, 67.21);--secondary-540: rgb(255, 65.78, 65.78);--secondary-550: rgb(255, 64.35, 64.35);--secondary-560: rgb(255, 62.92, 62.92);--secondary-570: rgb(255, 61.49, 61.49);--secondary-580: rgb(255, 60.06, 60.06);--secondary-590: rgb(255, 58.63, 58.63);--secondary-600: rgb(255, 57.2, 57.2);--secondary-610: rgb(255, 55.77, 55.77);--secondary-620: rgb(255, 54.34, 54.34);--secondary-630: rgb(255, 52.91, 52.91);--secondary-640: rgb(255, 51.48, 51.48);--secondary-650: rgb(255, 50.05, 50.05);--secondary-660: rgb(255, 48.62, 48.62);--secondary-670: rgb(255, 47.19, 47.19);--secondary-680: rgb(255, 45.76, 45.76);--secondary-690: rgb(255, 44.33, 44.33);--secondary-700: rgb(255, 42.9, 42.9);--secondary-710: rgb(255, 41.47, 41.47);--secondary-720: rgb(255, 40.04, 40.04);--secondary-730: rgb(255, 38.61, 38.61);--secondary-740: rgb(255, 37.18, 37.18);--secondary-750: rgb(255, 35.75, 35.75);--secondary-760: rgb(255, 34.32, 34.32);--secondary-770: rgb(255, 32.89, 32.89);--secondary-780: rgb(255, 31.46, 31.46);--secondary-790: rgb(255, 30.03, 30.03);--secondary-800: rgb(255, 28.6, 28.6);--secondary-810: rgb(255, 27.17, 27.17);--secondary-820: rgb(255, 25.74, 25.74);--secondary-830: rgb(255, 24.31, 24.31);--secondary-840: rgb(255, 22.88, 22.88);--secondary-850: rgb(255, 21.45, 21.45);--secondary-860: rgb(255, 20.02, 20.02);--secondary-870: rgb(255, 18.59, 18.59);--secondary-880: rgb(255, 17.16, 17.16);--secondary-890: rgb(255, 15.73, 15.73);--secondary-900: rgb(255, 14.3, 14.3);--secondary-910: rgb(255, 12.87, 12.87);--secondary-920: rgb(255, 11.44, 11.44);--secondary-930: rgb(255, 10.01, 10.01);--secondary-940: rgb(255, 8.58, 8.58);--secondary-950: rgb(255, 7.15, 7.15);--secondary-960: rgb(255, 5.72, 5.72);--secondary-970: rgb(255, 4.29, 4.29);--secondary-980: rgb(255, 2.86, 2.86);--secondary-990: rgb(255, 1.43, 1.43);--dark: #181818;--dark-light: #181818;--dark-dark: #181818;--dark-text: #efefef;--dark-text-light: #ffffff;--dark-text-dark: #dddddd;--dark-000: black;--dark-010: rgb(.4, .4, .4);--dark-020: rgb(.8, .8, .8);--dark-030: rgb(1.2, 1.2, 1.2);--dark-040: rgb(1.6, 1.6, 1.6);--dark-050: #020202;--dark-060: rgb(2.4, 2.4, 2.4);--dark-070: rgb(2.8, 2.8, 2.8);--dark-080: rgb(3.2, 3.2, 3.2);--dark-090: rgb(3.6, 3.6, 3.6);--dark-100: #040404;--dark-110: rgb(4.4, 4.4, 4.4);--dark-120: rgb(4.8, 4.8, 4.8);--dark-130: rgb(5.2, 5.2, 5.2);--dark-140: rgb(5.6, 5.6, 5.6);--dark-150: #060606;--dark-160: rgb(6.4, 6.4, 6.4);--dark-170: rgb(6.8, 6.8, 6.8);--dark-180: rgb(7.2, 7.2, 7.2);--dark-190: rgb(7.6, 7.6, 7.6);--dark-200: #080808;--dark-210: rgb(8.4, 8.4, 8.4);--dark-220: rgb(8.8, 8.8, 8.8);--dark-230: rgb(9.2, 9.2, 9.2);--dark-240: rgb(9.6, 9.6, 9.6);--dark-250: #0a0a0a;--dark-260: rgb(10.4, 10.4, 10.4);--dark-270: rgb(10.8, 10.8, 10.8);--dark-280: rgb(11.2, 11.2, 11.2);--dark-290: rgb(11.6, 11.6, 11.6);--dark-300: #0c0c0c;--dark-310: rgb(12.4, 12.4, 12.4);--dark-320: rgb(12.8, 12.8, 12.8);--dark-330: rgb(13.2, 13.2, 13.2);--dark-340: rgb(13.6, 13.6, 13.6);--dark-350: #0e0e0e;--dark-360: rgb(14.4, 14.4, 14.4);--dark-370: rgb(14.8, 14.8, 14.8);--dark-380: rgb(15.2, 15.2, 15.2);--dark-390: rgb(15.6, 15.6, 15.6);--dark-400: #101010;--dark-410: rgb(16.4, 16.4, 16.4);--dark-420: rgb(16.8, 16.8, 16.8);--dark-430: rgb(17.2, 17.2, 17.2);--dark-440: rgb(17.6, 17.6, 17.6);--dark-450: #121212;--dark-460: rgb(18.4, 18.4, 18.4);--dark-470: rgb(18.8, 18.8, 18.8);--dark-480: rgb(19.2, 19.2, 19.2);--dark-490: rgb(19.6, 19.6, 19.6);--dark-500: #141414;--dark-510: rgb(20.4, 20.4, 20.4);--dark-520: rgb(20.8, 20.8, 20.8);--dark-530: rgb(21.2, 21.2, 21.2);--dark-540: rgb(21.6, 21.6, 21.6);--dark-550: #161616;--dark-560: rgb(22.4, 22.4, 22.4);--dark-570: rgb(22.8, 22.8, 22.8);--dark-580: rgb(23.2, 23.2, 23.2);--dark-590: rgb(23.6, 23.6, 23.6);--dark-600: #181818;--dark-610: rgb(24.4, 24.4, 24.4);--dark-620: rgb(24.8, 24.8, 24.8);--dark-630: rgb(25.2, 25.2, 25.2);--dark-640: rgb(25.6, 25.6, 25.6);--dark-650: #1a1a1a;--dark-660: rgb(26.4, 26.4, 26.4);--dark-670: rgb(26.8, 26.8, 26.8);--dark-680: rgb(27.2, 27.2, 27.2);--dark-690: rgb(27.6, 27.6, 27.6);--dark-700: #1c1c1c;--dark-710: rgb(28.4, 28.4, 28.4);--dark-720: rgb(28.8, 28.8, 28.8);--dark-730: rgb(29.2, 29.2, 29.2);--dark-740: rgb(29.6, 29.6, 29.6);--dark-750: #1e1e1e;--dark-760: rgb(30.4, 30.4, 30.4);--dark-770: rgb(30.8, 30.8, 30.8);--dark-780: rgb(31.2, 31.2, 31.2);--dark-790: rgb(31.6, 31.6, 31.6);--dark-800: #202020;--dark-810: rgb(32.4, 32.4, 32.4);--dark-820: rgb(32.8, 32.8, 32.8);--dark-830: rgb(33.2, 33.2, 33.2);--dark-840: rgb(33.6, 33.6, 33.6);--dark-850: #222222;--dark-860: rgb(34.4, 34.4, 34.4);--dark-870: rgb(34.8, 34.8, 34.8);--dark-880: rgb(35.2, 35.2, 35.2);--dark-890: rgb(35.6, 35.6, 35.6);--dark-900: #242424;--dark-910: rgb(36.4, 36.4, 36.4);--dark-920: rgb(36.8, 36.8, 36.8);--dark-930: rgb(37.2, 37.2, 37.2);--dark-940: rgb(37.6, 37.6, 37.6);--dark-950: #262626;--dark-960: rgb(38.4, 38.4, 38.4);--dark-970: rgb(38.8, 38.8, 38.8);--dark-980: rgb(39.2, 39.2, 39.2);--dark-990: rgb(39.6, 39.6, 39.6);--base-wave: var(--base);--primary-wave: var(--primary);--secondary-wave: var(--secondary);--dark-wave: var(--dark)}.light a:not(.button){color:var(--primary);text-decoration:underline}.light a:hover{color:var(--primary-light)}.light a:active{color:var(--primary-dark)}.light #footer{padding:3em 0;background-color:var(--dark);color:var(--dark-text)}.light #footer a{color:#a0a5f8}.light a.button{background-color:var(--base);color:var(--base-text)}.light a.button:hover{background-color:var(--base-light)}.light a.button:active{background-color:var(--base-dark)}.light .primary a.button,.light a.button.primary{background-color:var(--primary);color:var(--primary-text)}.light .primary a.button:hover,.light a.button.primary:hover{background-color:var(--primary-light)}.light .primary a.button:active,.light a.button.primary:active{background-color:var(--primary-dark)}.light .secondary a.button,.light a.button.secondary{background-color:var(--secondary);color:var(--secondary-text)}.light .secondary a.button:hover,.light a.button.secondary:hover{background-color:var(--secondary-light)}.light .secondary a.button:active,.light a.button.secondary:active{background-color:var(--secondary-dark)}.light .pointer-ripple{-webkit-backdrop-filter:invert(1);backdrop-filter:invert(1);position:absolute;pointer-events:none;z-index:999999;width:0px;height:0px;transform:translate(-50%,-50%);transition:all ease 1s;opacity:1;border-radius:50%}.light .pointer-ripple-in{width:300px;height:300px}.light #start{background:var(--primary)}.light #header-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--base);opacity:.3}.light #arrow-down{border:.25rem solid var(--base);border-left:0 solid transparent;border-top:0 solid transparent}.light #footer p{margin:.5em}.light .primary{background-color:var(--primary);color:var(--primary-text)}.light .primary a{color:var(--primary-text)}.light .secondary{background-color:var(--secondary);color:var(--secondary-text)}.light .primary-light{background-color:var(--primary-light);color:var(--primary-text)}.light .secondary-light{background-color:var(--secondary-light);color:var(--secondary-text)}.light .portfolio-card button svg{fill:var(--base-text);transition:opacity .2s ease-in-out;opacity:.5}.light .portfolio-card button.active svg{opacity:1}.light .base-card{position:relative;isolation:isolate;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.light .base-card:before{content:"";z-index:-1;position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--base-780);opacity:.5}.light .base-card .portfolio-card button svg,.light .base-card svg.smol-svg{fill:var(--base-text)}.light .primary-card{position:relative;isolation:isolate;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.light .primary-card:before{content:"";z-index:-1;position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--primary-100);opacity:.5}.light .primary-card .portfolio-card button svg,.light .primary-card svg.smol-svg{fill:var(--primary-text)}.light .secondary-card{background-color:var(--secondary-dark)}.light .secondary-card.title{border-bottom-left-radius:10rem;border-bottom-right-radius:10rem}.light .secondary-card .portfolio-card button svg,.light .secondary-card svg.smol-svg{fill:var(--secondary-text)}.light .expanding{transition:backdrop-filter 0s ease-in-out .5s,color .4s ease-in-out;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}.light .expanding:before{transition:opacity .4s ease-in-out,background-color .7s linear;opacity:1}.light .expanding.to-primary:before{background-color:var(--primary)}.light .expanding.to-secondary:before{background-color:var(--secondary)}.light .expanding.to-base{color:var(--base-text)}.light .expanding.to-base:before{background-color:var(--base)}.light .theme-switcher{padding:.5em;border-bottom-left-radius:.25em;border:0;background-color:var(--base);color:var(--base-text);font-size:large;cursor:pointer}.light .theme-switcher svg{float:left;width:1em;height:1em;margin-right:.5em;fill:var(--base-text)}.light .theme-switcher__menu{display:flex;flex-direction:column}.light .theme-switcher__menu-item,.light.theme-switcher__menu-item{display:block;padding:.5em;border-radius:.25em;border:0;background-color:var(--base);color:var(--base-text);cursor:pointer}.dark{--sans-serif: "Roboto", sans-serif;--serif: "Roboto Slab", serif;--base: #242424;--base-contrast: #ffffff;--base-text: #ffffff;--base-click-ripple-opacity: .5;--base-hover-ripple-opacity: .25;--primary: #242424;--primary-contrast: #525aff;--primary-text: #ffffff;--secondary: #242424;--secondary-contrast: #ff6161;--secondary-text: #ffffff;--dark: #242424;--dark-contrast: #ffffff;--dark-text: #ffffff;--base-wave: var(--base-contrast);--primary-wave: var(--primary-contrast);--secondary-wave: var(--secondary-contrast);--dark-wave: var(--dark-contrast)}.dark a{color:var(--primary-contrast);text-decoration:underline}.dark #footer{padding:3em 0;background-color:var(--dark);color:var(--dark-text)}.dark #footer a{color:#888ef6}.dark a.button{box-shadow:0 0 0 4px var(--base-contrast);color:var(--base-text)}.dark .secondary a.button,.dark a.button.secondary{box-shadow:0 0 0 4px var(--secondary-contrast);color:var(--secondary-text)}.dark .primary a.button,.dark a.button.primary{box-shadow:0 0 0 4px var(--primary-contrast);color:var(--primary-text)}.dark .pointer-ripple{border:16px solid var(--base-contrast);position:absolute;pointer-events:none;z-index:999999;width:0px;height:0px;transform:translate(-50%,-50%);transition:all ease 1s,opacity ease .3s .7s;opacity:1;border-radius:50%}.dark .pointer-ripple-in{width:300px;height:300px;border-width:0;opacity:0}.dark #header-card{position:relative;isolation:isolate;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 0 0 4px var(--base-contrast)}.dark #header-card:before{content:"";z-index:-1;position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--base);opacity:.2}.dark #arrow-down{border:.25rem solid var(--base-contrast);border-left:0 solid transparent;border-top:0 solid transparent}.dark #footer p{margin:.5em}.dark .primary{background-color:var(--primary);color:var(--primary-text)}.dark .primary a{color:var(--primary-text)}.dark .secondary{background-color:var(--secondary);color:var(--secondary-text)}.dark .primary-light{background-color:var(--primary-light);color:var(--primary-text)}.dark .secondary-light{background-color:var(--secondary-light);color:var(--secondary-text)}.dark .portfolio-card button svg{transition:opacity .2s ease-in-out;opacity:.25}.dark .portfolio-card button.active svg{opacity:1}.dark .base-card{position:relative;isolation:isolate;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 0 0 4px var(--base-contrast)}.dark .base-card.top-card{box-shadow:0 0 0 0 var(--base-contrast);border:4px solid var(--base-contrast);border-top:0;box-sizing:border-box}.dark .base-card.left{border-left:0}.dark .base-card.right{border-right:0}.dark .base-card:before{content:"";z-index:-1;position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--base);opacity:.2}.dark .base-card .separator{background:var(--base-contrast)}.dark .base-card svg{fill:var(--base-contrast)}.dark .primary-card{position:relative;isolation:isolate;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 0 0 4px var(--primary-contrast)}.dark .primary-card.left{border-left:0}.dark .primary-card.right{border-right:0}.dark .primary-card:before{content:"";z-index:-1;position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--primary);opacity:.2;transition:opacity .4s ease-in-out}.dark .primary-card .separator{background:var(--primary-contrast)}.dark .primary-card svg{fill:var(--primary-contrast)}.dark .secondary-card{background-color:var(--secondary);box-shadow:0 0 0 4px var(--secondary-contrast)}.dark .secondary-card.top-card{box-shadow:0 0 0 0 var(--secondary-contrast);border-left:4px solid var(--secondary-contrast);border-right:4px solid var(--secondary-contrast)}.dark .secondary-card.left{border-left:0}.dark .secondary-card.right{border-right:0}.dark .secondary-card.title{border-bottom:0;border-top:0}.dark .secondary-card.title my-wave{position:relative;left:0;width:calc(100% + 8px)}.dark .secondary-card .separator{background:var(--secondary-contrast)}.dark .secondary-card svg{fill:var(--secondary-contrast)}.dark .expanding{transition:backdrop-filter 0s ease-in-out .5s;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}.dark .expanding:before{transition:opacity .4s ease-in-out;opacity:1}.dark theme-switcher{border-left:4px solid var(--base-contrast);border-bottom:4px solid var(--base-contrast);border-bottom-left-radius:.5em}.dark .theme-switcher{padding:.5em;border-bottom-left-radius:.25em;border:0;background-color:var(--base);color:var(--base-text);font-size:large;cursor:pointer}.dark .theme-switcher svg{float:left;width:1em;height:1em;margin-right:.5em;fill:var(--base-text)}.dark .theme-switcher__menu{display:flex;flex-direction:column}.dark .theme-switcher__menu-item,.dark.theme-switcher__menu-item{padding:.5em;border-radius:.25em;border:0;background-color:var(--base);color:var(--base-text);cursor:pointer}*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{top:0;right:0;bottom:0;left:0}.-top-\[100vh\]{top:-100vh}.-top-40{top:-10rem}.bottom-0{bottom:0}.bottom-16{bottom:4rem}.left-0{left:0}.left-1\/2{left:50%}.top-0{top:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}.z-4{z-index:4}.z-5{z-index:5}.z-6{z-index:6}.z-8{z-index:8}.m-0{margin:0}.m-8{margin:2rem}.m-auto{margin:auto}.mx-8{margin-left:2rem;margin-right:2rem}.mx-auto{margin-left:auto;margin-right:auto}.my{margin-top:1rem;margin-bottom:1rem}.my-0{margin-top:0;margin-bottom:0}.my-24{margin-top:6rem;margin-bottom:6rem}.-mb-24{margin-bottom:-6rem}.mb-16{margin-bottom:4rem}.mb-24{margin-bottom:6rem}.mb-8{margin-bottom:2rem}.me{margin-inline-end:1rem}.mt-16{margin-top:4rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.block{display:block}.hidden{display:none}.h-\[calc\(100\%\+100vh\+10rem\)\]{height:calc(100% + 100vh + 10rem)}.h-\[calc\(100\%\+20rem\)\]{height:calc(100% + 20rem)}.h-40{height:10rem}.h-8{height:2rem}.h-screen{height:100vh}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-lg{max-width:32rem}.min-h-75vh{min-height:75vh}.w-8{width:2rem}.w-full{width:100%}.w-max{width:max-content}.w-xs{width:20rem}.flex{display:flex}.flex-1{flex:1 1 0%}.grow-1{flex-grow:1}.grow-2{flex-grow:2}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.-translate-x-1\/2{--un-translate-x:-50%;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.rotate-45{--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-rotate:45deg;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.hover\:scale-105:hover{--un-scale-x:1.05;--un-scale-y:1.05;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.-scale-y-\[1\]{--un-scale-y:-1;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-evenly{justify-content:space-evenly}.gap-16{gap:4rem}.gap-4{gap:1rem}.gap-xl{gap:1.25rem}.gap-x-48{column-gap:12rem}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rd-2xl{border-radius:1rem}.rounded-8{border-radius:2rem}.rounded-lg{border-radius:.5rem}.rounded-b-8{border-bottom-left-radius:2rem;border-bottom-right-radius:2rem}.border-none{border-style:none}.p-4{padding:1rem}.p-8{padding:2rem}.px{padding-left:1rem;padding-right:1rem}.px-12{padding-left:3rem;padding-right:3rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-16{padding-bottom:4rem}.pb-4{padding-bottom:1rem}.pt-32{padding-top:8rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-6xl{font-size:3.75rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.underline{text-decoration-line:underline}.opacity-80{opacity:.8}.backdrop-blur-8{--un-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.backdrop-blur-md{--un-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (max-width: 1023.9px){.lt-lg\:b-l-none\!{border-left-style:none!important}.lt-lg\:b-r-none\!{border-right-style:none!important}}@media (max-width: 767.9px){.lt-md\:b-l-none\!{border-left-style:none!important}.lt-md\:b-r-none\!{border-right-style:none!important}}@media (min-width: 640px){.sm\:min-w-md{min-width:28rem}.sm\:gap-x-16{column-gap:4rem}}@media (min-width: 768px){.md\:flex-row{flex-direction:row}.md\:rounded-l-8{border-top-left-radius:2rem;border-bottom-left-radius:2rem}.md\:rounded-r-8{border-top-right-radius:2rem;border-bottom-right-radius:2rem}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:pl-15\%{padding-left:15%}.md\:pr-15\%{padding-right:15%}}@media (min-width: 1024px){.lg\:rounded-l-8{border-top-left-radius:2rem;border-bottom-left-radius:2rem}.lg\:rounded-r-8{border-top-right-radius:2rem;border-bottom-right-radius:2rem}.lg\:p-8{padding:2rem}.lg\:px-0{padding-left:0;padding-right:0}.lg\:pl-15\%{padding-left:15%}.lg\:pr-15\%{padding-right:15%}}
