Pen Settings

HTML

CSS

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URLs added here will be added as <link>s in order, and before the CSS in the editor. You can use the CSS from another Pen by using its URL and the proper URL extension.

+ add another resource

JavaScript

Babel includes JSX processing.

Add External Scripts/Pens

Any URL's added here will be added as <script>s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.

+ add another resource

Packages

Add Packages

Search for and use JavaScript packages from npm here. By selecting a package, an import statement will be added to the top of the JavaScript editor for this package.

Behavior

Auto Save

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

Format on Save

If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.

Editor Settings

Code Indentation

Want to change your Syntax Highlighting theme, Fonts and more?

Visit your global Editor Settings.

HTML

              
                <div class="scene">
	<div class="cat">
		<div class="lightsource">
			<div class="lightsource-0">
				<div class="lightsource-1">
					<div class="lightsource-1-1">
						<div class="lightsource-1-1-1">
							<div class="lightsource-1-1-1-1"></div>
						</div>
					</div>
				</div>
				<div class="lightsource-2">
					<div class="lightsource-2-1">
						<div class="lightsource-2-1-1">
							<div class="lightsource-2-1-1-1">
								<div class="lightsource-2-1-1-1-1"></div>
							</div>
						</div>
					</div>
				</div>
				<div class="lightsource-3">
					<div class="lightsource-3-1">
						<div class="lightsource-3-1-1"></div>
					</div>
					<div class="lightsource-3-2">
						<div class="lightsource-3-2-1"></div>
					</div>
				</div>
			</div>
			<div class="lightsource-l lightsource-l1"></div>
			<div class="lightsource-l lightsource-l2"></div>
			<div class="lightsource-l lightsource-l3"></div>
			<div class="lightsource-l lightsource-l4"></div>
			<div class="lightsource-l lightsource-l5"></div>
			<div class="lightsource-l lightsource-l6"></div>
			<div class="lightsource-l lightsource-l7"></div>
			<div class="lightsource-l lightsource-l8"></div>
			<div class="lightsource-l lightsource-l9"></div>
			<div class="lightsource-l lightsource-l10"></div>
			<div class="lightsource-l lightsource-l11"></div>
			<div class="lightsource-l lightsource-l12"></div>
			<div class="lightsource-l lightsource-l13"></div>
			<div class="lightsource-l lightsource-l14"></div>
			<div class="lightsource-l lightsource-l15"></div>
			<div class="lightsource-l lightsource-l16"></div>
			<div class="lightsource-l lightsource-l17"></div>
			<div class="lightsource-l lightsource-l18"></div>
			<div class="lightsource-l lightsource-l19"></div>
			<div class="lightsource-l lightsource-l20"></div>
		</div>
		<div class="cat-1">
			<div class="cat-1-1">
				<div class="cat-1-1-1"></div>
				<div class="cat-1-1-2">
					<div class="cat-1-1-2-1"></div>
					<div class="cat-1-1-2-2">
						<div class="cat-1-1-2-2-1"></div>
					</div>
					<div class="cat-1-1-2-3">
						<div class="cat-1-1-2-3-1"></div>
						<div class="cat-1-1-2-3-2">
							<div class="cat-1-1-2-3-2-1"></div>
						</div>
						<div class="cat-1-1-2-3-3">
							<div class="cat-1-1-2-3-3-1">
								<div class="cat-1-1-2-3-3-1-1"></div>
							</div>
							<div class="cat-1-1-2-3-3-2"></div>
						</div>
					</div>
				</div>
			</div>
		</div>
		<div class="cat-2">
			<div class="cat-2-1">
				<div class="cat-2-1-1">
					<div class="cat-2-1-1-1">
						<div class="cat-2-1-1-1-1"></div>
						<div class="cat-2-1-1-1-2">
							<div class="cat-2-1-1-1-2-1"></div>
							<div class="cat-2-1-1-1-2-2"></div>
							<div class="cat-2-1-1-1-2-3">
								<div class="cat-2-1-1-1-2-3-1">
									<div class="cat-2-1-1-1-2-3-1-1">
										<div class="cat-2-1-1-1-2-3-1-1-1">
											<div class="cat-2-1-1-1-2-3-1-1-1-1"></div>
										</div>
									</div>
								</div>
								<div class="cat-2-1-1-1-2-3-2">
									<div class="cat-2-1-1-1-2-3-2-1">
										<div class="cat-2-1-1-1-2-3-2-1-1">
											<div class="cat-2-1-1-1-2-3-2-1-1-1"></div>
										</div>
									</div>
								</div>
								<div class="cat-2-1-1-1-2-3-3">
									<div class="cat-2-1-1-1-2-3-3-1"></div>
									<div class="cat-2-1-1-1-2-3-3-2"></div>
									<div class="cat-2-1-1-1-2-3-3-3">
										<div class="cat-2-1-1-1-2-3-3-3-1">
											<div class="cat-2-1-1-1-2-3-3-3-1-1">
												<div class="cat-2-1-1-1-2-3-3-3-1-1-1">
													<div class="cat-2-1-1-1-2-3-3-3-1-1-1-1"></div>
												</div>
											</div>
											<div class="cat-2-1-1-1-2-3-3-3-1-2">
												<div class="cat-2-1-1-1-2-3-3-3-1-2-1">
													<div class="cat-2-1-1-1-2-3-3-3-1-2-1-1"></div>
												</div>
											</div>
											<div class="cat-2-1-1-1-2-3-3-3-1-3">
												<div class="cat-2-1-1-1-2-3-3-3-1-3-1"></div>
												<div class="cat-2-1-1-1-2-3-3-3-1-3-2"></div>
											</div>
										</div>
										<div class="cat-2-1-1-1-2-3-3-3-2">
											<div class="cat-2-1-1-1-2-3-3-3-2-1">
												<div class="cat-2-1-1-1-2-3-3-3-2-1-1">
													<div class="cat-2-1-1-1-2-3-3-3-2-1-1-1"></div>
												</div>
											</div>
											<div class="cat-2-1-1-1-2-3-3-3-2-2">
												<div class="cat-2-1-1-1-2-3-3-3-2-2-1">
													<div class="cat-2-1-1-1-2-3-3-3-2-2-1-1">
														<div class="cat-2-1-1-1-2-3-3-3-2-2-1-1-1"></div>
													</div>
												</div>
											</div>
										</div>
										<div class="cat-2-1-1-1-2-3-3-3-3">
											<div class="cat-2-1-1-1-2-3-3-3-3-1">
												<div class="cat-2-1-1-1-2-3-3-3-3-1-1">
													<div class="cat-2-1-1-1-2-3-3-3-3-1-1-1"></div>
												</div>
											</div>
											<div class="cat-2-1-1-1-2-3-3-3-3-3">
												<div class="cat-2-1-1-1-2-3-3-3-3-3-1">
													<div class="cat-2-1-1-1-2-3-3-3-3-3-1-1">
														<div class="cat-2-1-1-1-2-3-3-3-3-3-1-1-1"></div>
													</div>
												</div>
											</div>
										</div>
									</div>
								</div>
							</div>
						</div>
					</div>
				</div>
			</div>
			<div class="cat-2-2">
				<div class="cat-2-2-1">
					<div class="cat-2-2-1-1"></div>
				</div>
			</div>
		</div>
		<div class="cat-3">
			<div class="cat-3-1"></div>
			<div class="cat-3-2">
				<div class="cat-3-2-1">
					<div class="cat-3-2-1-1"></div>
				</div>
			</div>
		</div>
		<div class="cat-4">
			<div class="cat-4-1">
				<div class="cat-4-1-1">
					<div class="cat-4-1-1-1"></div>
					<div class="cat-4-1-1-2"></div>
				</div>
			</div>
			<div class="cat-4-2">
				<div class="cat-4-2-1"></div>
			</div>
		</div>
		<div class="cat-5">
			<div class="cat-5-1">
				<div class="cat-5-1-1">
					<div class="cat-5-1-1-1"></div>
					<div class="cat-5-1-1-2"></div>
				</div>
			</div>
			<div class="cat-5-2">
				<div class="cat-5-2-1"></div>
			</div>
		</div>
		<div class="cat-6">
			<div class="cat-6-1"></div>
		</div>
		<div class="cat-7">
			<div class="cat-7-1"></div>
		</div>
		<div class="cat-8">
			<div class="cat-8-1"></div>
			<div class="cat-8-2"></div>
			<div class="cat-8-3">
				<div class="cat-8-3-1">
					<div class="cat-8-3-1-1"></div>
				</div>
				<div class="cat-8-3-2">
					<div class="cat-8-3-2-1"></div>
				</div>
				<div class="cat-8-3-3">
					<div class="cat-8-3-3-1">
						<div class="cat-8-3-3-1-1"></div>
					</div>
					<div class="cat-8-3-3-2">
						<div class="cat-8-3-3-2-1"></div>
					</div>
				</div>
			</div>
			<div class="cat-8-4">
				<div class="cat-8-4-1">
					<div class="cat-8-4-1-1"></div>
					<div class="cat-8-4-1-2">
						<div class="cat-8-4-1-2-1">
							<div class="cat-8-4-1-2-1-1">
								<div class="cat-8-4-1-2-1-1-1"></div>
							</div>
						</div>
					</div>
				</div>
				<div class="cat-8-4-2">
					<div class="cat-8-4-2-1"></div>
					<div class="cat-8-4-2-2">
						<div class="cat-8-4-2-2-1">
							<div class="cat-8-4-2-2-1-1">
								<div class="cat-8-4-2-2-1-1-1"></div>
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
		<div class="cat__shadow"></div>
	</div>
</div>
              
            
!

CSS

              
                body {
  margin: 0;
}

.scene {
  transform-style: preserve-3d;
}

.scene *, .scene *::before {
  position: absolute;
  display: block;
  transform-style: preserve-3d;
  transform-origin: top left;
}

.scene *::before {
  content: '';
  width: 100%; height: 100%;
}

.cat {
  top: 65vh; left: 50vw;
  width: 414em; height: 702em;
  transform-origin: center;
  transform: translateX(-50%) rotateX(75deg) rotateZ(0turn);
  font-size: min(.03vh, .03vw);
  --color: #615656;
  --color: #0baadc;
  animation: cat 10s linear infinite;
}
@keyframes cat {
  50% { transform: translateX(-50%) rotateX(75deg) rotateZ(-180deg); }
	100% { transform: translateX(-50%) rotateX(75deg) rotateZ(-360deg); }
}

.cat::before {
  background-color: color-mix(in oklch, var(--color), black 70%);
  clip-path: polygon(137em 0, 50% 47em, calc(100% - 137em) 0, calc(100% - 86em) 70em, calc(100% - 100em) 198em, 100% 247em, calc(100% - 137em) 100%, 137em 100%, 0% 247em, 100em 198em, 86em 70em);
}

.cat-1 {
  left: 137em; top: 100%;
  width: 140em; height: 111em;
  transform: rotateX(2deg);
}

.cat-1::before {
  background-color: hsl(0 0% 11% / 1);
  clip-path: polygon(0% 0%, 100% 0%, 64% 100%);
}

.cat-1-1 {
  left: 90em; top: 100%;
  width: 146em; height: 145em;
  transform: rotateZ(141deg) rotateY(-86.92deg);
}

.cat-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 33%);
  clip-path: polygon(0% 0.2%, 91% 0%, 100% 100%, 0% 98.4%);
}

.cat-1-1-1 {
  left: 133em;
  width: 119em; height: 145em;
  transform: rotateZ(-5deg) rotateY(-88.9deg);
}

.cat-1-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 25%);
  clip-path: polygon(0% 0%, 100% 32.5%, 0% 100%);
}

.cat-1-1-2 {
  left: 133em;
  width: 135em; height: 176em;
  transform: rotateZ(-180.2deg) rotateX(34.7deg);
}

.cat-1-1-2::before {
  background-color: color-mix(in oklch, var(--color), black 37%);
  clip-path: polygon(0% 0%, 99% 0%, 100% 99%, 16% 100%);
}

.cat-1-1-2-1 {
  left: 133em;
  width: 120em; height: 174em;
  transform: rotateZ(-0.5deg) rotateY(-87.2deg);
}

.cat-1-1-2-1::before {
  background-color: hsl(0 0% 12% / 1);
  clip-path: polygon(0% 0%, 100% 9.5%, 86.1% 76.3%, 0% 100%);
}

.cat-1-1-2-2 {
  width: 177em; height: 124em;
  transform: rotateZ(83deg) rotateX(85.6deg);
}

.cat-1-1-2-2::before {
  background-color: color-mix(in oklch, var(--color), black 24%);
  clip-path: polygon(0% 0%, 100% 0%, 75% 87%, 15.5% 100%);
}

.cat-1-1-2-2-1 {
  left: 27em; top: 100%;
  width: 125em; height: 145em;
  transform: rotateZ(-8.8deg) rotateX(95.2deg);
}

.cat-1-1-2-2-1::before {
  background-color: color-mix(in oklch, var(--color), black 32%);
  clip-path: polygon(0% 0%, 86% 0%, 100% 90%, 7% 100%);
}

.cat-1-1-2-3 {
  left: 21em; top: 100%;
  width: 114em; height: 238em;
  transform: rotateZ(-0.8deg) rotateX(54deg);
}

.cat-1-1-2-3::before {
  background-color: color-mix(in oklch, var(--color), black 39%);
  clip-path: polygon(0.5% 0%, 100% 0%, 98% 100%, 37% 100%);
}

.cat-1-1-2-3-1 {
  left: 100%;
  width: 97em; height: 237em;
  transform: rotateZ(0.8deg) rotateY(-86.6deg);
}

.cat-1-1-2-3-1::before {
  background-color: hsl(0 0% 13% / 1);
  clip-path: polygon(0% 0%, 97% 25.3%, 74% 80.1%, 0% 100%);
}

.cat-1-1-2-3-2 {
  left: 1em;
  width: 242em; height: 101em;
  transform: rotateZ(80deg) rotateX(76.3deg);
}

.cat-1-1-2-3-2::before {
  background-color: color-mix(in oklch, var(--color), black 22%);
  clip-path: polygon(0% 0%, 100% 0%, 85% 73%, 24% 100%);
}

.cat-1-1-2-3-2-1 {
  left: 58em; top: 100%;
  width: 155em; height: 128em;
  transform: rotateZ(-10.5deg) rotateX(103.4deg);
}

.cat-1-1-2-3-2-1::before {
  background-color: color-mix(in oklch, var(--color), black 27%);
  clip-path: polygon(0% 0%, 97% 0%, 100% 75.7%, 17% 100%);
}

.cat-1-1-2-3-3 {
  left: 43em; top: 100%;
  width: 68em; height: 188em;
  transform: rotateX(65deg);
}

.cat-1-1-2-3-3::before {
  background-color: color-mix(in oklch, var(--color), black 34%);
  clip-path: polygon(0% 0%, 100% 0%, 97.8% 100%);
}

.cat-1-1-2-3-3-1 {
  width: 199em; height: 71em;
  transform: rotateZ(70.5deg) rotateX(56.6deg);
}

.cat-1-1-2-3-3-1::before {
  background-color: color-mix(in oklch, var(--color), black 19%);
  clip-path: polygon(0% 0%, 100% 0%, 20.5% 100%);
}

.cat-1-1-2-3-3-1-1 {
  left: 100%;
  width: 89em; height: 174em;
  transform: rotateZ(66deg) rotateY(-105.9deg);
}

.cat-1-1-2-3-3-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 23%);
  clip-path: polygon(0% 0%, 100% 77%, 0% 100%);
}

.cat-1-1-2-3-3-2 {
  left: 100%;
  width: 74em; height: 188em;
  transform: rotateZ(0.5deg) rotateY(-86.1deg);
}

.cat-1-1-2-3-3-2::before {
  background-color: hsl(0 0% 14% / 1);
  clip-path: polygon(0% 0%, 100% 24%, 0% 100%);
}

.cat-2 {
  left: 100%; top: 247em;
  width: 286em; height: 475em;
  transform: rotateZ(16.75deg) rotateY(-66deg);
}

.cat-2::before {
  background-color: color-mix(in oklch, var(--color), black 35%);
  clip-path: polygon(0% 0%, 0% 100%, 100% 159em);
}

.cat-2-1 {
  top: 100%;
  width: 442em; height: 148em;
  transform: rotateZ(-47.85deg) rotateX(28deg);
}

.cat-2-1::before {
  background-color: color-mix(in oklch, var(--color), black 32%);
  clip-path: polygon(0% 0%, 21% 76%, 100% 100%, 96.45% 0%);
}

.cat-2-1-1 {
  left: 93em; top: 112.5em;
  width: 432em; height: 305em;
  transform: rotateZ(5.8deg) rotateX(15deg);
}

.cat-2-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 27%);
  clip-path: polygon(0% 0%, 81.2% 0%, 100% 100%);
}

.cat-2-1-1-1 {
  left: 100%; top: 100%;
  width: 184em; height: 533em;
  transform: rotateZ(125.25deg) rotateY(-43.8deg);
}

.cat-2-1-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 23%);
  clip-path: polygon(0% 0%, 100% 1%, 84% 100%, 0% 99.2%);
}

.cat-2-1-1-1-1 {
  left: 100%; top: 5em;
  width: 202em; height: 529em;
  transform: rotateZ(3.2deg) rotateY(-43.8deg);
}

.cat-2-1-1-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 27%);
  clip-path: polygon(0% 0%, 100% 45.9%, 0% 100%);
}

.cat-2-1-1-1-2 {
  width: 172em; height: 185em;
  transform: rotateZ(-88.4deg) rotateY(-38deg);
}

.cat-2-1-1-1-2::before {
  background-color: color-mix(in oklch, var(--color), black 16%);
  clip-path: polygon(0% 0%, 100% 26%, 100% 74%, 0% 100%);
}

.cat-2-1-1-1-2-1 {
  left: 100%; top: 49em;
  width: 321em; height: 373em;
  transform: rotateZ(-164.3deg) rotateX(68.1deg);
}

.cat-2-1-1-1-2-1::before {
  background-color: color-mix(in oklch, var(--color), black 20%);
  clip-path: polygon(0% 0%, 55.8% 0%, 100% 76%, 35% 100%);
}

.cat-2-1-1-1-2-2 {
  left: 100%; top: 137em;
  width: 371em; height: 321em;
  transform: rotateZ(74.3deg) rotateY(-68.5deg);
}

.cat-2-1-1-1-2-2::before {
  background-color: color-mix(in oklch, var(--color), black 20%);
  clip-path: polygon(0% 0%, 0% 56%, 76.1% 100%, 100% 36.3%);
}

.cat-2-1-1-1-2-3 {
  left: 100%; top: -12em;
  width: 195em; height: 209em;
  transform: rotateY(-14.7deg);
}

.cat-2-1-1-1-2-3::before {
  background-color: color-mix(in oklch, var(--color), black 20%);
  clip-path: polygon(0% 29%, 100% 0%, 100% 100%, 0% 71%);
}

.cat-2-1-1-1-2-3-1 {
  top: 29%;
  width: 384em; height: 355em;
  transform: rotateZ(-107.2deg) rotateY(-66.7deg);
}

.cat-2-1-1-1-2-3-1::before {
  background-color: color-mix(in oklch, var(--color), black 23%);
  clip-path: polygon(0% 0%, 100% 18.9%, 82.8% 67.5%, 57% 100%, 0% 57.4%);
}

.cat-2-1-1-1-2-3-1-1 {
  left: 220em; top: 100%;
  width: 255em; height: 175em;
  transform: rotateZ(-50.2deg) rotateX(41.9deg);
}

.cat-2-1-1-1-2-3-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 20%);
  clip-path: polygon(0% 0%, 60.6% 0%, 100% 100%, 25.5% 90.5%);
}

.cat-2-1-1-1-2-3-1-1-1 {
  left: 66em; top: 158em;
  width: 190em; height: 198em;
  transform: rotateZ(5deg) rotateX(68.4deg);
}

.cat-2-1-1-1-2-3-1-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 13%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 76.3%, 38.3% 100%);
}

.cat-2-1-1-1-2-3-1-1-1-1 {
  left: 73em; top: 100%;
  width: 152em; height: 55em;
  transform: rotateZ(-21.9deg) rotateX(27deg);
}

.cat-2-1-1-1-2-3-1-1-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 20%);
  clip-path: polygon(0% 0%, 100% 0%, 88% 100%);
}

.cat-2-1-1-1-2-3-2 {
  top: 71%;
  width: 355em; height: 384em;
  transform: rotateZ(17.2deg) rotateX(66.7deg);
}

.cat-2-1-1-1-2-3-2::before {
  background-color: color-mix(in oklch, var(--color), black 23%);
  clip-path: polygon(0% 0%, 16.5% 100%, 66.5% 83.9%, 100% 57%, 57.4% 0%);
}

.cat-2-1-1-1-2-3-2-1 {
  left: 100%; top: 220em;
  width: 175em; height: 255em;
  transform: rotateZ(50.2deg) rotateY(-41.9deg);
}

.cat-2-1-1-1-2-3-2-1::before {
  background-color: color-mix(in oklch, var(--color), black 20%);
  clip-path: polygon(0% 0%, 0% 60.6%, 100% 100%, 90.5% 25.5%);
}

.cat-2-1-1-1-2-3-2-1-1 {
  left: 158em; top: 66em;
  width: 198em; height: 190em;
  transform: rotateZ(-5deg) rotateY(-68.4deg);
}

.cat-2-1-1-1-2-3-2-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 13%);
  clip-path: polygon(0% 0%, 0% 100%, 76.3% 100%, 100% 38.3%);
}

.cat-2-1-1-1-2-3-2-1-1-1 {
  left: 100%; top: 73em;
  width: 55em; height: 152em;
  transform: rotateZ(21.9deg) rotateY(-27deg);
}

.cat-2-1-1-1-2-3-2-1-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 20%);
  clip-path: polygon(0% 0%, 0% 100%, 100% 88%);
}

.cat-2-1-1-1-2-3-3 {
  left: 100%; top: -3em;
  width: 252em; height: 215em;
  transform: rotateY(59deg);
}

.cat-2-1-1-1-2-3-3::before {
  background-color: color-mix(in oklch, var(--color), black 17%);
  clip-path: polygon(0% 1.5%, 100% 0%, 100% 100%, 0% 98.5%);
}

.cat-2-1-1-1-2-3-3-1 {
  left: 100%;
  width: 253em; height: 147em;
  transform: rotateZ(-180.8deg) rotateX(60deg);
}

.cat-2-1-1-1-2-3-3-1::before {
  background-color: color-mix(in oklch, var(--color), black 20%);
  clip-path: polygon(0% 0%, 22% 94.5%, 90% 93%, 100% 0%);
}

.cat-2-1-1-1-2-3-3-2 {
  left: 100%; top: 100%;
  width: 147em; height: 253em;
  transform: rotateZ(90.8deg) rotateY(-60deg);
}

.cat-2-1-1-1-2-3-3-2::before {
  background-color: color-mix(in oklch, var(--color), black 20%);
  clip-path: polygon(0% 0%, 94.5% 22%, 93% 90%, 0% 100%);
}

.cat-2-1-1-1-2-3-3-3 {
  left: 100%;
  width: 215em; height: 215em;
  transform: rotateY(-18.3deg);
}

.cat-2-1-1-1-2-3-3-3::before {
  background-color: color-mix(in oklch, var(--color), black 7%);
  clip-path: polygon(0% 0%, 100% 18.5%, 100% 81.5%, 0% 100%);
}

.cat-2-1-1-1-2-3-3-3-1 {
  left: 100%; top: 40em;
  width: 120em; height: 135em;
  transform: rotateY(-74deg);
}

.cat-2-1-1-1-2-3-3-3-1::before {
  background-color: color-mix(in oklch, var(--color), white 10%);
  clip-path: polygon(0% 0%, 100% 17.5%, 100% 82.5%, 0% 100%);
}

.cat-2-1-1-1-2-3-3-3-1-1 {
  top: 100%;
  width: 153em; height: 239em;
  transform: rotateZ(-11.3deg) rotateX(54.2deg);
}

.cat-2-1-1-1-2-3-3-3-1-1::before {
  left: -52em; width: 205em;
  background-color: color-mix(in oklch, var(--color), white 5%);
  clip-path: polygon(25.5% 0%, 0% 45%, 42.4% 100%, 100% 43%, 84.9% 0%);
}

.cat-2-1-1-1-2-3-3-3-1-1-1 {
  left: 35em; top: 100%;
  width: 179em; height: 80em;
  transform: rotateZ(-49.1deg) rotateX(13deg);
}

.cat-2-1-1-1-2-3-3-3-1-1-1::before {
  background-color: color-mix(in oklch, var(--color), white 8%);
  clip-path: polygon(0% 0%, 65.7% 100%, 100% 0%);
}

.cat-2-1-1-1-2-3-3-3-1-1-1-1 {
  width: 184em; height: 143em;
  transform: rotateZ(34.2deg) rotateX(43.55deg);
}

.cat-2-1-1-1-2-3-3-3-1-1-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 10%);
  clip-path: polygon(0% 0%, 1% 85%, 100% 100%, 78% 0%);
}

.cat-2-1-1-1-2-3-3-3-1-2 {
  width: 239em; height: 153em;
  transform: rotateZ(-78.7deg) rotateY(-54.2deg);
}

.cat-2-1-1-1-2-3-3-3-1-2::before {
  top: -52em; height: 205em;
  background-color: color-mix(in oklch, var(--color), white 5%);
  clip-path: polygon(0% 25.5%, 45% 0%, 100% 42.4%, 43% 100%, 0% 84.9%);
}

.cat-2-1-1-1-2-3-3-3-1-2-1 {
  left: 100%; top: 35em;
  width: 80em; height: 179em;
  transform: rotateZ(49.1deg) rotateY(-13deg);
}

.cat-2-1-1-1-2-3-3-3-1-2-1::before {
  background-color: color-mix(in oklch, var(--color), white 8%);
  clip-path: polygon(0% 0%, 100% 65.7%, 0% 100%);
}

.cat-2-1-1-1-2-3-3-3-1-2-1-1 {
  width: 143em; height: 184em;
  transform: rotateZ(-34.2deg) rotateY(-43.55deg);
}

.cat-2-1-1-1-2-3-3-3-1-2-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 10%);
  clip-path: polygon(0% 0%, 85% 1%, 100% 100%, 0% 78%);
}

.cat-2-1-1-1-2-3-3-3-1-3 {
  left: 100%; top: 24em;
  width: 76em; height: 88em;
  transform: rotateY(-41deg);
}

.cat-2-1-1-1-2-3-3-3-1-3::before {
  background-color: color-mix(in oklch, var(--color), white 7%);
  clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
}

.cat-2-1-1-1-2-3-3-3-1-3-1 {
  top: 100%;
  width: 88em; height: 96em;
  transform: rotateZ(-30.5deg) rotateX(22deg);
}

.cat-2-1-1-1-2-3-3-3-1-3-1::before {
  background-color: color-mix(in oklch, var(--color), white 0%);
  clip-path: polygon(0% 0%, 100% 0%, 54.5% 100%);
}

.cat-2-1-1-1-2-3-3-3-1-3-2 {
  width: 96em; height: 88em;
  transform: rotateZ(-59.5deg) rotateY(-22deg);
}

.cat-2-1-1-1-2-3-3-3-1-3-2::before {
  background-color: color-mix(in oklch, var(--color), white 0%);
  clip-path: polygon(0% 0%, 0% 100%, 100% 54.5%);
}

.cat-2-1-1-1-2-3-3-3-2 {
  top: 100%;
  width: 227em; height: 177em;
  transform: rotateZ(-10.5deg) rotateX(-34deg);
}

.cat-2-1-1-1-2-3-3-3-2::before {
  background-color: color-mix(in oklch, var(--color), black 12%);
  clip-path: polygon(0% 0%, 96% 0%, 100% 100%);
}

.cat-2-1-1-1-2-3-3-3-2-1 {
  left: 100%; top: 100%;
  width: 177em; height: 113em;
  transform: rotateZ(-93deg) rotateX(168deg);
}

.cat-2-1-1-1-2-3-3-3-2-1::before {
  background-color: color-mix(in oklch, var(--color), black 2%);
  clip-path: polygon(0% 0%, 100% 0%, 75% 100%);
}

.cat-2-1-1-1-2-3-3-3-2-1-1 {
  width: 175em; height: 87em;
  transform: rotateZ(40.4deg) rotateX(-57.9deg);
}

.cat-2-1-1-1-2-3-3-3-2-1-1::before {
  background-color: color-mix(in oklch, var(--color), white 3%);
  clip-path: polygon(0% 0%, 100% 0%, 54% 100%);
}

.cat-2-1-1-1-2-3-3-3-2-1-1-1 {
  left: 100%;
  width: 150em; height: 119em;
  transform: rotateZ(43deg) rotateY(3.6deg);
}

.cat-2-1-1-1-2-3-3-3-2-1-1-1::before {
  background-color: color-mix(in oklch, var(--color), white 10%);
  clip-path: polygon(0% 0%, 100% 18%, 0% 100%);
}
.cat-2-1-1-1-2-3-3-3-3-1-1 {
  width: 87em; height: 175em;
  transform: rotateZ(-40.4deg) rotateY(57.9deg);
}

.cat-2-1-1-1-2-3-3-3-3-1-1::before {
  background-color: color-mix(in oklch, var(--color), white 3%);
  clip-path: polygon(0% 0%, 0% 100%, 100% 54%);
}
.cat-2-1-1-1-2-3-3-3-3-1-1-1 {
  top: 100%;
  width: 119em; height: 150em;
  transform: rotateZ(-43deg) rotateX(-3.6deg);
}

.cat-2-1-1-1-2-3-3-3-3-1-1-1::before {
  background-color: color-mix(in oklch, var(--color), white 10%);
  clip-path: polygon(0% 0%, 18% 100%, 100% 0%);
}

.cat-2-1-1-1-2-3-3-3-2-2 {
  width: 287em; height: 70em;
  transform: rotateZ(38deg) rotateX(42.5deg);
}

.cat-2-1-1-1-2-3-3-3-2-2::before {
  background-color: color-mix(in oklch, var(--color), black 17%);
  clip-path: polygon(0% 0%, 100% 0%, 42% 100%);
}

.cat-2-1-1-1-2-3-3-3-2-2-1 {
  width: 140em; height: 149em;
  transform: rotateZ(29.9deg) rotateX(46deg);
}

.cat-2-1-1-1-2-3-3-3-2-2-1::before {
  background-color: color-mix(in oklch, var(--color), black 27%);
  clip-path: polygon(0% 0%, 100% 0%, 13.5% 100%);
}

.cat-2-1-1-1-2-3-3-3-2-2-1-1 {
  width: 224em; height: 92em;
  left: 19em; top: 100%;
  transform: rotateZ(-50.9deg) rotateX(42.7deg);
}

.cat-2-1-1-1-2-3-3-3-2-2-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 22%);
  clip-path: polygon(0% 0%, 85% 0%, 100% 100%, 23.9% 46.5%);
}

.cat-2-1-1-1-2-3-3-3-2-2-1-1-1 {
  left: 191em;
  width: 125em; height: 131em;
  transform: rotateZ(-20deg) rotateY(-29.4deg);
}

.cat-2-1-1-1-2-3-3-3-2-2-1-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 14%);
  clip-path: polygon(0% 0%, 100% 100%, 0% 74.5%);
}

.cat-2-1-1-1-2-3-3-3-3 {
  width: 177em; height: 227em;
  transform: rotateZ(-79.5deg) rotateY(34deg);
}

.cat-2-1-1-1-2-3-3-3-3::before {
  background-color: color-mix(in oklch, var(--color), black 12%);
  clip-path: polygon(0% 0%, 0% 96%, 100% 100%);
}

.cat-2-1-1-1-2-3-3-3-3-1 {
  left: 100%; top: 100%;
  width: 113em; height: 177em;
  transform: rotateZ(93deg) rotateY(-168deg);
}

.cat-2-1-1-1-2-3-3-3-3-1::before {
  background-color: color-mix(in oklch, var(--color), black 2%);
  clip-path: polygon(0% 0%, 0% 100%, 100% 75%);
}

.cat-2-1-1-1-2-3-3-3-3-3 {
  width: 70em; height: 287em;
  transform: rotateZ(-38deg) rotateY(-42.5deg);
}

.cat-2-1-1-1-2-3-3-3-3-3::before {
  background-color: color-mix(in oklch, var(--color), black 17%);
  clip-path: polygon(0% 0%, 0% 100%, 100% 42%);
}

.cat-2-1-1-1-2-3-3-3-3-3-1 {
  width: 149em; height: 140em;
  transform: rotateZ(-29.9deg) rotateY(-46deg);
}

.cat-2-1-1-1-2-3-3-3-3-3-1::before {
  background-color: color-mix(in oklch, var(--color), black 27%);
  clip-path: polygon(0% 0%, 0% 100%, 100% 13.5%);
}

.cat-2-1-1-1-2-3-3-3-3-3-1-1 {
  left: 100%; top: 19em;
  width: 92em; height: 224em;
  transform: rotateZ(50.9deg) rotateY(-42.7deg);
}

.cat-2-1-1-1-2-3-3-3-3-3-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 22%);
  clip-path: polygon(0% 0%, 0% 85%, 100% 100%, 46.5% 23.9%);
}

.cat-2-1-1-1-2-3-3-3-3-3-1-1-1 {
  top: 191em;
  width: 131em; height: 125em;
  transform: rotateZ(20deg) rotateX(29.4deg);
}

.cat-2-1-1-1-2-3-3-3-3-3-1-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 14%);
  clip-path: polygon(0% 0%, 100% 100%, 74.5% 0%);
}

.cat-2-2 {
  width: 190em; height: 398em;
  transform: rotateZ(-60.9deg) rotateY(-24deg);
}

.cat-2-2::before {
  background-color: color-mix(in oklch, var(--color), black 33%);
  clip-path: polygon(0% 0%, 0% 82.2%, 100% 100%, 93.6% 48%);
}

.cat-2-2-1 {
  top: 327em;
  width: 203em; height: 137em;
  transform: rotateZ(20.4deg) rotateX(30.4deg);
}

.cat-2-2-1::before {
  background-color: color-mix(in oklch, var(--color), black 30%);
  clip-path: polygon(0% 0%, 29.5% 100%, 100% 0%);
}

.cat-2-2-1-1 {
  left: 60em; top: 100%;
  width: 205em; height: 97em;
  transform: rotateZ(-43.8deg) rotateX(68deg);
}

.cat-2-2-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 12%);
  clip-path: polygon(0% 0%, 96.4% 0%, 100% 100%);
}

.cat-3 {
  top: 247em;
  width: 475em; height: 286em;
  transform: rotateZ(73.25deg) rotateX(66deg);
}

.cat-3::before {
  background-color: color-mix(in oklch, var(--color), black 35%);
  clip-path: polygon(0% 0%, 100% 0%, 159em 100%);
}

.cat-3-1 {
  left: 100%;
  width: 148em; height: 442em;
  transform: rotateZ(47.85deg) rotateY(-28.5deg);
}

.cat-3-1::before {
  background-color: color-mix(in oklch, var(--color), black 32%);
  clip-path: polygon(0% 0%, 76% 21%, 100% 100%, 0% 96.45%);
}

.cat-3-2 {
  width: 398em; height: 190em;
  transform: rotateZ(60.9deg) rotateX(24deg);
}

.cat-3-2::before {
  background-color: color-mix(in oklch, var(--color), black 33%);
  clip-path: polygon(0% 0%, 82.2% 0%, 100% 100%, 49.3% 96%);
}

.cat-3-2-1 {
  left: 327em;
  width: 137em; height: 203em;
  transform: rotateZ(-20.4deg) rotateY(-30.4deg);
}

.cat-3-2-1::before {
  background-color: color-mix(in oklch, var(--color), black 30%);
  clip-path: polygon(0% 0%, 100% 29.5%, 0% 100%);
}

.cat-3-2-1-1 {
  left: 100%; top: 60em;
  width: 96em; height: 201em;
  transform: rotateZ(43.8deg) rotateY(-68deg);
}

.cat-3-2-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 12%);
  clip-path: polygon(0% 0%, 0% 98%, 100% 100%);
}

.cat-4 {
  left: 137em;
  width: 78em; height: 97em;
  transform: rotateZ(-56deg) rotateY(-103.9deg);
}

.cat-4::before {
  background-color: color-mix(in oklch, var(--color), black 18%);
  clip-path: polygon(0% 0%, 71% 8.5%, 100% 100%, 0% 88%);
}

.cat-4-1 {
  left: 100%; top: 100%;
  width: 92em; height: 92em;
  transform: rotateZ(-104.4deg) rotateX(64.8deg);
}

.cat-4-1::before {
  background-color: color-mix(in oklch, var(--color), black 5%);
  clip-path: polygon(0% 0%, 100% 0%, 89% 100%);
}

.cat-4-1-1 {
  width: 182em; height: 335em;
  transform: rotateZ(48.3deg) rotateX(-80.2deg);
}

.cat-4-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 18%);
  clip-path: polygon(0% 0%, 67.5% 0%, 100% 100%, 14.1% 100%);
}

.cat-4-1-1-1 {
  width: 345em; height: 55em;
  transform: rotateZ(85.6deg) rotateX(51deg);
}

.cat-4-1-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 16%);
  clip-path: polygon(0% 0%, 100% 0%, 97.5% 100%);
}

.cat-4-1-1-2 {
  width: 425em; height: 235em;
  left: 100%; top: 100%;
  transform: rotateZ(-100deg) rotateX(78.8deg);
}

.cat-4-1-1-2::before {
  left: -167em; width: 590em;
  background-color: color-mix(in oklch, var(--color), black 27%);
  clip-path: polygon(28.3% 0%, 100% 0%, 100% 100%, 23.8% 100%, 0% 48.4%);
}

.cat-4-2 {
  width: 84em; height: 96em;
  transform: rotateZ(-81.6deg) rotateY(-86deg);
}

.cat-4-2::before {
  background-color: color-mix(in oklch, var(--color), black 20%);
  clip-path: polygon(0% 0%, 100% 21%, 100% 100%, 0% 58.5%);
}

.cat-4-2-1 {
  width: 76em; height: 124em;
  left: 100%; top: 100%;
  transform: rotateZ(-90deg) rotateX(43.3deg);
}

.cat-4-2-1::before {
  background-color: color-mix(in oklch, var(--color), black 30%);
  clip-path: polygon(0% 0%, 100% 0%, 53% 100%);
}

.cat-5 {
  left: 277em;
  width: 97em; height: 78em;
  transform: rotateZ(146deg) rotateX(103.9deg);
}

.cat-5::before {
  background-color: color-mix(in oklch, var(--color), black 18%);
  clip-path: polygon(0% 0%, 8.5% 71%, 100% 100%, 88% 0%);
}

.cat-5-1 {
  width: 92em; height: 92em;
  left: 100%; top: 100%;
  transform: rotateZ(104.4deg) rotateY(-64.8deg);
}

.cat-5-1::before {
  background-color: color-mix(in oklch, var(--color), black 5%);
  clip-path: polygon(0% 0%, 0% 100%, 100% 89%);
}

.cat-5-1-1 {
  width: 335em; height: 182em;
  transform: rotateZ(-48.3deg) rotateY(80.2deg);
}

.cat-5-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 18%);
  clip-path: polygon(0% 0%, 0% 67.5%, 100% 100%, 100% 14.1%);
}

.cat-5-1-1-1 {
  width: 55em; height: 345em;
  transform: rotateZ(-85.6deg) rotateY(-51deg);
}

.cat-5-1-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 16%);
  clip-path: polygon(0% 0%, 0% 100%, 100% 97.5%);
}

.cat-5-1-1-2 {
  left: 100%; top: 100%;
  width: 235em; height: 425em;
  transform: rotateZ(100deg) rotateY(-78.8deg);
}

.cat-5-1-1-2::before {
  top: -167em; height: 590em;
  background-color: color-mix(in oklch, var(--color), black 27%);
  clip-path: polygon(0% 28.3%, 0% 100%, 100% 100%, 100% 23.8%, 48.4% 0%);
}

.cat-5-2 {
  width: 96em; height: 84em;
  transform: rotateZ(81.6deg) rotateX(86deg);
}

.cat-5-2::before {
  background-color: color-mix(in oklch, var(--color), black 20%);
  clip-path: polygon(0% 0%, 21% 100%, 100% 100%, 58.5% 0%);
}

.cat-5-2-1 {
  left: 100%; top: 100%;
  width: 124em; height: 76em;
  transform: rotateZ(90deg) rotateY(-43.3deg);
}

.cat-5-2-1::before {
  background-color: color-mix(in oklch, var(--color), black 30%);
  clip-path: polygon(0% 0%, 0% 100%, 100% 53%);
}

.cat-6 {
  left: 100%; top: 247em;
  width: 110em; height: 266em;
  transform: rotateZ(-153.9deg) rotateX(78deg);
}

.cat-6::before {
  width: 147em;
  left: -28em;
  background-color: color-mix(in oklch, var(--color), black 14%);
  clip-path: polygon(19.3% 0%, 100% 0%, 100% 100%, 1% 100%);
}

.cat-6-1 {
  left: 78em; top: 100%;
  width: 217em; height: 189em;
  transform: rotateZ(93.5deg) rotateY(-35.7deg);
}

.cat-6-1::before {
  background-color: color-mix(in oklch, var(--color), black 5%);
  clip-path: polygon(0% 0%, 100% 44%, 89% 95.1%, 0% 55.5%);
}

.cat-7 {
  top: 247em;
  width: 266em; height: 110em;
  transform: rotateZ(-116.1deg) rotateY(-78deg);
}

.cat-7::before {
  height: 147em;
  top: -28em;
  clip-path: polygon(0% 19.3%, 0% 100%, 100% 100%, 100% 1%);
  background-color: color-mix(in oklch, var(--color), black 14%);
}

.cat-7-1 {
  left: 100%; top: 78em;
  width: 189em; height: 214em;
  transform: rotateZ(-90deg) rotateX(37.6deg);
}

.cat-7-1::before {
  background-color: color-mix(in oklch, var(--color), black 5%);
  clip-path: polygon(0% 0%, 50.5% 100%, 99.5% 86.3%, 55.5% 0%);
}

.cat-8 {
  left: 50%; top: -18em;
  width: 142em; height: 100em;
  transform-origin: top center;
  transform: translateX(-50%) translateZ(855em) rotateX(96deg);
}

.cat-8::before {
  background-color: color-mix(in oklch, var(--color), black 15%);
  clip-path: polygon(3% 0%, 97% 0%, 100% 100%, 0% 100%);
}

.cat-8-1 {
  left: 101%; top: 100%;
  width: 114em; height: 195em;
  transform: rotateZ(-92deg) rotateX(-57.1deg);
}

.cat-8-1::before {
  left: -58em;
  width: 172em;
  background-color: color-mix(in oklch, var(--color), black 12%);
  clip-path: polygon(33% 0%, 92% 0%, 100% 100%, 0% 96.8%);
}

.cat-8-2 {
  top: 101%;
  width: 195em; height: 114em;
  transform: rotateZ(182deg) rotateY(57.1deg);
}

.cat-8-2::before {
  top: -58em;
  height: 172em;
  background-color: color-mix(in oklch, var(--color), black 12%);
  clip-path: polygon(0% 33%, 0% 92%, 100% 100%, 96.8% 0%);
}

.cat-8-3 {
  left: -88em;
  width: 319em; height: 172em;
  transform: rotateX(158deg);
}

.cat-8-3::before {
  background-color: color-mix(in oklch, var(--color), black 10%);
  clip-path: polygon(28.5% 0%, 71.5% 0%, 100% 100%, 0% 100%);
}

.cat-8-3-1 {
  left: 100%; top: 100%;
  width: 196em; height: 195em;
  transform: rotateZ(-117.9deg) rotateX(54.5deg);
}

.cat-8-3-1::before {
  background-color: color-mix(in oklch, var(--color), black 7%);
  clip-path: polygon(0% 0%, 9% 82%, 95% 100%, 100% 0%);
}

.cat-8-3-2 {
  top: 100%;
  width: 195em; height: 196em;
  transform: rotateZ(207.9deg) rotateY(-54.5deg);
}

.cat-8-3-2::before {
  background-color: color-mix(in oklch, var(--color), black 7%);
  clip-path: polygon(0% 0%, 82% 9%, 100% 95%, 0% 100%);
}

.cat-8-3-1-1 {
  left: 17em; top: 160em;
  width: 239em; height: 121em;
  transform: rotateZ(11.8deg) rotateX(63.2deg);
}

.cat-8-3-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 16%);
  clip-path: polygon(0% 0%, 100% 100%, 73% 0%);
}

.cat-8-3-2-1 {
  left: 160em; top: 17em;
  width: 121em; height: 239em;
  transform: rotateZ(-11.8deg) rotateY(-63.2deg);
}

.cat-8-3-2-1::before {
  background-color: color-mix(in oklch, var(--color), black 16%);
  clip-path: polygon(0% 0%, 100% 100%, 0% 73%);
}

.cat-8-3-3 {
  top: 100%;
  width: 319em; height: 196em;
  transform: rotateX(30deg);
}

.cat-8-3-3::before {
  background-color: color-mix(in oklch, var(--color), black 14%);
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}

.cat-8-3-3-1 {
  width: 253em; height: 106em;
  transform: rotateZ(50.9deg) rotateX(7deg);
}

.cat-8-3-3-1::before {
  background-color: color-mix(in oklch, var(--color), black 17%);
  clip-path: polygon(0% 0%, 100% 0%, 28% 100%);
}

.cat-8-3-3-1-1 {
  width: 127em; height: 153em;
  transform: rotateZ(56.3deg) rotateX(60.3deg);
}

.cat-8-3-3-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 13%);
  clip-path: polygon(0% 0%, 100% 0%, 39% 100%);
}

.cat-8-3-3-2 {
  width: 106em; height: 253em;
  left: 100%;
  transform: rotateZ(39.1deg) rotateY(-7deg);
}

.cat-8-3-3-2::before {
  background-color: color-mix(in oklch, var(--color), black 17%);
  clip-path: polygon(0% 0%, 0% 100%, 100% 28%);
}

.cat-8-3-3-2-1 {
  width: 153em; height: 127em;
  transform: rotateZ(-56.3deg) rotateY(-60.3deg);
}

.cat-8-3-3-2-1::before {
  background-color: color-mix(in oklch, var(--color), black 13%);
  clip-path: polygon(0% 0%, 0% 100%, 100% 39%);
}

.cat-8-4 {
  top: 100%;
  width: 142em; height: 146em;
  transform: rotateX(49deg);
}

.cat-8-4::before {
  background-color: color-mix(in oklch, var(--color), black 7%);
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}

.cat-8-4-1 {
  width: 162em; height: 65em;
  transform: rotateZ(64deg) rotateX(-40.8deg);
}

.cat-8-4-1::before {
  background-color: color-mix(in oklch, var(--color), black 3%);
  clip-path: polygon(0% 0%, 100% 0%, 66% 100%);
}

.cat-8-4-1-1 {
  width: 125em; height: 110em;
  transform: rotateZ(31.4deg) rotateX(-17.8deg);
}

.cat-8-4-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 7%);
  clip-path: polygon(0% 0%, 100% 0%, 80% 100%);
}

.cat-8-4-1-2 {
  left: 100%;
  width: 159em; height: 112em;
  transform: rotateZ(40deg) rotateY(28deg);
}

.cat-8-4-1-2::before {
  background-color: color-mix(in oklch, var(--color), black 0%);
  clip-path: polygon(0% 0%, 100% 33%, 77% 100%, 0% 77%);
}

.cat-8-4-1-2-1 {
  left: 100%; top: 37em;
  width: 111em; height: 162em;
  transform: rotateZ(26deg) rotateY(75deg);
}

.cat-8-4-1-2-1::before {
  background-color: color-mix(in oklch, var(--color), white 10%);
  clip-path: polygon(0% 0%, 100% 42.5%, 61% 100%, 0% 51.5%);
}

.cat-8-4-1-2-1-1 {
  top: 84em;
  width: 103em; height: 101em;
  transform: rotateZ(49deg) rotateX(-47deg);
}

.cat-8-4-1-2-1-1::before {
  background-color: color-mix(in oklch, var(--color), white 0%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%);
}

.cat-8-4-1-2-1-1-1 {
  width: 144em; height: 94em;
  transform: rotateZ(44.4deg) rotateX(-30.7deg);
}

.cat-8-4-1-2-1-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 3%);
  clip-path: polygon(0% 0%, 100% 0%, 56% 100%);
}

.cat-8-4-2 {
  left: 100%;
  width: 65em; height: 162em;
  transform: rotateZ(26deg) rotateY(40.8deg);
}

.cat-8-4-2::before {
  background-color: color-mix(in oklch, var(--color), black 3%);
  clip-path: polygon(0% 0%, 0% 100%, 100% 66%);
}

.cat-8-4-2-1 {
  width: 110em; height: 125em;
  transform: rotateZ(-31.4deg) rotateY(17.8deg);
}

.cat-8-4-2-1::before {
  background-color: color-mix(in oklch, var(--color), black 7%);
  clip-path: polygon(0% 0%, 0% 100%, 100% 80%);
}

.cat-8-4-2-2 {
  top: 100%;
  width: 112em; height: 159em;
  transform: rotateZ(-40deg) rotateX(-28deg);
}

.cat-8-4-2-2::before {
  background-color: color-mix(in oklch, var(--color), black 0%);
  clip-path: polygon(0% 0%, 33% 100%, 100% 77%, 77% 0%);
}

.cat-8-4-2-2-1 {
  left: 37em; top: 100%;
  width: 162em; height: 111em;
  transform: rotateZ(-26deg) rotateX(-75deg);
}

.cat-8-4-2-2-1::before {
  background-color: color-mix(in oklch, var(--color), white 10%);
  clip-path: polygon(0% 0%, 42.5% 100%, 100% 61%, 51.5% 0%);
}

.cat-8-4-2-2-1-1 {
  left: 84em;
  width: 101em; height: 103em;
  transform: rotateZ(-49deg) rotateY(47deg);
}

.cat-8-4-2-2-1-1::before {
  background-color: color-mix(in oklch, var(--color), white 0%);
  clip-path: polygon(0% 0%, 0% 100%, 100% 100%);
}

.cat-8-4-2-2-1-1-1 {
  width: 94em; height: 144em;
  transform: rotateZ(-44.4deg) rotateY(30.7deg);
}

.cat-8-4-2-2-1-1-1::before {
  background-color: color-mix(in oklch, var(--color), black 3%);
  clip-path: polygon(0% 0%, 0% 100%, 100% 56%);
}

.cat__shadow {
  top: 0em; left: -79%;
  width: 1060em; height: 1225em;
  filter: blur(180em);
  opacity: .5;
}
.cat__shadow::before {
  width: 100%; height: 100%;
  background-color: color-mix(in oklch, var(--color), black 80%);
  clip-path: polygon(43.7% 0%, 50.3% 3.8%, 56.8% 0%, 61.7% 5.7%, 62.3% 8.9%, 71.7% 9.2%, 82.1% 26.6%, 84.1% 40.8%, 84.4% 52%, 100% 76%, 97.2% 100%, 64.1% 75.1%, 62.2% 81.6%, 37.2% 81.2%, 36% 74.9%, 3% 100%, 0% 75.6%, 15% 52.2%, 16.1% 40.7%, 18.7% 26.9%, 28.8% 9.3%, 38.4% 8.6%, 38.9% 5.9%);
}
























.lightsource {
  --side: min(3vw, 3vh);
  --angle: -41.8deg;
  --color: #ffc600;
  top: 50%; left: 50%;
  width: calc(var(--side) * 1.62);
  height: calc(var(--side) * 1.54);
  transform-origin: center;
  transform: translate(-50%, -50%) rotateX(20deg) translateZ(2500em);
}
.lightsource div {
  width: var(--side);
  height: calc((sqrt(3) / 2) * var(--side));
}
.lightsource div::before {
  width: 100%; height: 100%;
}
.lightsource::before {
  background-color: color-mix(in srgb, var(--color), black 50%);
  clip-path: polygon(0% 38%, 50% 0%, 100% 38%, 81% 100%, 19% 100%);
}
.lightsource::after {
  top: 50%; left: 50%;
  width: 150%; height: 150%;
  background-color: color-mix(in srgb, var(--color), white 70%);
  filter: blur(3vw);
  translate: -50% -50% -0.1px;
}
.lightsource-0 {
  transform: translate(calc(var(--side) * .31), calc(var(--side) * 0.16)) translateZ(calc(var(--side) * -.85)) rotateX(100.7deg);
}
.lightsource-0::before {
  background-color: color-mix(in srgb, var(--color), white 0%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.lightsource-1 {
  transform: rotateZ(60deg) rotateX(var(--angle));
}
.lightsource-1::before {
  background-color: color-mix(in srgb, var(--color), black 5%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.lightsource-1-1 {
  transform: rotateZ(60deg) rotateX(var(--angle));
}
.lightsource-1-1::before {
  background-color: color-mix(in srgb, var(--color), white 0%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.lightsource-1-1-1 {
  left: 50%; top: 100%;
  transform: rotateZ(-60deg) rotateX(var(--angle));
}
.lightsource-1-1-1::before {
  background-color: color-mix(in srgb, var(--color), black 5%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.lightsource-1-1-1-1 {
  transform: rotateZ(60deg) rotateX(var(--angle));
}
.lightsource-1-1-1-1::before {
  background-color: color-mix(in srgb, var(--color), white 0%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.lightsource-2 {
  left: 50%; top: 100%;
  transform: rotateZ(-60deg) rotateX(var(--angle));
}
.lightsource-2::before {
  background-color: color-mix(in srgb, var(--color), black 5%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.lightsource-2-1 {
  left: 50%; top: 100%;
  transform: rotateZ(-60deg) rotateX(var(--angle));
}
.lightsource-2-1::before {
  background-color: color-mix(in srgb, var(--color), white 0%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.lightsource-2-1-1 {
  transform: rotateZ(60deg) rotateX(var(--angle));
}
.lightsource-2-1-1::before {
  background-color: color-mix(in srgb, var(--color), black 5%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.lightsource-2-1-1-1 {
  top: 100%; left: 50%;
  transform: rotateZ(-60deg) rotateX(var(--angle));
}
.lightsource-2-1-1-1::before {
  background-color: color-mix(in srgb, var(--color), white 0%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.lightsource-2-1-1-1-1 {
  transform: rotateZ(60deg) rotateX(var(--angle));
}
.lightsource-2-1-1-1-1::before {
  background-color: color-mix(in srgb, var(--color), black 5%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.lightsource-3 {
  transform: rotateX(calc(180deg - var(--angle)));
}
.lightsource-3::before {
  background-color: color-mix(in srgb, var(--color), white 40%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.lightsource-3-1 {
  transform: rotateZ(60deg) rotateX(calc(var(--angle) * -1));
}
.lightsource-3-1::before {
  background-color: color-mix(in srgb, var(--color), white 50%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.lightsource-3-1-1 {
  left: 50%; top: 100%;
  transform: rotateZ(-60deg) rotateX(calc(var(--angle) * -1));
}
.lightsource-3-1-1::before {
  background-color: color-mix(in srgb, var(--color), white 55%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.lightsource-3-2 {
  left: 50%; top: 100%;
  transform: rotateZ(-60deg) rotateX(calc(var(--angle) * -1));
}
.lightsource-3-2::before {
  background-color: color-mix(in srgb, var(--color), white 45%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.lightsource-3-2-1 {
  transform: rotateZ(60deg) rotateX(calc(var(--angle) * -1));
}
.lightsource-3-2-1::before {
  background-color: color-mix(in srgb, var(--color), white 50%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}





.lightsource-l {
  width: 1px !important;
  height: 3000em !important;
  top: 50% !important;
  left: 50% !important;
  transform-origin: top center !important;
  background-color: purple;
  display: none;
}
.lightsource-l1 {
  transform: rotateX(-73.7deg) rotateZ(9.8deg);
}
.lightsource-l2 {
  transform: rotateX(-73.7deg) rotateZ(-9.6deg);
}
.lightsource-l3 {
  transform: rotateX(-78.7deg) rotateZ(-10.7deg);
}
.lightsource-l4 {
  transform: rotateX(-78.7deg) rotateZ(11deg);
}
.lightsource-l5 {
  transform: rotateX(-78.8deg) rotateZ(-3deg);
}
.lightsource-l6 {
  transform: rotateX(-78.8deg) rotateZ(3.2deg);
}
.lightsource-l7 {
  transform: rotateX(-84.1deg) rotateZ(8.2deg);
}
.lightsource-l8 {
  transform: rotateX(-84.1deg) rotateZ(-7.8deg);
}
.lightsource-l9 {
  transform: rotateX(-86.9deg) rotateZ(-7.9deg);
}
.lightsource-l10 {
  transform: rotateX(-86.9deg) rotateZ(8.1deg);
}
.lightsource-l11 {
  transform: rotateX(-90.6deg) rotateZ(-7.6deg);
}
.lightsource-l12 {
  transform: rotateX(-90.5deg) rotateZ(7.7deg);
}
.lightsource-l13 {
  transform: rotateX(-95.3deg) rotateZ(5.4deg);
}
.lightsource-l14 {
  transform: rotateX(-95.3deg) rotateZ(-5.2deg);
}
.lightsource-l15 {
  transform: rotateX(-77.4deg) rotateZ(-2.5deg);
}
.lightsource-l16 {
  transform: rotateX(-77.5deg) rotateZ(2.9deg);
}
.lightsource-l17 {
  transform: rotateX(-95.4deg) rotateZ(-2.9deg);
}
.lightsource-l18 {
  transform: rotateX(-95.5deg) rotateZ(3deg);
}
.lightsource-l19 {
  transform: rotateX(-90deg) rotateZ(0deg);
}
.lightsource-l20 {
  background-color: red;
  transform: rotateX(-96deg) rotateZ(1.1deg);
}
              
            
!

JS

              
                
              
            
!
999px

Console