@font-face{font-family:Proxima;src:url("assets/fonts/proxima-nova-400.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Proxima;src:url("assets/fonts/proxima-nova-600.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
:root{color-scheme:dark;font-family:Proxima,Arial,Helvetica,sans-serif;background:#061326;color:#f0f5ff}
*{box-sizing:border-box}html,body{margin:0;min-width:240px;min-height:100%;-webkit-text-size-adjust:100%}body{background:#061326;-webkit-font-smoothing:antialiased;isolation:isolate}
.page{min-height:100vh;min-height:100dvh;width:100%;display:grid;place-items:center;padding:20px;position:relative;z-index:1}
.ambient{--backdrop-lift:clamp(36px,6vh,60px);position:fixed;inset:0;pointer-events:none;overflow:hidden;background:#070d17}.backdrop-image{position:absolute;top:calc(-4px - var(--backdrop-lift));left:-4px;width:calc(100% + 8px);height:calc(100% + 8px + var(--backdrop-lift));object-fit:cover;object-position:center;filter:blur(3.5px) brightness(.7) saturate(1.05)}.ambient:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#02071212,transparent 40%,#02071226)}
.access{--card-radius:14px;--ring-width:3px;display:flex;align-items:center;width:min(100%,360px);min-height:96px;gap:14px;padding:17px 18px;text-decoration:none;color:#17202b;background:#6487ff;border:0;border-radius:var(--card-radius);box-shadow:0 0 0 1px #c0dfff55,0 0 14px #3c9bff66,0 0 34px #7561ff44,0 18px 50px #0008;position:relative;isolation:isolate;overflow:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:box-shadow .22s,transform .22s}
.access::before{content:"";position:absolute;z-index:-2;left:50%;top:50%;width:450px;height:450px;pointer-events:none;background:conic-gradient(from 0deg,#5274ff 0deg,#5ed8ff 65deg,#ddfbff 94deg,#5791ff 130deg,#7461ff 210deg,#b398ff 245deg,#4aa9ff 310deg,#5274ff 360deg);transform:translate(-50%,-50%) rotate(0deg);animation:neon-orbit 3s linear infinite}
.access::after{content:"";position:absolute;z-index:-1;inset:var(--ring-width);border-radius:calc(var(--card-radius) - var(--ring-width));background:linear-gradient(135deg,#fff,#f5f7fa);pointer-events:none}
.access:hover{box-shadow:0 0 0 1px #c0dfff77,0 0 18px #3c9bff77,0 0 40px #7561ff55,0 18px 50px #0008}.access:hover::after{background:linear-gradient(135deg,#fff,#eef3f8)}.access:active{transform:scale(.993)}.access:focus-visible{outline:2px solid #a6dcff;outline-offset:6px}
.check-area{display:grid;place-items:center;flex:0 0 36px;height:36px;position:relative}.checkbox{position:absolute;inset:3px;background:#fff;border:1.5px solid #8190a0;border-radius:4px;box-shadow:0 1px 3px #17202b0d;transition:opacity .18s,transform .2s}.access:hover .checkbox{border-color:#586e84}.spinner{position:absolute;width:36px;height:36px;opacity:0;fill:none;stroke-width:3;transition:opacity .18s}.spinner-track{stroke:#d8e0e7}.spinner-ring{stroke:#1475c8;stroke-linecap:round;stroke-dasharray:66 107;transform-origin:center}.checkmark{position:absolute;width:36px;height:36px;fill:none;stroke:#168447;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;opacity:0}.checkmark path{stroke-dasharray:45;stroke-dashoffset:45}.check-pulse{position:absolute;inset:0;border:1px solid #168447;border-radius:50%;opacity:0;pointer-events:none}
.access-copy{display:flex;align-items:center;flex:1;min-width:0}.access-title{font-size:18px;font-weight:400;letter-spacing:-.15px;line-height:1.25}.destination{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:0 0 65px;padding-left:10px;border-left:1px solid #dce2e8;user-select:none}.protection-icon{display:grid;place-items:center;width:28px;height:31px;margin-bottom:1px;filter:drop-shadow(0 1px 2px #17202b18)}.protection-icon svg{width:28px;height:31px;transform:translate(-1px,1px);transform-origin:center}.destination-name{font-size:9px;font-weight:600;line-height:1.1;letter-spacing:.1px;color:#465360}.destination-caption{font-size:7px;line-height:1.2;letter-spacing:.8px;text-transform:uppercase;color:#66717d}.shine{pointer-events:none;position:absolute;inset:-50% -35%;background:linear-gradient(110deg,transparent 40%,#8abfff20 50%,transparent 60%);transform:translateX(-100%);opacity:0}
.access[data-state="loading"]{box-shadow:0 0 0 1px #c0dfff77,0 0 20px #3c9bff77,0 0 44px #7561ff44,0 18px 50px #0008}.access[data-state="loading"] .checkbox,.access[data-state="success"] .checkbox{opacity:0;transform:scale(.6)}.access[data-state="loading"] .spinner{opacity:1}.access[data-state="loading"] .spinner-ring{animation:spin .8s linear infinite}.access[data-state="loading"] .shine{animation:shine .85s ease-in-out both}
.access[data-state="success"]{box-shadow:0 0 0 1px #a6f5c977,0 0 18px #37d88a66,0 0 35px #16844733,0 14px 48px #0007}.access[data-state="success"]::before{background:conic-gradient(#168447,#85f2bc,#2dba77,#168447)}.access[data-state="success"] .checkmark{opacity:1}.access[data-state="success"] .checkmark path{animation:draw .32s ease-out forwards}.access[data-state="success"] .check-pulse{animation:pulse .6s ease-out both}.access[data-state="success"] .protection-icon svg{animation:flight .55s ease-in-out both}
@keyframes neon-orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes pulse{0%{opacity:.55;transform:scale(.75)}100%{opacity:0;transform:scale(1.65)}}@keyframes shine{0%{opacity:0;transform:translateX(-65%)}30%{opacity:1}100%{opacity:0;transform:translateX(65%)}}@keyframes flight{0%{transform:translate(-1px,1px)}45%{transform:translate(2px,-2px) rotate(-8deg)}100%{transform:translate(-1px,1px)}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:540px){.page{padding:20px}.access{--card-radius:13px;width:min(100%,310px);min-height:88px;padding:15px;gap:11px}.check-area{flex-basis:32px;height:32px}.spinner,.checkmark{width:32px;height:32px}.access-title{font-size:17px}.destination{flex-basis:57px;padding-left:9px}.protection-icon,.protection-icon svg{width:26px;height:29px}.destination-name{font-size:8.5px}}
@media(max-width:350px){.page{padding:18px}.access{padding:14px 12px;gap:9px;min-height:84px}.check-area{flex-basis:30px;height:30px}.spinner,.checkmark{width:30px;height:30px}.access-title{font-size:16px}.destination{flex-basis:54px;padding-left:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.access[data-state="success"] .checkmark path{stroke-dashoffset:0}.check-pulse,.shine{display:none}}

