:root{--brand-default-cursor:url('/images/byplus/cursor-arrow-ink.svg?v=58') 4 4,auto}
:root[data-cursor-tone="dark"]{--brand-default-cursor:url('/images/byplus/cursor-arrow.svg?v=58') 4 4,auto}
/* The arrow stays native and pixel-accurate; only the halo follows softly. */
.brand-cursor-halo{position:fixed;left:0;top:0;width:0;height:0;pointer-events:none!important;z-index:2147483646;opacity:0;transition:opacity .16s;contain:layout style}
.brand-cursor-halo.is-visible{opacity:1}
.brand-cursor-halo__ring{position:absolute;left:0;top:0;width:26px;height:26px;transform:translate(-50%,-50%);border:1px solid #9fb39c4d;border-radius:50%;background:transparent;transition:width .32s cubic-bezier(.2,.8,.2,1),height .32s cubic-bezier(.2,.8,.2,1),border-color .25s,scale .2s;pointer-events:none!important}
.brand-cursor-halo__ring:before{content:'';position:absolute;inset:-1px;border-radius:50%;border:1px solid transparent;border-top-color:#e2e9d6b3;transform:rotate(-35deg);pointer-events:none}
.brand-cursor-halo[data-state="link"] .brand-cursor-halo__ring{width:40px;height:40px;border-color:#c8d6b780}
.brand-cursor-halo[data-state="view"] .brand-cursor-halo__ring{width:50px;height:50px;border-color:#c8d6b780}
.brand-cursor-halo[data-state="drag"] .brand-cursor-halo__ring{width:48px;height:48px;border-color:#c8d6b780}
.brand-cursor-halo.is-pressed .brand-cursor-halo__ring{scale:.76}
@media(hover:hover) and (pointer:fine){html.brand-cursor-enabled,html.brand-cursor-enabled body,html.brand-cursor-enabled :where(a,button,summary,[role="button"],label,select,input[type="checkbox"],input[type="radio"]){cursor:var(--brand-default-cursor)}html.brand-cursor-enabled :where(a,button,summary,[role="button"],input[type="checkbox"],input[type="radio"]){cursor:url('/images/byplus/cursor-link.svg?v=52') 12 12,pointer}html.brand-cursor-enabled [data-project]{cursor:url('/images/byplus/cursor-view.svg?v=52') 14 14,zoom-in}html.brand-cursor-enabled :is(#compare-handle,input[type="range"]),html.brand-cursor-enabled.brand-cursor-dragging,html.brand-cursor-enabled.brand-cursor-dragging *{cursor:url('/images/byplus/cursor-drag.svg?v=52') 16 16,ew-resize}html.brand-cursor-enabled :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]),textarea,[contenteditable="true"]){cursor:text}html.brand-cursor-enabled :is(button:disabled,input:disabled,select:disabled,textarea:disabled,[aria-disabled="true"]){cursor:not-allowed}}
@media(prefers-reduced-motion:reduce){.brand-cursor-halo,.brand-cursor-halo__ring{transition:none}}
@media(hover:none),(pointer:coarse){.brand-cursor-halo{display:none}}

/* Orbit and contact ripples: a quiet surface, then two expanding waves. */
.brand-cursor-halo__ring:after{display:none}
.brand-cursor-halo__orbit{position:absolute;inset:-.5px;border-radius:50%;animation:brand-cursor-orbit 17.6s linear infinite;pointer-events:none}
.brand-cursor-halo__orbit:after{content:'';position:absolute;left:calc(50% - 1.5px);top:-1.5px;width:3px;height:3px;background:#e5f0eb;border:1px solid #a6b69b66;border-radius:50%;box-shadow:0 0 7px #d9e0c940}

.brand-cursor-halo:not(.is-visible) .brand-cursor-halo__orbit,body.motion-paused .brand-cursor-halo__orbit{animation-play-state:paused}
.brand-cursor-ripples{position:fixed;inset:0;z-index:2147483645;pointer-events:none!important;overflow:hidden}
.brand-cursor-ripple{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none!important}
.brand-cursor-ripple>i{position:absolute;left:0;top:0;width:var(--ripple-size,32px);height:var(--ripple-size,32px);border:1px solid #d2dbc5a6;border-radius:50%;box-shadow:0 0 0 1px #42613c33;animation:brand-cursor-wave 850ms cubic-bezier(.12,.55,.25,1) both;pointer-events:none!important}
.brand-cursor-ripple>i+i{animation-delay:130ms;border-color:#a6b69b80}
.brand-cursor-ripple.is-press>i{animation-duration:1050ms;border-color:#edf0e5b3;box-shadow:0 0 10px #c4dfa01a,0 0 0 1px #42613c44}
@keyframes brand-cursor-orbit{to{transform:rotate(360deg)}}
@keyframes brand-cursor-wave{0%{transform:translate(-50%,-50%) scale(.65);opacity:0}10%{opacity:.65}100%{transform:translate(-50%,-50%) scale(2.15);opacity:0}}
body{-webkit-user-select:none;user-select:none}
body img{-webkit-user-drag:none;user-select:none}
body :is(input,textarea,[contenteditable="true"],[contenteditable="true"] *){-webkit-user-select:text;user-select:text}
body.motion-paused .brand-cursor-ripples{display:none}
@media(prefers-reduced-motion:reduce){.brand-cursor-halo__orbit{animation:none}.brand-cursor-ripples{display:none}}
@media(hover:none),(pointer:coarse){.brand-cursor-ripples{display:none}}

body.motion-paused :is(.brand-cursor-halo,.brand-cursor-halo__ring){transition:none}

/* On light surfaces use one ink line, not a white line inside a dark outline. */
:root:not([data-cursor-tone="dark"]) .brand-cursor-halo__ring{border-color:#52715e45}
:root:not([data-cursor-tone="dark"]) .brand-cursor-halo__ring:before{border-top-color:#355b48a6}
