.gc-cn {
	--gc-cn-w: .15;
	--gc-cn-r: .6;
	--gc-cn-ease: cubic-bezier(.65,.02,.2,1);
	--gc-cn-glide: .78s cubic-bezier(.22,.61,.36,1);
	--gc-cn-tilt: -6deg;
	--gc-cn-z: 1;
	--gc-cn-inv: 1;
	--gc-cn-cx: 0;
	--gc-cn-cy: 0;
	--gc-cn-dx: 0;
	--gc-cn-dy: 0;
	--gc-cn-px: 0;
	--gc-cn-py: 0;
	position: relative;
	font-family: var(--gc-cn-font-body, var(--gc-font-body));
	color: var(--gc-cn-text);
	background: transparent;
	overflow: hidden;
	isolation: isolate;
	min-height: var(--gc-cn-min-h, 520px);
}

.gc-cn * { box-sizing: border-box; }

.gc-cn[data-skin="night"] {
	--gc-cn-field: #08131F;
	--gc-cn-field-2: #102939;
	--gc-cn-text: #EAF3FA;
	--gc-cn-muted: #8AA5B8;
	--gc-cn-mark: #FFFFFF;
	--gc-cn-lattice: rgba(255,255,255,.34);
	--gc-cn-live: #5BA7DB;
	--gc-cn-halo: rgba(91,167,219,.22);
	--gc-cn-card: rgba(13,33,49,.82);
	--gc-cn-card-line: rgba(140,190,225,.22);
	--gc-cn-card-edge: rgba(150,195,228,.11);
	--gc-cn-card-hi: rgba(255,255,255,.07);
	--gc-cn-chip: rgba(91,167,219,.14);
	--gc-cn-dust: rgba(222,240,252,.92);
	--gc-cn-glass: rgba(180,215,240,.10);
	--gc-cn-sheen: rgba(255,255,255,.72);
	--gc-cn-bloom: rgba(91,167,219,.3);
	--gc-cn-accent: #F2994A;
	--gc-cn-core-ink: #EAF3FA;
	--gc-cn-shade: #08131F;
	--gc-cn-rule: rgba(255,255,255,.13);
	--gc-cn-rule-hot: rgba(255,255,255,.24);
	--gc-cn-line: rgba(255,255,255,.34);
	--gc-cn-sun: #5BA7DB;
	--gc-cn-star: #FFFFFF;
}

.gc-cn[data-skin="day"] {
	--gc-cn-field: #F4F8FB;
	--gc-cn-field-2: #E3F0FA;
	--gc-cn-text: #14212B;
	--gc-cn-muted: #5A6B75;
	--gc-cn-mark: #3D82B3;
	--gc-cn-lattice: rgba(61,130,179,.34);
	--gc-cn-live: #3D82B3;
	--gc-cn-halo: rgba(91,167,219,.20);
	--gc-cn-card: rgba(255,255,255,.9);
	--gc-cn-card-line: rgba(61,130,179,.20);
	--gc-cn-card-edge: rgba(61,130,179,.13);
	--gc-cn-card-hi: rgba(255,255,255,.7);
	--gc-cn-chip: rgba(91,167,219,.14);
	--gc-cn-dust: rgba(61,130,179,.5);
	--gc-cn-glass: rgba(255,255,255,.55);
	--gc-cn-sheen: rgba(255,255,255,.9);
	--gc-cn-bloom: rgba(91,167,219,.22);
	--gc-cn-accent: #F2994A;
	--gc-cn-core-ink: #14212B;
	--gc-cn-shade: #B8CEDD;
	--gc-cn-rule: rgba(61,130,179,.18);
	--gc-cn-rule-hot: rgba(61,130,179,.32);
	--gc-cn-line: rgba(61,130,179,.34);
	--gc-cn-sun: #3D82B3;
	--gc-cn-star: #3D82B3;
}

.gc-cn-bg {
	position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background: linear-gradient(to bottom, var(--gc-cn-field-2) 0%, var(--gc-cn-field) 58%);
}

.gc-cn-bg, .gc-cn-stage, .gc-cn-drifter-layer {
	--gc-cn-mask: linear-gradient(
		to bottom,
		rgba(0,0,0,0)    0,
		rgba(0,0,0,.004) calc(var(--gc-cn-bleed-top, 0px) * .08),
		rgba(0,0,0,.018) calc(var(--gc-cn-bleed-top, 0px) * .17),
		rgba(0,0,0,.045) calc(var(--gc-cn-bleed-top, 0px) * .26),
		rgba(0,0,0,.09)  calc(var(--gc-cn-bleed-top, 0px) * .35),
		rgba(0,0,0,.15)  calc(var(--gc-cn-bleed-top, 0px) * .44),
		rgba(0,0,0,.23)  calc(var(--gc-cn-bleed-top, 0px) * .52),
		rgba(0,0,0,.34)  calc(var(--gc-cn-bleed-top, 0px) * .61),
		rgba(0,0,0,.47)  calc(var(--gc-cn-bleed-top, 0px) * .69),
		rgba(0,0,0,.61)  calc(var(--gc-cn-bleed-top, 0px) * .77),
		rgba(0,0,0,.75)  calc(var(--gc-cn-bleed-top, 0px) * .84),
		rgba(0,0,0,.87)  calc(var(--gc-cn-bleed-top, 0px) * .9),
		rgba(0,0,0,.96)  calc(var(--gc-cn-bleed-top, 0px) * .96),
		#000             var(--gc-cn-bleed-top, 0px),
		#000             calc(100% - var(--gc-cn-bleed-bottom, 0px)),
		rgba(0,0,0,.96)  calc(100% - var(--gc-cn-bleed-bottom, 0px) * .96),
		rgba(0,0,0,.87)  calc(100% - var(--gc-cn-bleed-bottom, 0px) * .9),
		rgba(0,0,0,.75)  calc(100% - var(--gc-cn-bleed-bottom, 0px) * .84),
		rgba(0,0,0,.61)  calc(100% - var(--gc-cn-bleed-bottom, 0px) * .77),
		rgba(0,0,0,.47)  calc(100% - var(--gc-cn-bleed-bottom, 0px) * .69),
		rgba(0,0,0,.34)  calc(100% - var(--gc-cn-bleed-bottom, 0px) * .61),
		rgba(0,0,0,.23)  calc(100% - var(--gc-cn-bleed-bottom, 0px) * .52),
		rgba(0,0,0,.15)  calc(100% - var(--gc-cn-bleed-bottom, 0px) * .44),
		rgba(0,0,0,.09)  calc(100% - var(--gc-cn-bleed-bottom, 0px) * .35),
		rgba(0,0,0,.045) calc(100% - var(--gc-cn-bleed-bottom, 0px) * .26),
		rgba(0,0,0,.018) calc(100% - var(--gc-cn-bleed-bottom, 0px) * .17),
		rgba(0,0,0,.004) calc(100% - var(--gc-cn-bleed-bottom, 0px) * .08),
		rgba(0,0,0,0)    100%
	);
	-webkit-mask-image: var(--gc-cn-mask);
	mask-image: var(--gc-cn-mask);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

.gc-cn-veil {
	position: absolute; inset: -20%; pointer-events: none;
	background: radial-gradient(58% 54% at 50% 48%, var(--gc-cn-field-2) 0%, transparent 72%);
	opacity: .5;
	animation: gc-cn-drift 26s ease-in-out infinite alternate;
}

@keyframes gc-cn-drift {
	from { transform: translate3d(-2%, -1.5%, 0) scale(1.02); }
	to   { transform: translate3d(2.5%, 2%, 0) scale(1.06); }
}

.gc-cn-space {
	position: absolute; inset: -10%; z-index: 1;
	pointer-events: none;
	transition: opacity .5s ease, transform .5s ease;
}

.gc-cn-layer {
	position: absolute; inset: -6%;
	background-repeat: repeat;
	will-change: transform;
	transition: transform .7s cubic-bezier(.22,.61,.36,1);
}

.gc-cn-layer--far {
	background-image: var(--gc-cn-tile-c);
	background-size: 1760px 1760px;
	opacity: calc(.4 * var(--gc-cn-field-op, 1));
	transform: translate3d(calc(var(--gc-cn-px) * -2px), calc(var(--gc-cn-py) * -2px), 0);
}

.gc-cn-layer--mid {
	background-image: var(--gc-cn-tile-b);
	background-size: 1320px 1320px;
	opacity: calc(.6 * var(--gc-cn-field-op, 1));
	transform: translate3d(calc(var(--gc-cn-px) * -5px), calc(var(--gc-cn-py) * -5px), 0);
}

.gc-cn-layer--near {
	background-image: var(--gc-cn-tile-a);
	background-size: 940px 940px;
	opacity: calc(.82 * var(--gc-cn-field-op, 1));
	transform: translate3d(calc(var(--gc-cn-px) * -9px), calc(var(--gc-cn-py) * -9px), 0);
}

.gc-cn-glint {
	position: absolute; display: block;
	border-radius: 999px;
	background: var(--gc-cn-star, #fff);
	box-shadow: 0 0 6px 1px color-mix(in srgb, var(--gc-cn-star, #fff) 60%, transparent);
	opacity: .2;
	animation-name: gc-cn-glint;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
}

@keyframes gc-cn-glint {
	0%, 62%, 100% { opacity: .16; transform: scale(.82); }
	78%           { opacity: 1;    transform: scale(1.25); }
}

.gc-cn-stage {
	position: relative; z-index: 2; width: 100%;
	height: calc(var(--gc-cn-h, 68vh) + var(--gc-cn-center-reserve, 0px));
	min-height: calc(var(--gc-cn-min-h, 520px) + var(--gc-cn-center-reserve, 0px));
	cursor: grab;
	touch-action: pan-y;
	overflow: hidden;
	transition: transform .55s cubic-bezier(.22,.61,.36,1);
}

.gc-cn.is-dragging .gc-cn-stage { cursor: grabbing; }

.gc-cn-field {
	position: absolute;
	left: 50%; top: 50%;
	width: 1000px; height: 1000px;
	margin: -500px 0 0 -500px;
	transform-origin: 50% 50%;
	transform:
		rotate(var(--gc-cn-tilt))
		scale(var(--gc-cn-z))
		translate3d(
			calc((var(--gc-cn-cx) + var(--gc-cn-dx)) * -1px),
			calc((var(--gc-cn-cy) + var(--gc-cn-dy)) * -1px),
			0
		);
	transition: transform var(--gc-cn-glide);
}

.gc-cn.is-dragging .gc-cn-field,
.gc-cn.is-coasting .gc-cn-field,
.gc-cn.is-zooming .gc-cn-field,
.gc-cn.is-dragging .gc-cn-mark,
.gc-cn.is-coasting .gc-cn-mark,
.gc-cn.is-zooming .gc-cn-mark { transition: none; }

.gc-cn.is-gliding .gc-cn-field,
.gc-cn.is-gliding .gc-cn-mark { will-change: transform; }

@property --gc-cn-turn-a {
	syntax: "<angle>";
	inherits: true;
	initial-value: 0deg;
}

@keyframes gc-cn-orbit {
	from { --gc-cn-turn-a: 0deg; }
	to   { --gc-cn-turn-a: 360deg; }
}

.gc-cn-turn {
	position: absolute;
	inset: 0;
	transform-origin: 50% 50%;
	rotate: var(--gc-cn-turn-a);
}

.gc-cn-mark { rotate: calc(-1 * var(--gc-cn-turn-a)); }

.gc-cn[data-spin="cw"] .gc-cn-turn {
	animation: gc-cn-orbit var(--gc-cn-spin-dur, 240s) linear infinite;
}

.gc-cn[data-spin="ccw"] .gc-cn-turn {
	animation: gc-cn-orbit var(--gc-cn-spin-dur, 240s) linear infinite reverse;
}

.gc-cn.is-picked .gc-cn-turn { animation-play-state: paused; }

.gc-cn-wires {
	position: absolute; inset: 0;
	width: 1000px; height: 1000px;
	overflow: visible;
	pointer-events: none;
}

.gc-cn-wire {
	fill: none;
	stroke: var(--gc-cn-lattice);
	stroke-width: calc(26.6px * var(--gc-cn-w));
	stroke-linecap: butt;
	opacity: .5;
	vector-effect: non-scaling-stroke;
	transition: stroke .4s ease, opacity .4s ease;
}

.gc-cn-wire--arc { stroke-width: calc(30px * var(--gc-cn-w)); }
.gc-cn-wire--sat { stroke-width: calc(13px * var(--gc-cn-w)); opacity: .34; }

.gc-cn-wire.is-lit {
	stroke: var(--gc-cn-live);
	stroke-width: calc(14px * var(--gc-cn-w));
	opacity: .8;
}
.gc-cn-wire.is-dim { opacity: .08; }

.gc-cn-trim { fill: var(--gc-cn-mark); opacity: .5; transition: opacity .4s ease; }
.gc-cn-trimring {
	fill: none;
	stroke: var(--gc-cn-mark);
	stroke-width: 1;
	vector-effect: non-scaling-stroke;
	opacity: .42;
	transition: opacity .4s ease;
}

.gc-cn-spark {
	fill: none;
	stroke: var(--gc-cn-live);
	stroke-width: calc(26.6px * var(--gc-cn-w));
	stroke-linecap: butt;
	vector-effect: non-scaling-stroke;
	opacity: 0;
	pointer-events: none;
}

.gc-cn-spark.is-travelling { animation: gc-cn-travel .8s var(--gc-cn-ease) forwards; }

@keyframes gc-cn-travel {
	0%   { opacity: 0; stroke-dasharray: 0 1000; stroke-dashoffset: 0; }
	18%  { opacity: 1; }
	100% { opacity: 0; stroke-dasharray: 90 1000; stroke-dashoffset: -1000; }
}

.gc-cn-node {
	position: absolute;
	left: 500px; top: 500px;
	width: 0; height: 0;
	transform: translate(calc(var(--gc-cn-x) * 1px), calc(var(--gc-cn-y) * 1px));
	transition: opacity .45s ease;
}

.gc-cn-node.is-dim { opacity: .1; }
.gc-cn-node.is-hidden { opacity: 0; pointer-events: none; }

.gc-cn-link {
	position: absolute;
	left: 0; top: 0;
	display: block;
	width: 0; height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	appearance: none;
	-webkit-appearance: none;
	font: inherit;
	color: inherit;
	text-align: inherit;
	text-decoration: none;
	cursor: pointer;
}

.gc-cn-mark {
	position: absolute;
	left: 0; top: 0;
	width: 0; height: 0;
	transform: rotate(calc(var(--gc-cn-tilt) * -1)) scale(var(--gc-cn-inv));
	transition: transform var(--gc-cn-glide);
}

.gc-cn-hit {
	position: absolute;
	left: -21px; top: -21px;
	display: block;
	width: 42px; height: 42px;
	border-radius: 999px;
}

.gc-cn-dot {
	position: absolute;
	left: calc(var(--gc-cn-size, 12px) / -2);
	top: calc(var(--gc-cn-size, 12px) / -2);
	display: block;
	width: var(--gc-cn-size, 12px);
	height: var(--gc-cn-size, 12px);
	border-radius: 999px;
	background: var(--gc-cn-star, #fff);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--gc-cn-live) 26%, transparent);
	transition: background .35s ease, box-shadow .35s ease, transform .35s ease;
	animation: gc-cn-twinkle calc(var(--gc-cn-beacon-dur, 4.4s) + var(--gc-cn-p, 0) * .42s) ease-in-out infinite alternate;
	animation-delay: calc(var(--gc-cn-p, 0) * -.86s);
}

@keyframes gc-cn-twinkle {
	from { opacity: .82; }
	to   { opacity: 1; }
}

.gc-cn[data-twinkle="off"] .gc-cn-dot { animation: none; }

.gc-cn-node--outer { --gc-cn-tint: var(--gc-cn-live); }

.gc-cn-node--outer .gc-cn-dot {
	overflow: hidden;
	isolation: isolate;
	animation: none;
	background:
		radial-gradient(circle at 31% 27%,
			color-mix(in srgb, var(--gc-cn-tint) 16%, #fff) 0%,
			color-mix(in srgb, var(--gc-cn-tint) 72%, #fff) 26%,
			var(--gc-cn-tint) 54%,
			color-mix(in srgb, var(--gc-cn-tint) 52%, var(--gc-cn-shade)) 82%,
			color-mix(in srgb, var(--gc-cn-tint) 24%, var(--gc-cn-shade)) 100%);
	box-shadow:
		inset -2px -3px 7px color-mix(in srgb, var(--gc-cn-shade) 70%, transparent),
		inset 1px 1px 3px rgba(255,255,255,.34),
		0 0 0 1px color-mix(in srgb, var(--gc-cn-tint) 52%, transparent);
}

.gc-cn-skin {
	position: absolute; inset: 0;
	display: block;
	border-radius: 999px;
	opacity: .6;
	mix-blend-mode: soft-light;
	animation: gc-cn-turn 34s linear infinite;
}

@keyframes gc-cn-turn {
	from { background-position: 0 0; }
	to   { background-position: 200% 0; }
}

.gc-cn-node--outer .gc-cn-skin { background-size: 200% 100%; }

.gc-cn-node--outer[style*="--gc-cn-skin: 1"] .gc-cn-skin,
.gc-cn-node--outer[style*="--gc-cn-skin:1"] .gc-cn-skin {
	background-image: repeating-linear-gradient(
		12deg,
		rgba(255,255,255,.24) 0 3px,
		transparent 3px 11px);
}

.gc-cn-node--outer[style*="--gc-cn-skin: 2"] .gc-cn-skin,
.gc-cn-node--outer[style*="--gc-cn-skin:2"] .gc-cn-skin {
	background-image:
		radial-gradient(38% 26% at 32% 34%, rgba(255,255,255,.42), transparent 70%),
		radial-gradient(30% 22% at 70% 64%, rgba(0,0,0,.34), transparent 70%);
}

.gc-cn-node--outer[style*="--gc-cn-skin: 3"] .gc-cn-skin,
.gc-cn-node--outer[style*="--gc-cn-skin:3"] .gc-cn-skin {
	background-image: repeating-linear-gradient(
		94deg,
		rgba(0,0,0,.26) 0 2px,
		transparent 2px 9px);
}

.gc-cn-node--outer[style*="--gc-cn-skin: 4"] .gc-cn-skin,
.gc-cn-node--outer[style*="--gc-cn-skin:4"] .gc-cn-skin {
	background-image:
		radial-gradient(24% 18% at 62% 26%, rgba(0,0,0,.38), transparent 70%),
		radial-gradient(20% 16% at 30% 68%, rgba(255,255,255,.4), transparent 70%);
}

.gc-cn-node--outer[style*="--gc-cn-skin: 5"] .gc-cn-skin,
.gc-cn-node--outer[style*="--gc-cn-skin:5"] .gc-cn-skin {
	background-image: repeating-linear-gradient(
		148deg,
		rgba(255,255,255,.2) 0 4px,
		transparent 4px 13px);
}

.gc-cn-node--outer[style*="--gc-cn-skin: 6"] .gc-cn-skin,
.gc-cn-node--outer[style*="--gc-cn-skin:6"] .gc-cn-skin {
	background-image:
		radial-gradient(46% 30% at 50% 22%, rgba(255,255,255,.34), transparent 72%),
		repeating-linear-gradient(88deg, rgba(0,0,0,.2) 0 2px, transparent 2px 12px);
}

.gc-cn-node--inner .gc-cn-dot {
	background:
		radial-gradient(circle at 34% 30%,
			#fff 0%,
			color-mix(in srgb, var(--gc-cn-live) 40%, #fff) 46%,
			var(--gc-cn-live) 100%);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--gc-cn-live) 42%, transparent);
}

.gc-cn-node--sat .gc-cn-dot {
	background: var(--gc-cn-star, #fff);
	box-shadow: 0 0 5px 1px var(--gc-cn-halo);
}

.gc-cn-reticle {
	position: absolute;
	left: calc(var(--gc-cn-size, 12px) / -2 - 7px);
	top: calc(var(--gc-cn-size, 12px) / -2 - 7px);
	display: block;
	width: calc(var(--gc-cn-size, 12px) + 14px);
	height: calc(var(--gc-cn-size, 12px) + 14px);
	border: 1px solid var(--gc-cn-live);
	border-radius: 999px;
	opacity: 0;
	transform: scale(1.18);
	transition: opacity .26s ease, transform .26s ease;
	pointer-events: none;
}

.gc-cn-link:hover .gc-cn-reticle,
.gc-cn-link:focus-visible .gc-cn-reticle,
.gc-cn-node.is-active .gc-cn-reticle { opacity: .85; transform: none; }

.gc-cn-node.is-active .gc-cn-reticle { border-color: var(--gc-cn-accent, #F2994A); }

.gc-cn-tag {
	position: absolute;
	left: calc(var(--gc-cn-tag-w, 150px) * var(--gc-cn-tag-scale, 1) / -2);
	top: calc(var(--gc-cn-size, 12px) * .5 + 9px);
	width: calc(var(--gc-cn-tag-w, 150px) * var(--gc-cn-tag-scale, 1));
	display: block;
	text-align: center;
	transition: opacity .3s ease;
}

.gc-cn-name {
	display: block;
	font-family: var(--gc-cn-font-heading, var(--gc-font-heading));
	font-size: calc(var(--gc-cn-name-size, 12.5px) * var(--gc-cn-type-scale, 1));
	font-weight: var(--gc-cn-name-weight, 700);
	letter-spacing: .01em;
	line-height: 1.28;
	color: var(--gc-cn-text);
	text-wrap: balance;
}

.gc-cn-note {
	display: block;
	margin-top: 3px;
	font-family: var(--gc-cn-font-mono, ui-monospace, monospace);
	font-size: calc(var(--gc-cn-note-size, 10px) * var(--gc-cn-type-scale, 1));
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	line-height: 1.4;
	color: var(--gc-cn-muted);
}

.gc-cn-link:hover .gc-cn-name,
.gc-cn-link:focus-visible .gc-cn-name { color: var(--gc-cn-mark); }

.gc-cn-link:hover .gc-cn-note,
.gc-cn-link:focus-visible .gc-cn-note { color: var(--gc-cn-text); }

.gc-cn-link:focus-visible { outline: none; }
.gc-cn-link:focus-visible .gc-cn-tag {
	outline: 2px solid var(--gc-cn-accent, #F2994A);
	outline-offset: 3px;
	border-radius: 3px;
}

.gc-cn-peek {
	position: absolute;
	top: -12px;
	width: 178px;
	padding: 10px 12px;
	border: 1px solid var(--gc-cn-card-edge);
	border-radius: var(--gc-cn-card-radius, 6px);
	background: var(--gc-cn-card);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow: 0 14px 34px -16px rgba(0,0,0,.7);
	opacity: 0;
	visibility: hidden;
	transform: translateY(4px);
	transition: opacity .28s ease, transform .28s ease, visibility .28s;
	pointer-events: none;
	text-align: left;
	z-index: 2;
}

.gc-cn-peek--right { left: 22px; }
.gc-cn-peek--left { right: 22px; }

.gc-cn-link:hover .gc-cn-peek,
.gc-cn-link:focus-visible .gc-cn-peek { opacity: 1; visibility: visible; transform: none; }

.gc-cn-peek-note {
	display: block;
	font-size: 11.5px;
	line-height: 1.5;
	color: var(--gc-cn-text);
}

.gc-cn-node--inner .gc-cn-tag {
	opacity: 0;
	transition: opacity .26s ease;
}

.gc-cn-node--inner .gc-cn-note { display: none; }

.gc-cn-node--inner .gc-cn-link:hover .gc-cn-tag,
.gc-cn-node--inner .gc-cn-link:focus-visible .gc-cn-tag,
.gc-cn-node--inner.is-active .gc-cn-tag { opacity: 1; }

.gc-cn-node--sat .gc-cn-note { display: none; }

.gc-cn.is-picked .gc-cn-node--core .gc-cn-tag { opacity: 0; }

.gc-cn-node--core {
	--gc-cn-size: var(--gc-cn-core-size, 34px);
	--gc-cn-tag-w: 190px;
}

.gc-cn-node--core .gc-cn-dot {
	animation: none;
	z-index: 2;
	background: radial-gradient(
		circle,
		#fff 0%,
		#fff 30%,
		color-mix(in srgb, var(--gc-cn-sun) 34%, #fff) 50%,
		var(--gc-cn-sun) 76%,
		color-mix(in srgb, var(--gc-cn-shade) 40%, var(--gc-cn-sun)) 94%,
		transparent calc(94% + 2px)
	);
	box-shadow:
		0 0 0 1px color-mix(in srgb, var(--gc-cn-sun) 30%, transparent),
		0 0 22px 4px color-mix(in srgb, var(--gc-cn-sun) 26%, transparent);
}

.gc-cn-core-img {
	position: absolute;
	left: 50%; top: 50%;
	width: calc(var(--gc-cn-size, 34px) * var(--gc-cn-core-img-scale, 1));
	height: calc(var(--gc-cn-size, 34px) * var(--gc-cn-core-img-scale, 1));
	transform: translate(-50%, -50%);
	border-radius: 999px;
	object-fit: var(--gc-cn-core-img-fit, cover);
	z-index: 3;
	pointer-events: none;
}

.gc-cn-node--core .gc-cn-tag {
	top: auto;
	bottom: calc(var(--gc-cn-size, 34px) * .5 + 10px);
}

.gc-cn-node--core .gc-cn-name {
	font-size: calc(var(--gc-cn-name-size, 12.5px) * 1.3 * var(--gc-cn-type-scale, 1));
	letter-spacing: .16em;
	text-transform: uppercase;
}

.gc-cn-node--core .gc-cn-name .ink-1 { color: var(--gc-cn-core-ink-1, var(--gc-cn-live)); }
.gc-cn-node--core .gc-cn-name .ink-2 { color: var(--gc-cn-core-ink-2, var(--gc-cn-core-ink)); }

.gc-cn-node--core .gc-cn-note {
	margin-top: 5px;
	letter-spacing: .22em;
}

.gc-cn.is-picked .gc-cn-node.is-active .gc-cn-tag { opacity: 1; }

.gc-cn-node--sat { animation: gc-cn-arrive .42s cubic-bezier(.19,1.02,.24,1) both; }

@keyframes gc-cn-arrive {
	from { opacity: 0; transform: translate(calc(var(--gc-cn-x) * 1px), calc(var(--gc-cn-y) * 1px)) scale(.7); }
}

.gc-cn-rail {
	position: absolute; z-index: 3; top: 0; left: 0; right: 0;
	display: flex; align-items: baseline; gap: clamp(14px, 2.4vw, 32px);
	padding: clamp(20px, 3vw, 40px);
	padding-top: calc(clamp(20px, 3vw, 40px) + var(--gc-cn-head-offset, 0px));
	pointer-events: none;
}
.gc-cn-rail > * { pointer-events: auto; }
.gc-cn-eyebrow {
	display: inline-flex; align-items: center; gap: 9px;
	font-family: var(--gc-cn-font-mono, ui-monospace, monospace);
	font-size: 10.5px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase;
	color: var(--gc-cn-live);
}
.gc-cn-eyebrow::before { content: ""; width: 18px; height: 1px; background: currentColor; opacity: .6; }
.gc-cn-rail h1,
.gc-cn-rail h2,
.gc-cn-rail h3 {
	font-family: var(--gc-cn-font-heading, var(--gc-font-heading));
	font-weight: 800;
	font-size: clamp(23px, 2.4vw, 34px); line-height: 1.06; letter-spacing: -.024em;
	margin: 11px 0 0; max-width: 11ch; color: var(--gc-cn-text);
}
.gc-cn-hint { margin: 11px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--gc-cn-muted); max-width: 28ch; }

.gc-cn-tools {
	position: absolute; z-index: 4; top: clamp(16px,2.4vw,30px); right: clamp(16px,2.4vw,30px);
	display: flex; flex-direction: column; align-items: flex-end; gap: 8px;
}
.gc-cn-btn {
	font: inherit; font-size: 12px; font-weight: 600;
	display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px;
	border-radius: 999px; border: 1px solid var(--gc-cn-card-line);
	background: var(--gc-cn-card); color: var(--gc-cn-text);
	backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px);
	cursor: pointer;
	transition: border-color .2s ease, transform .2s ease;
}
.gc-cn-btn:hover { border-color: var(--gc-cn-live); transform: translateY(-1px); }
.gc-cn-btn:focus-visible { outline: 2px solid var(--gc-cn-accent, #F2994A); outline-offset: 2px; }
.gc-cn-btn[hidden] { display: none; }

.gc-cn-panel {
	position: absolute; z-index: 3; left: 0; top: 0;
	width: var(--gc-cn-card-w, min(320px, 42vw));
	padding: 16px 18px 18px;
	border: 0; border-radius: var(--gc-cn-card-radius, 6px);
	background: var(--gc-cn-card);
	box-shadow:
		0 0 0 1px var(--gc-cn-card-edge),
		0 24px 50px -24px rgba(2,10,18,.55),
		inset 0 1px 0 var(--gc-cn-card-hi);
	backdrop-filter: blur(11px) saturate(125%);
	-webkit-backdrop-filter: blur(11px) saturate(125%);
	opacity: 0; pointer-events: none;
	transform-origin: var(--gc-cn-ox, 0) 50%;
	--gc-cn-out: cubic-bezier(.19,1.02,.24,1);
	translate: var(--gc-cn-from, 0px) 0;
	scale: .985;
	clip-path: inset(-200px var(--gc-cn-clip-r, -200px) -200px var(--gc-cn-clip-l, -200px));
	will-change: transform, opacity, scale, translate, clip-path;
	transition:
		opacity .24s ease var(--gc-cn-card-delay, 0ms),
		translate .54s var(--gc-cn-out) var(--gc-cn-card-delay, 0ms),
		scale .54s var(--gc-cn-out) var(--gc-cn-card-delay, 0ms),
		clip-path .54s var(--gc-cn-out) var(--gc-cn-card-delay, 0ms);
}
.gc-cn-panel.is-open {
	opacity: 1; pointer-events: auto;
	translate: 0 0; scale: 1;
	clip-path: inset(-200px);
}
.gc-cn-panel.is-seating { transition: none; }
.gc-cn-panel.is-docked { translate: 0 14px; scale: .98; }
.gc-cn-panel.is-center { translate: -50% 14px; scale: .98; }
.gc-cn-panel.is-docked.is-open { translate: 0 0; scale: 1; }
.gc-cn-panel.is-center.is-open { translate: -50% 0; scale: 1; }

.gc-cn-panel .p-kick {
	display: flex; align-items: center; gap: 8px;
	font-family: var(--gc-cn-font-mono, ui-monospace, monospace);
	font-size: 9.5px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase;
	color: var(--gc-cn-live);
}
.gc-cn-panel .p-kick::after {
	content: ""; flex: 1 1 auto; height: 1px;
	background: linear-gradient(90deg, var(--gc-cn-card-line), transparent);
}
.gc-cn-panel h3 {
	margin: 7px 0 0;
	font-family: var(--gc-cn-font-heading, var(--gc-font-heading));
	font-size: 19px; font-weight: 700; line-height: 1.18; letter-spacing: -.018em;
	color: var(--gc-cn-text);
	text-wrap: balance;
}
.gc-cn-panel p { margin: 7px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--gc-cn-muted); }

.gc-cn-links { margin: 14px 0 0; }
.gc-cn-links .l-title {
	display: flex; align-items: center; gap: 8px;
	font-family: var(--gc-cn-font-mono, ui-monospace, monospace);
	font-size: 9.5px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase;
	color: var(--gc-cn-muted);
}
.gc-cn-links .l-title::after {
	content: ""; flex: 1 1 auto; height: 1px;
	background: linear-gradient(90deg, var(--gc-cn-card-line), transparent);
}
.gc-cn-chips { display: flex; flex-direction: column; margin-top: 3px; }
.gc-cn-chip {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	width: 100%; padding: 7px 0;
	border: 0; border-bottom: 1px solid var(--gc-cn-card-line);
	background: transparent; color: var(--gc-cn-muted);
	font: inherit; font-size: 12.5px; text-align: left;
	cursor: pointer;
	transition: color .2s ease, padding-left .2s ease;
}
.gc-cn-chip:last-child { border-bottom: 0; }
.gc-cn-chip:hover { color: var(--gc-cn-live); padding-left: 6px; }
.gc-cn-chip:focus-visible { outline: 2px solid var(--gc-cn-accent, #F2994A); outline-offset: 2px; }
.gc-cn-chip .go {
	opacity: 0; transform: translateX(-4px);
	transition: opacity .2s ease, transform .2s ease;
}
.gc-cn-chip:hover .go,
.gc-cn-chip:focus-visible .go { opacity: 1; transform: none; }

.gc-cn-cta {
	display: inline-flex; align-items: center; gap: 8px;
	margin-top: 14px; padding: 9px 16px;
	border-radius: var(--gc-cn-cta-radius, 999px);
	background: linear-gradient(135deg, var(--gc-glider-start), var(--gc-glider-end));
	color: var(--gc-cn-cta-color, #fff);
	font-size: 12.5px; font-weight: 600; text-decoration: none;
	transition: transform .2s ease, filter .2s ease;
}
.gc-cn-cta:hover { transform: translateY(-1px); filter: brightness(1.06); color: var(--gc-cn-cta-color, #fff); }
.gc-cn-cta:focus-visible { outline: 2px solid var(--gc-cn-accent, #F2994A); outline-offset: 2px; }

.gc-cn-fade > * { animation: gc-cn-rise .46s cubic-bezier(.19,1.02,.24,1) both calc(var(--gc-cn-card-delay, 0ms) + .08s); }
.gc-cn-fade > *:nth-child(2) { animation-delay: calc(var(--gc-cn-card-delay, 0ms) + .15s); }
.gc-cn-fade > *:nth-child(3) { animation-delay: calc(var(--gc-cn-card-delay, 0ms) + .21s); }
.gc-cn-fade > *:nth-child(4) { animation-delay: calc(var(--gc-cn-card-delay, 0ms) + .27s); }
.gc-cn-fade > *:nth-child(5) { animation-delay: calc(var(--gc-cn-card-delay, 0ms) + .33s); }
@keyframes gc-cn-rise { from { opacity: 0; transform: translate3d(0, 9px, 0); } to { opacity: 1; transform: none; } }

.gc-cn-trail {
	position: absolute; z-index: 4;
	left: clamp(16px, 2.4vw, 30px); bottom: clamp(16px, 2.4vw, 30px);
	font-family: var(--gc-cn-font-mono, ui-monospace, monospace);
	font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase;
	color: var(--gc-cn-muted);
}
.gc-cn-trail b { color: var(--gc-cn-text); font-weight: 600; }
.gc-cn-trail .sep { opacity: .45; }

.gc-cn-panel.is-center {
	transform: none !important;
	transform-origin: 50% 100%;
	left: 50%; right: auto; top: auto;
	bottom: var(--gc-cn-center-bottom, 104px);
	width: min(var(--gc-cn-center-w, 580px), calc(100% - 80px));
	padding: 22px 32px 24px;
	text-align: center;
	background:
		radial-gradient(130% 100% at 50% -30%, color-mix(in srgb, var(--gc-cn-live) 18%, transparent), transparent 60%),
		var(--gc-cn-card);
	box-shadow:
		0 0 0 1px var(--gc-cn-card-edge),
		0 40px 84px -46px rgba(2,10,18,.75),
		inset 0 1px 0 var(--gc-cn-card-hi);
}
.gc-cn-panel.is-center::before {
	content: "";
	position: absolute;
	top: 0; left: 18%; right: 18%;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--gc-cn-live), transparent);
	opacity: .6;
}
.gc-cn-panel.is-center h3 { font-size: 20px; letter-spacing: -.02em; }
.gc-cn-panel.is-center p {
	font-size: 13px; line-height: 1.55;
	color: color-mix(in srgb, var(--gc-cn-text) 72%, var(--gc-cn-muted));
}
.gc-cn-panel.is-center .p-kick { gap: 0; letter-spacing: .18em; }
.gc-cn-panel.is-center .gc-cn-fade {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
	gap: 10px 14px;
}
.gc-cn-panel.is-center .p-kick,
.gc-cn-panel.is-center h3,
.gc-cn-panel.is-center p { flex: 0 0 100%; margin: 0; }
.gc-cn-panel.is-center p { max-width: 62ch; margin: 0 auto; }
.gc-cn-panel.is-center .gc-cn-links { margin: 0; display: flex; align-items: center; gap: 14px; }
.gc-cn-panel.is-center .p-kick::after,
.gc-cn-panel.is-center .l-title::after { display: none; }
.gc-cn-panel.is-center .p-kick { justify-content: center; }
.gc-cn-panel.is-center .gc-cn-chips { margin: 0; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 4px 16px; }
.gc-cn-panel.is-center .gc-cn-chip {
	position: relative;
	width: auto; border-bottom: 0;
	padding: 4px 0 4px 15px;
	transition: color .2s ease;
}
.gc-cn-panel.is-center .gc-cn-chip::before {
	content: "";
	position: absolute; left: 0; top: 50%;
	width: 6px; height: 6px; margin-top: -3px;
	border-radius: 50%;
	border: 1px solid color-mix(in srgb, var(--gc-cn-live) 70%, transparent);
	transition: background-color .2s ease, box-shadow .2s ease;
}
.gc-cn-panel.is-center .gc-cn-chip:hover { padding-left: 15px; }
.gc-cn-panel.is-center .gc-cn-chip:hover::before,
.gc-cn-panel.is-center .gc-cn-chip:focus-visible::before {
	background: var(--gc-cn-live);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--gc-cn-live) 22%, transparent);
}
.gc-cn-panel.is-center .gc-cn-chip .go { display: none; }
.gc-cn-panel.is-center .gc-cn-cta { margin: 0; }

.gc-cn-panel.is-docked {
	transform: none !important;
	transform-origin: 50% 100%;
	left: 12px; right: 12px; bottom: var(--gc-cn-dock-bottom, 0px); top: auto;
	width: auto;
}

.gc-cn-index {
	position: absolute;
	width: 1px; height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.gc-cn-drifter-layer {
	position: absolute; inset: 0; z-index: 1;
	pointer-events: none;
	overflow: hidden;
}
.gc-cn-drifter {
	position: absolute; left: 0; top: 0;
	width: var(--gc-cn-drifter-size, 84px);
	opacity: 0;
}
.gc-cn-drifter.is-crossing {
	animation: gc-cn-cross var(--gc-cn-drifter-dur, 25s) linear forwards;
}
@keyframes gc-cn-cross {
	0%   { opacity: 0; transform: translate3d(var(--gc-cn-drifter-x0, 0), var(--gc-cn-drifter-y0, 0), 0) rotate(0deg); }
	8%   { opacity: var(--gc-cn-drifter-opacity, .9); }
	92%  { opacity: var(--gc-cn-drifter-opacity, .9); }
	100% { opacity: 0; transform: translate3d(var(--gc-cn-drifter-x1, 0), var(--gc-cn-drifter-y1, 0), 0) rotate(var(--gc-cn-drifter-spin, 360deg)); }
}
.gc-cn-drifter .bobber {
	display: block; width: 100%; height: auto;
	transform: scaleX(var(--gc-cn-drifter-sx, 1));
	animation:
		gc-cn-drifter-bob var(--gc-cn-drifter-bob, 5s) ease-in-out infinite alternate,
		gc-cn-drifter-sway calc(var(--gc-cn-drifter-bob, 5s) * 1.7) ease-in-out infinite alternate;
}
@keyframes gc-cn-drifter-bob { from { translate: 0 -6px; } to { translate: 0 6px; } }
@keyframes gc-cn-drifter-sway { from { rotate: -5deg; } to { rotate: 5deg; } }

.gc-cn--lite .gc-cn-turn,
.gc-cn--lite .gc-cn-veil,
.gc-cn--lite .gc-cn-glint,
.gc-cn--lite .gc-cn-skin,
.gc-cn--lite .gc-cn-dot,
.gc-cn--lite .gc-cn-drifter { animation: none; }
.gc-cn--lite .gc-cn-drifter { display: none; }
.gc-cn--lite .gc-cn-panel,
.gc-cn--lite .gc-cn-btn,
.gc-cn--lite .gc-cn-peek { backdrop-filter: none; -webkit-backdrop-filter: none; }
.gc-cn--lite .gc-cn-layer { display: none; }
.gc-cn--lite .gc-cn-layer--near { display: block; }
.gc-cn--lite .gc-cn-panel { will-change: auto; }

.gc-cn.is-flying .gc-cn-wires { shape-rendering: optimizeSpeed; }
.gc-cn.is-flying .gc-cn-veil,
.gc-cn.is-flying .gc-cn-glint,
.gc-cn.is-flying .gc-cn-skin,
.gc-cn.is-flying .gc-cn-dot { animation-play-state: paused; }

.gc-cn--rest,
.gc-cn--rest *,
.gc-cn--rest *::before,
.gc-cn--rest *::after { animation-play-state: paused !important; }

@media (max-width: 900px) {
	.gc-cn { display: flex; flex-direction: column; min-height: 0; }
	.gc-cn-rail { position: static; }
	.gc-cn-stage {
		flex: 1 1 auto;
		height: var(--gc-cn-fit-h, var(--gc-cn-h, 56vh));
		min-height: min(var(--gc-cn-min-h, 380px), var(--gc-cn-fit-h, 100vh));
	}
	.gc-cn-rail { flex-direction: column; align-items: flex-start; gap: 4px; padding: 16px 16px 2px; }
	.gc-cn-rail h1,
	.gc-cn-rail h2,
	.gc-cn-rail h3 { max-width: 18ch; font-size: clamp(21px, 6vw, 28px); margin-top: 8px; }
	.gc-cn-hint { margin-top: 6px; font-size: 12px; }
	.gc-cn-tools { top: 12px; right: 12px; flex-direction: row; gap: 6px; }
	.gc-cn-btn { font-size: 11.5px; padding: 7px 12px; }
	.gc-cn-panel { width: auto; padding: 13px 15px 15px; max-height: none; overflow: visible; }
	.gc-cn-panel.is-docked {
		left: 0; right: 0; bottom: var(--gc-cn-dock-bottom, 0px); width: auto;
		border-radius: var(--gc-cn-card-radius, 6px) var(--gc-cn-card-radius, 6px) 0 0;
		box-shadow:
			0 -1px 0 var(--gc-cn-card-edge),
			0 -26px 44px -30px rgba(2,10,18,.8),
			inset 0 1px 0 var(--gc-cn-card-hi);
	}
	.gc-cn-panel h3 { font-size: 15.5px; margin-top: 4px; }
	.gc-cn-panel .p-kick { font-size: 9px; }
	.gc-cn-panel p {
		font-size: 12px; line-height: 1.45; margin-top: 5px;
		display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
	}
	.gc-cn-panel .gc-cn-links { display: none; }
	.gc-cn-panel .gc-cn-cta { margin-top: 10px; padding: 8px 13px; font-size: 12px; }
	.gc-cn-trail { display: none; }

	.gc-cn-node--core .gc-cn-note { display: none; }
	.gc-cn-trim { display: none; }
	.gc-cn-trimring { opacity: .3; }
	.gc-cn-peek { display: none; }
	.gc-cn-drifter { width: calc(var(--gc-cn-drifter-size, 84px) * .7); }
}

@media (max-width: 480px) {
	.gc-cn-node--sat .gc-cn-tag { opacity: 0; }
	.gc-cn.is-picked .gc-cn-node--sat.is-active .gc-cn-tag { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.gc-cn *, .gc-cn *::before, .gc-cn *::after {
		animation-duration: .01ms !important; transition-duration: .01ms !important;
		animation-delay: 0ms !important; transition-delay: 0ms !important;
	}
	.gc-cn-drifter { display: none; }
	.gc-cn-glint { animation: none; opacity: .3; }
	.gc-cn-skin { animation: none; }
	.gc-cn-turn { animation: none !important; }
}
