/* Homepage celestial playground: native CSS depth, no rendering dependency. */
.hero-visual.cosmic-visual{min-width:0;isolation:isolate}
.cosmic{position:relative;overflow:hidden;border:1px solid #716092;border-radius:32px;background:radial-gradient(ellipse at 50% 43%,#653e8b 0%,#291b51 38%,#100d25 76%);color:#fff0cf;padding:22px 16px 20px;text-align:center;box-shadow:inset 0 0 70px #05031388,0 24px 70px #0003}
.cosmic:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;background-image:radial-gradient(circle,#ffe4a7 1px,transparent 1.8px),radial-gradient(circle,#e5cdfb 1px,transparent 2px);background-size:67px 73px,109px 127px;background-position:13px 22px,39px 57px}
.cosmic-header,.cosmic-footer{position:relative;z-index:3}
.cosmic-kicker{font:12px 'Kanit',sans-serif;letter-spacing:3px;color:#d9b982}
.cosmic h2{font-size:24px;font-weight:500;margin:5px 0 0;color:#fff0d6}
.cosmic-stage{position:relative;max-width:390px;margin:0 auto;aspect-ratio:1;perspective:850px;touch-action:pan-y;user-select:none}
.cosmic-depth{position:absolute;inset:8%;transform:rotateX(var(--tilt-x,15deg)) rotateY(var(--tilt-y,-8deg));transform-style:preserve-3d;transition:transform .35s ease}
.cosmic-wheel{position:absolute;inset:0;border-radius:50%;border:2px solid #e4c189;background:repeating-conic-gradient(from -15deg,transparent 0deg 29.7deg,#d7a95e88 29.7deg 30deg),radial-gradient(circle,transparent 49%,#af78ce28 50%,#d5b06622 68%,transparent 69%);box-shadow:0 0 0 7px #c8a16d15,0 0 0 8px #a67d4a88,0 10px 0 #5c3b67,0 12px 0 #bc94577a,0 24px 35px #0009,inset 0 0 35px #f3bb5c22;transform:rotate(var(--turn,0deg));transition:transform .7s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d}
.cosmic-wheel:before{content:"";position:absolute;inset:24%;border:1px solid #e4c18999;border-radius:50%;box-shadow:0 0 0 7px #e4c18913,0 0 0 8px #e4c18966}
.cosmic-sign{position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px;border:0;border-radius:50%;background:transparent;color:#f5d99c;font:28px 'Segoe UI Symbol',sans-serif;display:grid;place-items:center;transform:translate(var(--sx),var(--sy)) rotate(var(--counter,0deg));transition:background .2s,color .2s,transform .7s cubic-bezier(.2,.8,.2,1);cursor:pointer;-webkit-tap-highlight-color:transparent}
.cosmic-sign[aria-pressed=true]{background:linear-gradient(135deg,#fff0bb,#d7a258);color:#3c2051;box-shadow:0 0 24px #e9b76088}
.cosmic-sign:focus-visible,.cosmic button:focus-visible,.cosmic a:focus-visible{outline:2px solid #fff;outline-offset:4px}
.cosmic-core{position:absolute;inset:32%;border-radius:50%;display:grid;place-content:center;background:radial-gradient(circle at 35% 25%,#fff5ec,#dfb4eb 13%,#9664c6 40%,#442367 72%);box-shadow:inset -8px -12px 20px #190f4488,inset 3px 4px 10px #fff9,0 0 35px #d791e077;transform:translateZ(35px);pointer-events:none}
.cosmic-core b{font:38px 'Segoe UI Symbol',sans-serif;color:#fff7d9;text-shadow:0 2px 10px #361146}
.cosmic-orbit{position:absolute;inset:6%;border:1px solid #e4c18944;border-radius:50%;transform:rotate(-25deg) rotateX(63deg);pointer-events:none}
.cosmic-planet{position:absolute;width:48px;height:48px;top:14%;right:0;border-radius:50%;background:radial-gradient(circle at 30% 25%,#ffefc9,#dc9daf 44%,#855090 77%);box-shadow:inset -6px -6px 12px #59345f66,0 12px 20px #08051a66;animation:cosmic-float 7s ease-in-out infinite;pointer-events:none;z-index:2}
.cosmic-planet:after{content:"";position:absolute;inset:14px -14px;border:5px solid #e8baccaa;border-top-color:#e8bacc44;border-radius:50%;transform:rotate(-25deg)}
.cosmic-planet.small{width:30px;height:30px;top:auto;right:auto;left:0;bottom:16%;background:radial-gradient(circle at 30% 25%,#d3ffed,#8abcc7 45%,#46618f 80%);animation-delay:-3s}
.cosmic-planet.small:after{inset:9px -10px;border-width:3px;border-color:#b8dcdaaa}
.cosmic .cosmic-hint{font-size:12px;color:#ccbedc;margin:0 0 10px;max-width:none}
.cosmic-selection{display:flex;justify-content:center;align-items:center;gap:18px;margin-bottom:12px}
.cosmic-arrow,.cosmic-motion{border:1px solid #c5a9dc44;background:#211632;color:#eddbf8;cursor:pointer}
.cosmic-arrow{width:44px;height:44px;border-radius:50%;font-size:24px}
.cosmic-chosen{min-width:105px;font:21px 'Kanit',sans-serif;color:#ffe4a5}
.cosmic-link{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:9px 26px;border-radius:99px;background:linear-gradient(120deg,#f9e3a9,#d7b273);color:#30203b!important;font:500 15px 'Kanit',sans-serif;text-decoration:none!important;box-shadow:0 5px 24px #dcae5b22}
.cosmic-motion{position:absolute;right:12px;top:12px;width:44px;height:44px;border-radius:50%;font-size:15px;z-index:4}
.cosmic[data-paused=true] *, .cosmic[data-offscreen=true] *{animation-play-state:paused!important}
.cosmic-visual .god-walk{display:none!important}
@keyframes cosmic-float{50%{transform:translateY(-12px) rotate(8deg)}}
@media(min-width:901px){.cosmic{padding-top:28px;padding-bottom:24px}.cosmic-stage{width:100%}}
@media(max-width:520px){.cosmic{border-radius:26px;padding:18px 10px}.cosmic h2{font-size:21px}.cosmic-stage{max-width:330px}.cosmic-depth{inset:6%;--tilt-x:10deg;--tilt-y:-5deg}.cosmic-sign{font-size:24px}.cosmic-kicker{font-size:10px;letter-spacing:2px}.cosmic-motion{right:8px;top:8px}.cosmic-core b{font-size:32px}}
@media(prefers-reduced-motion:reduce){.cosmic *{animation:none!important;transition:none!important}.cosmic-depth{transform:none}}
.cosmic{scroll-margin-top:80px}
.cosmic-help{display:flex;align-items:center;justify-content:center;min-height:44px;color:#d9c8e9!important;font-size:12px;text-underline-offset:3px}
@media(max-width:520px){
  .cosmic{padding:14px 10px 6px}
  .cosmic-header{padding:0 40px 0 0;min-height:44px;display:flex;align-items:center;justify-content:center}
  .cosmic-kicker{display:none}
  .cosmic h2{font-size:18px;line-height:1.4;margin:0}
  .cosmic-stage{max-width:260px}
  .cosmic-selection{margin-bottom:6px;gap:14px}
  .cosmic .cosmic-hint{margin-bottom:4px;font-size:11px}
  .cosmic-chosen{font-size:19px}
  body.cosmic-controls-visible .line-fab{visibility:hidden;pointer-events:none}
}
