.k-selector {
	--selector-line: rgba(255,255,255,.13);
	background:
		radial-gradient(circle at 88% 0, rgba(168,139,255,.2), transparent 42%),
		radial-gradient(circle at 8% 100%, rgba(140,243,227,.08), transparent 34%),
		linear-gradient(145deg, #111025, #090815 72%);
	border: 1px solid var(--selector-line); border-radius: 34px; min-height: 620px; overflow: clip;
	color: #f4f0fa; isolation: isolate; padding: clamp(25px, 5vw, 62px); position: relative;
	box-shadow: 0 40px 120px rgba(3,2,12,.3);
}
.k-selector__aurora { background: radial-gradient(circle, rgba(168,139,255,.2), transparent 64%); border-radius: 50%; filter: blur(20px); height: 560px; pointer-events: none; position: absolute; right: -220px; top: -260px; width: 560px; z-index: -1; }
.k-selector__top { align-items: end; display: grid; grid-template-columns: 1fr minmax(160px, 340px); gap: 30px; margin-bottom: 48px; position: relative; }
.k-selector__index { color: var(--aqua); font: 700 .65rem/1.3 var(--mono); letter-spacing: .15em; margin: 0 0 12px; }
.k-selector h3 { font: 400 clamp(2rem, 4vw, 3.8rem)/1 var(--serif); margin: 0; }
.k-selector__progress { background: rgba(255,255,255,.08); height: 1px; overflow: hidden; }
.k-selector__progress span { background: linear-gradient(90deg, var(--aqua), var(--violet)); box-shadow: 0 0 16px var(--aqua); display: block; height: 100%; transition: width .45s ease; width: var(--progress); }
.k-selector__step { border: 0; margin: 0; min-width: 0; padding: 0; }
.k-selector__step legend { color: #eee9f5; font: 400 clamp(1.3rem, 2.5vw, 1.9rem)/1.3 var(--serif); margin-bottom: 25px; padding: 0; }
.k-selector__choices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.k-selector__choices button { background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.16); color: #f8f5fb; cursor: pointer; min-height: 126px; padding: 20px; text-align: left; transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.k-selector__choices button:hover, .k-selector__choices button:focus-visible, .k-selector__choices button.is-selected { background: rgba(255,255,255,.1); border-color: rgba(140,243,227,.65); box-shadow: inset 0 0 0 1px rgba(140,243,227,.12), 0 0 28px rgba(140,243,227,.08); transform: translateY(-3px); }
.k-selector__choices button span { display: block; font: 400 1.35rem var(--serif); }
.k-selector__choices button small { color: #bbb4c7; display: block; font-size: .72rem; line-height: 1.45; margin-top: 7px; }
.k-selector__choices--color button { min-height: 150px; }
.k-selector__choices--color button i { background: radial-gradient(circle at 35% 28%, white, var(--choice) 18%, color-mix(in srgb, var(--choice), #090815 55%) 72%); border-radius: 48% 52% 60% 40%; box-shadow: 0 0 26px color-mix(in srgb, var(--choice), transparent 65%); display: block; height: 48px; margin-bottom: 16px; transform: rotate(12deg); width: 43px; }
.k-selector__back { margin-top: 24px; min-height: 28px; }
.k-selector__back button, .k-selector__restart, .k-selector__share { background: none; border: 0; color: #aaa3b5; cursor: pointer; font-size: .7rem; padding: 5px 0; text-decoration: underline; text-underline-offset: 4px; }
.k-selector__result { align-items: center; display: grid; grid-template-columns: .75fr 1fr; gap: clamp(35px, 8vw, 100px); min-height: 420px; outline: none; }
.k-selector__result[hidden] { display: none; }
.k-selector__result-visual { aspect-ratio: 1; position: relative; }
.k-selector__result-visual::before { background: hsl(var(--result-hue) 70% 58% / .28); border-radius: 50%; content: ""; filter: blur(32px); inset: 19%; position: absolute; }
.k-selector__result-visual span, .k-selector__result-visual i, .k-selector__result-visual b { bottom: 12%; clip-path: polygon(50% 0, 92% 28%, 79% 100%, 19% 100%, 6% 29%); position: absolute; }
.k-selector__result-visual span { background: linear-gradient(135deg, hsl(var(--result-hue) 80% 86% / .92), hsl(calc(var(--result-hue) + 55) 68% 55% / .32)); height: 78%; left: 34%; width: 34%; }
.k-selector__result-visual i { background: hsl(calc(var(--result-hue) - 30) 75% 75% / .65); height: 52%; left: 17%; transform: rotate(-15deg); width: 28%; }
.k-selector__result-visual b { background: hsl(calc(var(--result-hue) + 35) 75% 75% / .58); height: 44%; right: 15%; transform: rotate(14deg); width: 25%; }
.k-selector__result-copy h3 { font-size: clamp(3rem, 8vw, 7rem); }
.k-selector__result-copy > p:not(.k-selector__index):not(.k-selector__result-note) { color: #bbb5c5; font: 400 1.2rem/1.55 var(--serif); }
.k-selector__result-note { border-left: 1px solid rgba(255,181,216,.4); color: #85808f; font-size: .7rem; padding-left: 14px; }
.k-selector__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 20px; margin-top: 26px; }
.k-selector__actions .button { width: auto; }
.k-selector__share-status { color: var(--aqua); font-size: .7rem; min-height: 1.5em; }
@media (max-width: 760px) {
	.k-selector {
		background: linear-gradient(155deg, #121027 0%, #0b0919 58%, #070611 100%);
		border-radius: 22px; min-height: 690px;
	}
	.k-selector__aurora { display: none; }
	.k-selector__top { grid-template-columns: 1fr; }
	.k-selector__choices { grid-template-columns: repeat(2, 1fr); }
	.k-selector__result { grid-template-columns: 1fr; }
	.k-selector__result-visual { margin-inline: auto; max-width: 290px; width: 100%; }
}
@media (max-width: 440px) {
	.k-selector__choices { grid-template-columns: 1fr; }
	.k-selector__choices button { min-height: 98px; }
	.k-selector__choices--color { grid-template-columns: repeat(2, 1fr); }
	.k-selector__choices--color button { min-height: 140px; }
}
@media (prefers-reduced-motion: reduce) { .k-selector * { transition-duration: .01ms !important; } }
