.ux-scroll-progress{
position:fixed;
top:0;
left:0;
right:0;
height:3px;
z-index:3000;
background:linear-gradient(90deg,var(--gold,#f4b400),var(--green,#1f7a5a),var(--blue,#013893));
transform:scaleX(0);
transform-origin:left center;
pointer-events:none;
}

.ux-back-to-top{
position:fixed;
right:18px;
bottom:104px;
width:46px;
height:46px;
z-index:2500;
display:grid;
place-items:center;
border:0;
border-radius:50%;
background:var(--blue,#013893);
color:#fff;
box-shadow:0 14px 34px rgba(13,34,64,0.22);
cursor:pointer;
opacity:0;
visibility:hidden;
transform:translateY(10px);
transition:opacity 0.2s ease,transform 0.2s ease,visibility 0.2s ease,background 0.2s ease;
}

body.ux-has-floating-socials .ux-back-to-top{
right:28px;
bottom:294px;
}

.ux-back-to-top::before{
content:"";
width:12px;
height:12px;
border-top:3px solid currentColor;
border-left:3px solid currentColor;
transform:translateY(4px) rotate(45deg);
}

.ux-back-to-top:hover,
.ux-back-to-top:focus-visible{
background:var(--blue-dark,#062b63);
outline:3px solid rgba(244,180,0,0.45);
outline-offset:3px;
}

body.ux-show-top .ux-back-to-top{
opacity:1;
visibility:visible;
transform:translateY(0);
}

.ux-network-status{
position:fixed;
right:18px;
bottom:160px;
z-index:2500;
max-width:min(280px,calc(100vw - 36px));
padding:10px 14px;
border-radius:8px;
background:var(--blue-dark,#062b63);
color:#fff;
font-size:14px;
font-weight:800;
box-shadow:0 14px 34px rgba(13,34,64,0.18);
opacity:0;
visibility:hidden;
transform:translateY(8px);
transition:opacity 0.2s ease,transform 0.2s ease,visibility 0.2s ease;
}

.ux-network-status.is-visible{
opacity:1;
visibility:visible;
transform:translateY(0);
}

.ux-form-status{
min-height:20px;
margin-top:8px;
font-size:13px;
line-height:1.45;
color:var(--muted,#5f6b7a);
}

.ux-form-status.is-active{
color:var(--green,#1f7a5a);
font-weight:800;
}

.ux-form-status.is-working{
color:var(--blue,#013893);
font-weight:800;
}

.ux-custom-select-field{
position:relative;
}

.ux-custom-select-field > select{
position:absolute;
width:1px;
height:1px;
margin:0;
border:0;
padding:0;
opacity:0;
pointer-events:none;
clip:rect(0 0 0 0);
clip-path:inset(50%);
}

.ux-package-select{
position:relative;
width:100%;
}

.ux-package-select-button{
position:relative;
width:100%;
min-height:48px;
border:1px solid var(--line,#d8e0ea);
border-radius:8px;
padding:13px 44px 13px 14px;
background:var(--white,#fff);
color:var(--ink,#182230);
font-size:15px;
line-height:1.35;
font-weight:700;
text-align:left;
white-space:normal;
cursor:pointer;
}

.ux-package-select-button::after{
content:"";
position:absolute;
right:16px;
top:50%;
width:9px;
height:9px;
border-right:2px solid currentColor;
border-bottom:2px solid currentColor;
transform:translateY(-65%) rotate(45deg);
transition:transform 0.18s ease;
}

.ux-package-select.is-open .ux-package-select-button::after{
transform:translateY(-25%) rotate(225deg);
}

.ux-package-select-button:focus-visible{
outline:2px solid rgba(1,56,147,0.25);
border-color:var(--blue,#013893);
}

.ux-package-select-button.is-placeholder{
color:var(--muted,#5f6b7a);
font-weight:600;
}

.ux-package-select-button[aria-invalid="true"]{
border-color:#b42318;
outline:2px solid rgba(180,35,24,0.18);
}

.ux-package-select-menu{
position:absolute;
left:0;
right:0;
top:calc(100% + 8px);
z-index:2600;
display:none;
max-height:min(360px,48svh);
overflow:auto;
overscroll-behavior:contain;
border:1px solid var(--line,#d8e0ea);
border-radius:8px;
background:var(--white,#fff);
box-shadow:0 18px 44px rgba(13,34,64,0.18);
padding:8px;
}

.ux-package-select.is-open .ux-package-select-menu{
display:block;
}

.ux-package-select-group + .ux-package-select-group{
margin-top:8px;
padding-top:8px;
border-top:1px solid var(--line,#d8e0ea);
}

.ux-package-select-group-title{
padding:7px 9px 5px;
font-size:12px;
font-weight:900;
line-height:1.3;
letter-spacing:0;
text-transform:uppercase;
color:var(--blue-dark,#062b63);
background:var(--sky,#eaf3ff);
border-radius:6px;
}

.ux-package-select-option{
position:relative;
display:flex;
align-items:flex-start;
gap:9px;
width:100%;
border:0;
border-radius:7px;
padding:10px 9px;
background:transparent;
color:var(--ink,#182230);
font-size:14px;
line-height:1.35;
font-weight:700;
letter-spacing:0;
text-align:left;
cursor:pointer;
}

.ux-package-select-option::before{
content:"";
flex:0 0 18px;
width:18px;
height:18px;
margin-top:1px;
border:2px solid #c7d2e0;
border-radius:5px;
background:var(--white,#fff);
box-sizing:border-box;
}

.ux-package-select-option::after{
content:"";
position:absolute;
left:15px;
top:13px;
width:5px;
height:9px;
border-right:2px solid var(--white,#fff);
border-bottom:2px solid var(--white,#fff);
opacity:0;
transform:rotate(45deg);
}

.ux-package-select-option:hover,
.ux-package-select-option:focus-visible,
.ux-package-select-option[aria-selected="true"]{
background:var(--soft-green,#eef7f3);
color:var(--blue,#013893);
outline:none;
}

.ux-package-select-option[aria-selected="true"]::before{
background:var(--blue,#013893);
border-color:var(--blue,#013893);
}

.ux-package-select-option[aria-selected="true"]::after{
opacity:1;
}

form.ux-submitting button[type="submit"]{
filter:saturate(0.9);
}

.is-checking-download{
opacity:0.72;
}

.ux-download-status{
flex:1 0 100%;
margin:8px 0 0;
font-size:13px;
line-height:1.45;
font-weight:800;
color:var(--muted,#5f6b7a);
}

.ux-download-status.is-error{
color:#b42318;
}

img.ux-lazy-image{
opacity:0;
transition:opacity 0.24s ease;
}

img.ux-lazy-image.ux-image-ready{
opacity:1;
}

.site-header a.is-current,
.main-nav a.is-current,
.nav-package-links a.is-current{
color:var(--blue,#013893);
}

.nav-package-links a.is-current{
background:var(--sky,#eaf3ff);
}

.site-header a[aria-current="page"],
.main-nav a[aria-current="page"]{
text-decoration:underline;
text-decoration-thickness:2px;
text-underline-offset:6px;
}

@media(max-width:768px){
.ux-back-to-top{
right:14px;
bottom:128px;
width:44px;
height:44px;
}

body.ux-has-floating-socials .ux-back-to-top{
right:28px;
bottom:294px;
}

.ux-network-status{
right:14px;
bottom:184px;
}

.ux-package-select-menu{
max-height:min(330px,52svh);
}
}

@media(prefers-reduced-motion:reduce){
.ux-scroll-progress,
.ux-back-to-top,
.ux-network-status,
img.ux-lazy-image{
transition:none;
}
}
