/* Cursor Studio: shared geometry for the real pointer and all previews. */
.footer-cursor-control{position:relative;--cursor-color:#c4b5fd}
.footer-control-btn{display:flex;align-items:center;gap:7px;height:34px;padding:0 10px;border:1px solid #ffffff18;border-radius:9px;background:#ffffff05;color:#aaa;font:600 .67rem var(--font);cursor:pointer}
.footer-control-btn:hover{color:#fff;border-color:#ffffff38}.footer-control-btn small{color:#888;font-size:.58rem}.cursor-mini{font:20px/1 serif;color:var(--cursor-color);filter:drop-shadow(0 0 5px var(--cursor-color))}
.footer-cursor-menu[hidden]{display:none!important}
.foot--signal .footer-cursor-menu,.footer-cursor-menu{position:fixed;z-index:1600;inset:auto;width:350px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:18px;border:1px solid #ffffff21;border-radius:20px;background:rgba(5,5,9,.96);box-shadow:0 22px 80px #000b,inset 0 1px #ffffff0a;backdrop-filter:blur(24px);color:#f0edf8;scrollbar-width:thin;scrollbar-color:#45404f transparent}
.footer-cursor-menu__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.cursor-eyebrow{display:block;font:9px/1.5 monospace;letter-spacing:1.3px;color:var(--cursor-color);margin-bottom:5px}.footer-cursor-menu__head strong{font-size:14px;letter-spacing:-.3px}
.footer-cursor-menu__head>button{flex:none;position:relative;width:34px;height:21px;border:1px solid #ffffff21;border-radius:20px;background:#18171c;cursor:pointer}.footer-cursor-menu__head>button i{position:absolute;top:3px;left:3px;width:13px;height:13px;border-radius:50%;background:#777;transition:transform .2s,background .2s}.is-enabled .footer-cursor-menu__head>button{background:color-mix(in srgb,var(--cursor-color) 20%,#08080b);border-color:color-mix(in srgb,var(--cursor-color) 50%,transparent)}.is-enabled .footer-cursor-menu__head>button i{transform:translateX(13px);background:var(--cursor-color)}
.cursor-stage{position:relative;display:grid;place-items:center;height:110px;overflow:hidden;border:1px solid #ffffff09;border-radius:13px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--cursor-color) 12%,transparent),transparent 68%),#000;margin-bottom:16px}.cursor-stage:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#ffffff22 .7px,transparent .7px);background-size:17px 17px;mask-image:radial-gradient(ellipse,#000,transparent 80%)}.cursor-stage__orbit{position:absolute;width:136px;height:60px;border:1px solid color-mix(in srgb,var(--cursor-color) 18%,transparent);border-radius:50%;transform:rotate(-24deg)}.cursor-stage__star{position:absolute;left:25%;top:27%;color:var(--cursor-color);font-size:12px;animation:yc-twinkle 2.5s ease-in-out infinite}.cursor-stage__star:nth-of-type(3){left:74%;top:40%;font-size:18px;animation-delay:-.8s}.cursor-stage__star:nth-of-type(4){left:63%;top:18%;font-size:8px;animation-delay:-1.4s}.cursor-stage>.cursor-visual{width:34px;height:34px;margin-top:-12px}.cursor-stage__caption{position:absolute;bottom:11px;font-size:10px;color:#9d97aa}
.cursor-section{min-width:0;margin:0 0 14px;padding:0;border:0}.cursor-section legend{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;margin-bottom:9px;font-size:11px;font-weight:600}.cursor-section legend>span{font-size:9px;font-weight:400;color:#77717f}
.footer-cursor-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.footer-cursor-options button{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:12px 2px 9px;border:1px solid #ffffff10;border-radius:10px;background:#ffffff03;color:#aaa4b4;font:500 9px var(--font);cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.footer-cursor-options button:hover{background:#ffffff08;transform:translateY(-2px)}.footer-cursor-options button.is-selected{color:#fff;border-color:color-mix(in srgb,var(--cursor-color) 45%,transparent);background:color-mix(in srgb,var(--cursor-color) 9%,transparent)}
.footer-cursor-colors{display:flex;justify-content:space-between;gap:8px}.footer-cursor-colors button{width:23px;height:23px;flex:none;border:3px solid #08080b;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #ffffff12;cursor:pointer;transition:transform .2s,box-shadow .2s}.footer-cursor-colors button:hover{transform:scale(1.15)}.footer-cursor-colors button.is-selected{box-shadow:0 0 0 1px var(--swatch),0 0 12px color-mix(in srgb,var(--swatch) 25%,transparent)}.cursor-custom-color{position:relative;display:grid;place-items:center;width:23px;height:23px;border:1px dashed #ffffff55;border-radius:50%;color:#ccc;overflow:hidden}.cursor-custom-color input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.cursor-custom-color:focus-within{outline:2px solid var(--cursor-color);outline-offset:3px}
.cursor-hex{display:flex;align-items:center;gap:8px;margin-top:12px;padding:7px 9px;border:1px solid #ffffff12;border-radius:8px;color:#77717f;font:10px monospace}.cursor-hex input{width:76px;min-width:0;border:0;border-radius:3px;padding:2px;background:transparent;color:#ddd6eb;font:11px monospace;text-transform:uppercase;outline:0}.cursor-hex:focus-within{border-color:var(--cursor-color)}.cursor-hex input[aria-invalid=true]{color:#fda4af}.cursor-hex>span:last-child{margin-left:auto;font:9px var(--font)}
.cursor-effects{display:flex;gap:4px;padding:3px;border:1px solid #ffffff10;border-radius:9px;background:#000}.cursor-effects button{flex:1;min-width:0;padding:8px 2px;border:1px solid transparent;border-radius:6px;background:transparent;color:#8e879a;font:500 10px var(--font);cursor:pointer;transition:background .2s,color .2s}.cursor-effects button:hover{color:#fff}.cursor-effects button.is-selected{background:color-mix(in srgb,var(--cursor-color) 13%,#050508);border-color:color-mix(in srgb,var(--cursor-color) 20%,transparent);color:var(--cursor-color)}.cursor-studio-note{margin:2px 0 0;color:#77717f;font-size:9px;line-height:1.8}.footer-cursor-menu button:focus-visible{outline:2px solid var(--cursor-color);outline-offset:3px}
.cursor-visual{position:relative;display:block;flex:none;width:26px;height:26px;color:var(--cursor-color,#c4b5fd);filter:drop-shadow(0 0 3px color-mix(in srgb,currentColor 40%,transparent))}.cursor-visual i{position:absolute;pointer-events:none;font-style:normal}.yc-main{inset:3px;transition:transform .18s}.yc-core{top:50%;left:50%;width:3px;height:3px;background:currentColor;border-radius:50%;transform:translate(-50%,-50%)}.yc-halo{inset:-5px;border:1px solid currentColor;border-radius:50%;opacity:0;transition:opacity .2s,transform .2s}
.cursor-visual[data-mode=spark] .yc-main,.cursor-visual[data-mode=comet] .yc-main{background:currentColor;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}
.cursor-visual[data-mode=nova] .yc-main{background:currentColor;clip-path:polygon(50% 0,57% 32%,85% 15%,68% 43%,100% 50%,68% 57%,85% 85%,57% 68%,50% 100%,43% 68%,15% 85%,32% 57%,0 50%,32% 43%,15% 15%,43% 32%)}
.cursor-visual[data-mode=nova] .yc-sweep{inset:-1px;border:1px solid currentColor;border-radius:50%;opacity:.3;animation:yc-breathe 2s ease-in-out infinite}
.cursor-visual[data-mode=comet] .yc-main{transform:rotate(20deg)}.cursor-visual[data-mode=comet] .yc-sweep{top:50%;right:50%;width:28px;height:3px;background:linear-gradient(90deg,transparent,currentColor);transform:rotate(-35deg);transform-origin:right center;opacity:.65;border-radius:50%}
.cursor-visual[data-mode=prism] .yc-main{inset:4px;border:1px solid currentColor;transform:rotate(45deg);background:linear-gradient(135deg,transparent,color-mix(in srgb,currentColor 20%,transparent))}.cursor-visual[data-mode=prism] .yc-sweep{inset:8px;border:1px solid currentColor;transform:rotate(45deg);opacity:.4}
.cursor-visual[data-mode=crosshair] .yc-main{border:1px solid currentColor;border-radius:50%;transform:rotate(-35deg) scaleX(1.25) scaleY(.7)}.cursor-visual[data-mode=crosshair] .yc-sweep{inset:0;border:1px solid currentColor;border-radius:50%;opacity:.35;transform:rotate(35deg) scaleX(1.2) scaleY(.7)}
.cursor-visual[data-mode=focus] .yc-main{inset:1px;background:linear-gradient(currentColor,currentColor) left top/7px 1px,linear-gradient(currentColor,currentColor) left top/1px 7px,linear-gradient(currentColor,currentColor) right top/7px 1px,linear-gradient(currentColor,currentColor) right top/1px 7px,linear-gradient(currentColor,currentColor) left bottom/7px 1px,linear-gradient(currentColor,currentColor) left bottom/1px 7px,linear-gradient(currentColor,currentColor) right bottom/7px 1px,linear-gradient(currentColor,currentColor) right bottom/1px 7px;background-repeat:no-repeat}
.cursor-visual[data-mode=radar] .yc-main{border:1px solid currentColor;border-radius:50%;opacity:.8}.cursor-visual[data-mode=radar] .yc-sweep{inset:4px;border-radius:50%;background:conic-gradient(currentColor,transparent 30%);opacity:.6;mask:radial-gradient(transparent 35%,#000 40%);animation:yc-spin 2s linear infinite}
.cursor-visual[data-mode=code] .yc-main:after{content:'</>';position:absolute;inset:0;display:grid;place-items:center;font:700 12px monospace}.cursor-visual[data-mode=code] .yc-core{display:none}
.yuten-cursor{position:fixed;z-index:2147483000;left:0;top:0;width:30px;height:30px;margin:0;pointer-events:none;opacity:0;will-change:transform;transition:opacity .12s}.yuten-cursor.is-visible{opacity:1}.yuten-cursor.is-hover .yc-halo{opacity:.35;transform:scale(1.12)}.yuten-cursor.is-down .yc-halo{opacity:.65;transform:scale(.8)}.yuten-cursor.is-down .yc-main{scale:.75}.yuten-cursor[data-mode=spark] .yc-main{animation:yc-breathe 2s ease-in-out infinite}
@media(pointer:fine){html.yuten-cursor-on,html.yuten-cursor-on *{cursor:none!important}}
.yc-particle{position:fixed;left:0;top:0;z-index:2147482999;pointer-events:none;width:var(--ps,7px);height:var(--ps,7px);color:var(--pc);background:currentColor;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);animation:yc-fade var(--life,650ms) ease-out forwards;will-change:transform,opacity;filter:drop-shadow(0 0 2px currentColor)}.yc-particle[data-kind=dot]{clip-path:none;border-radius:50%}.yc-particle[data-kind=ring]{clip-path:none;background:transparent;border:1px solid currentColor;border-radius:50%;filter:none}.yc-particle[data-kind=shard]{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.yc-particle[data-kind=code]{clip-path:none;background:transparent;width:auto;height:auto;font:9px monospace}
@keyframes yc-fade{from{opacity:.85;transform:translate3d(var(--px),var(--py),0) rotate(0)}to{opacity:0;transform:translate3d(calc(var(--px) + var(--dx)),calc(var(--py) + var(--dy)),0) rotate(var(--turn,100deg)) scale(.15)}}@keyframes yc-spin{to{transform:rotate(360deg)}}@keyframes yc-breathe{50%{opacity:.65;scale:.8}}@keyframes yc-twinkle{50%{opacity:.3;transform:scale(.6) rotate(45deg)}}
@media(hover:none),(pointer:coarse){.footer-cursor-control,.yuten-cursor,.yc-particle{display:none!important}}
@media(prefers-reduced-motion:reduce){.cursor-visual *,.cursor-stage__star{animation:none!important;transition:none!important}.yc-particle{display:none}.footer-cursor-menu *{transition:none!important}}
