@font-face{font-family:LoadingJakarta;src:url('/assets/fonts/PlusJakartaSans-VariableFont_wght.ttf') format('truetype');font-weight:200 800;font-display:swap}
.service-loading{--loading-accent:var(--accent,#0d76f3);box-sizing:border-box;width:min(420px,calc(100vw - 40px));max-height:calc(100dvh - 40px);padding:36px 30px 26px;margin:auto;border:1px solid #dce6f2;border-radius:28px;background:radial-gradient(ellipse at 50% 0%,#eaf3ff,transparent 65%),#fff;color:#142b4d;box-shadow:0 28px 100px #102c6226;text-align:center;font:14px/1.6 LoadingJakarta,sans-serif;overflow:auto}
.service-loading:not([open]){display:none}
.service-loading::backdrop{background:rgba(229,236,247,.72);backdrop-filter:blur(7px)}
.service-loading[open]{animation:loading-enter .24s ease-out}
.service-loading__visual{position:relative;display:grid;place-items:center;width:104px;height:104px;margin:0 auto 25px;border-radius:50%;background:color-mix(in srgb,var(--loading-accent) 7%,white)}
.service-loading__visual::before,.service-loading__visual::after{content:"";position:absolute;inset:0;border:1px solid color-mix(in srgb,var(--loading-accent) 22%,transparent);border-radius:50%;animation:loading-breathe 2.8s ease-in-out infinite}
.service-loading__visual::after{inset:12px;animation-delay:-1.4s}
.service-loading__visual svg{width:64px;height:42px;overflow:visible;color:var(--loading-accent)}
.service-loading__trace{stroke-dasharray:100;animation:loading-trace 2.4s ease-in-out infinite}
.service-loading__eyebrow{display:block;margin-bottom:9px;font-size:10px;font-weight:750;letter-spacing:.18em;text-transform:uppercase;color:var(--loading-accent)}
.service-loading .service-loading__title{margin:0 0 9px;font:700 23px/1.3 LoadingJakarta,sans-serif;letter-spacing:-.035em;color:#142b4d}
.service-loading .service-loading__detail{margin:0;color:#62718a;font-size:13px;line-height:1.7;min-height:44px}
.service-loading__track{height:3px;margin:25px 12px 20px;overflow:hidden;border-radius:9px;background:#e8eef7}
.service-loading__track::after{content:"";display:block;width:40%;height:100%;border-radius:inherit;background:linear-gradient(90deg,transparent,var(--loading-accent),#77bbf6);animation:loading-travel 1.8s ease-in-out infinite}
.service-loading .service-loading__dismiss{border:0;background:transparent;color:#62718a;padding:8px 14px;border-radius:9px;font:550 12px LoadingJakarta,sans-serif;cursor:pointer}
.service-loading__dismiss:hover{background:#eef4fb;color:#142b4d}
.service-loading__dismiss:focus-visible{outline:2px solid var(--loading-accent);outline-offset:3px}
[data-service-busy]{cursor:progress!important}
#examLoadStatus.is-loading{display:flex;align-items:center;gap:10px;color:#0c60b9}
#examLoadStatus.is-loading::before{content:"";flex:none;width:14px;height:14px;border:2px solid #cfe2f8;border-top-color:#0d76f3;border-radius:50%;animation:loading-spin 1s linear infinite}
@keyframes loading-enter{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes loading-breathe{50%{transform:scale(1.12);opacity:.35}}
@keyframes loading-trace{0%{stroke-dashoffset:100;opacity:.3}45%,70%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:-100;opacity:.3}}
@keyframes loading-travel{from{transform:translateX(-110%)}to{transform:translateX(360%)}}
@keyframes loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.service-loading[open],.service-loading__visual::before,.service-loading__visual::after,.service-loading__trace,.service-loading__track::after,#examLoadStatus.is-loading::before{animation:none}.service-loading__track::after{width:100%;opacity:.5}}
@media(max-width:480px){.service-loading{padding:30px 23px 22px}.service-loading .service-loading__title{font-size:21px}}
@media print{.service-loading,.service-loading::backdrop{display:none!important}}
