.ch-board{--rx: calc(50deg - var(--py, 0) * 5deg);--rz: calc(-12deg + var(--px, 0) * 8deg);top:52%;width:86cqmin;height:86cqmin;margin:-43cqmin 0 0 -43cqmin}.ch-paper{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:1.6cqmin;background:linear-gradient(to right,hsl(var(--glow) / .12) 1px,transparent 1px) 0 0 / 12.5% 12.5%,linear-gradient(to bottom,hsl(var(--glow) / .12) 1px,transparent 1px) 0 0 / 12.5% 12.5%,linear-gradient(160deg,#0f2a49,#081a30);box-shadow:0 0 0 1px hsl(var(--glow) / .3),inset 0 0 0 1.2cqmin #040e1c99,inset 0 0 0 calc(1.2cqmin + 1px) hsl(var(--glow) / .25)}.ch-depth{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:1.6cqmin;background:repeating-radial-gradient(ellipse 60% 48% at 12% 44%,transparent 0 4.2%,hsl(196 90% 60% / .13) 4.2% 4.6%);-webkit-mask-image:radial-gradient(ellipse 52% 46% at 14% 44%,#000 40%,transparent 75%);mask-image:radial-gradient(ellipse 52% 46% at 14% 44%,#000 40%,transparent 75%)}.ch-coast{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;filter:sepia(1) saturate(2.4) hue-rotate(-14deg) brightness(1.15);opacity:.9}.ch-course{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.ch-course path{fill:none;stroke:hsl(var(--glow) / .75);stroke-width:.7;stroke-dasharray:2.4 2}.ch-ship{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;animation:ch-sail 16s var(--ease-in-out) infinite}.ch-ship:before{content:"";position:absolute;left:0;top:0;width:2.2cqmin;height:2.2cqmin;border-radius:9999px;background:radial-gradient(closest-side,#fff,hsl(var(--glow)) 50%,transparent)}@keyframes ch-sail{0%{transform:translate(50.6%,5.4%);opacity:0}6%{opacity:1}25%{transform:translate(40%,9.6%)}50%{transform:translate(31.4%,17.6%)}75%{transform:translate(25.4%,29.4%)}94%{opacity:1}to{transform:translate(22.1%,40.4%);opacity:0}}.ch-rose{position:absolute;right:5%;bottom:5%;width:26%;aspect-ratio:1}.ch-rose>svg{width:100%;height:100%;fill:none;stroke:hsl(var(--glow) / .55);stroke-width:.6}.ch-rose .ch-rose-fill{fill:hsl(var(--glow) / .22)}.ch-pin{width:30cqmin;height:12cqmin;margin:-12cqmin 0 0 -15cqmin;pointer-events:none}.ch-pin:before{content:"";position:absolute;left:calc(50% - .5px);bottom:0;width:1px;height:7cqmin;background:linear-gradient(to top,hsl(var(--glow)),hsl(var(--glow) / 0))}.ch-pin:after{content:"";position:absolute;left:calc(50% - 1.1cqmin);bottom:-1.1cqmin;width:2.2cqmin;height:2.2cqmin;border-radius:9999px;background:radial-gradient(closest-side,#fff,hsl(var(--glow)) 45%,transparent)}.ch-pin[data-home]:after{background:radial-gradient(closest-side,#fff,hsl(var(--ember)) 40%,transparent)}.ch-label{position:absolute;left:50%;top:0;transform:translate(-50%);white-space:nowrap;padding:.35em .65em;border-radius:.3em;background:#061222e0;border:1px solid hsl(var(--glow) / .35);color:#fff4de;font:500 clamp(8px,2.1cqmin,11px) / 1 "JetBrains Mono","JetBrains Mono Fallback",ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase}.ch-pin[data-home] .ch-label{border-color:hsl(var(--ember) / .7);color:#fff}.ch-compass{position:absolute;right:6%;top:6%;width:17cqmin;aspect-ratio:1;border-radius:9999px;border:1px solid hsl(var(--glow) / .45);background:repeating-conic-gradient(from -1deg,hsl(var(--glow) / .5) 0deg 2deg,transparent 2deg 30deg),radial-gradient(closest-side,rgb(6 18 34 / .95) 82%,transparent 83%)}.ch-needle{position:absolute;left:50%;top:12%;bottom:12%;width:2.4cqmin;margin-left:-1.2cqmin;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:linear-gradient(180deg,hsl(var(--ember)) 50%,#e6ecf5 50%);transform:rotate(calc(atan2(calc(var(--py, 0) + .55),calc(var(--px, 0) - .82)) + 90deg));transition:transform .9s cubic-bezier(.25,1.6,.4,1)}.ch-n{position:absolute;left:50%;top:-2.6cqmin;transform:translate(-50%);font:600 clamp(9px,2.2cqmin,11px) / 1 "JetBrains Mono","JetBrains Mono Fallback",ui-monospace,monospace;color:hsl(var(--glow))}.ch-coords{position:absolute;left:6%;bottom:5%;font:500 clamp(10px,2.3cqmin,12px) / 1 "JetBrains Mono","JetBrains Mono Fallback",ui-monospace,monospace;letter-spacing:.1em;color:#fff9}.ch-coords>span{margin-left:.8em;color:hsl(var(--glow));letter-spacing:.18em;text-transform:uppercase}
