.gate-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.gate-badge{display:inline-flex;align-items:center;gap:.5em;width:fit-content;max-width:100%;margin:.75rem auto 0;align-self:center;justify-self:center;padding:.35em .8em .35em .45em;border-radius:999px;font-size:.78rem;line-height:1.2;color:inherit;opacity:.82;background:color-mix(in srgb,currentColor 7%,transparent);border:1px solid color-mix(in srgb,currentColor 14%,transparent);transition:opacity .3s,background .3s,border-color .3s}
.gate-badge small{font-size:.92em;opacity:.55;letter-spacing:.02em;padding-left:.45em;border-left:1px solid color-mix(in srgb,currentColor 25%,transparent)}
.gate-ic{width:1.35em;height:1.35em;flex:none;overflow:visible}
.gate-shield{fill:color-mix(in srgb,#ab47bc 18%,transparent);stroke:#ab47bc;stroke-width:1.6;stroke-linejoin:round;transition:fill .4s}
.gate-tick{fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:12;stroke-dashoffset:12;transition:stroke-dashoffset .45s .1s}
.gate-ring{fill:none;stroke:#ab47bc;stroke-width:1.4;stroke-dasharray:16 52;opacity:0;transform-origin:12px 12px}
.gate-badge.is-checking .gate-ring{opacity:.9;animation:gate-spin 1s linear infinite}
.gate-badge.is-checking .gate-shield{animation:gate-pulse 1.4s ease-in-out infinite}
.gate-badge.is-ok{opacity:1;border-color:color-mix(in srgb,#2e9e6b 45%,transparent);background:color-mix(in srgb,#2e9e6b 10%,transparent)}
.gate-badge.is-ok .gate-shield{fill:#2e9e6b;stroke:#2e9e6b}
.gate-badge.is-ok .gate-tick{stroke-dashoffset:0}
.gate-badge.is-failed{opacity:1;border-color:color-mix(in srgb,#d64545 50%,transparent)}
.gate-badge.is-failed .gate-shield{fill:color-mix(in srgb,#d64545 25%,transparent);stroke:#d64545}
@keyframes gate-spin{to{transform:rotate(360deg)}}
@keyframes gate-pulse{50%{fill:color-mix(in srgb,#ab47bc 40%,transparent)}}


.gate-page{margin:0;min-height:100vh;display:grid;place-items:center;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(1200px 600px at 50% -10%,#3a1f4d 0%,#120d1c 55%,#0a0810 100%);color:#efe9f6;overflow:hidden}
.gate-page.light{background:radial-gradient(1200px 600px at 50% -10%,#f3e8f8 0%,#fbf8fd 60%,#fff 100%);color:#1d2233}
.gate-card{position:relative;width:min(440px,calc(100vw - 32px));padding:40px 32px 28px;text-align:center;border-radius:24px;background:color-mix(in srgb,currentColor 5%,transparent);border:1px solid color-mix(in srgb,currentColor 12%,transparent);backdrop-filter:blur(14px);box-shadow:0 30px 80px rgba(0,0,0,.35)}
.gate-orb{position:relative;width:112px;height:112px;margin:0 auto 22px}
.gate-orb::before,.gate-orb::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid transparent;border-top-color:#ab47bc;border-right-color:color-mix(in srgb,#ab47bc 40%,transparent);animation:gate-spin 1.1s linear infinite}
.gate-orb::after{inset:12px;border-top-color:#d9b44a;border-right-color:transparent;animation-duration:1.7s;animation-direction:reverse}
.gate-orb img{position:absolute;inset:30px;width:52px;height:52px;filter:drop-shadow(0 6px 18px rgba(171,71,188,.55));animation:gate-float 2.4s ease-in-out infinite}
.gate-card.is-ok .gate-orb::before,.gate-card.is-ok .gate-orb::after{border-color:#2e9e6b;animation:none}
.gate-card.is-failed .gate-orb::before,.gate-card.is-failed .gate-orb::after{border-color:#d64545;animation:none}
.gate-card h1{font-size:1.25rem;font-weight:650;margin:0 0 6px;letter-spacing:-.01em}
.gate-card p{margin:0;opacity:.72;font-size:.92rem;line-height:1.5}
.gate-host{font-weight:600;opacity:1!important}
.gate-bar{--p:4%;height:4px;border-radius:4px;margin:22px 0 14px;background:color-mix(in srgb,currentColor 12%,transparent);overflow:hidden}
.gate-bar i{display:block;height:100%;width:var(--p);border-radius:inherit;background:linear-gradient(90deg,#ab47bc,#d9b44a);transition:width .25s ease}
.gate-card.is-ok .gate-bar i{background:#2e9e6b}
.gate-status{font-size:.85rem;font-weight:600;min-height:1.3em}
.gate-foot{margin-top:22px;font-size:.72rem;opacity:.5}
.gate-noscript{margin-top:14px;font-size:.85rem;color:#d64545}
@keyframes gate-float{50%{transform:translateY(-4px)}}
@media (prefers-reduced-motion:reduce){.gate-orb::before,.gate-orb::after,.gate-orb img,.gate-badge.is-checking .gate-ring,.gate-badge.is-checking .gate-shield{animation:none}}


.geo-flag{font-size:1.1em;line-height:1;margin-right:.25em;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.geo-meter{width:90px;height:8px;vertical-align:middle}
.geo-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:.5rem 0 0}
.geo-chips li{display:inline-flex;align-items:center;gap:.35em;padding:.35em .75em;border-radius:999px;background:color-mix(in srgb,currentColor 7%,transparent);font-size:.85rem}
.geo-chips b{margin-left:.2em}
.geo-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2e9e6b;box-shadow:0 0 0 0 rgba(46,158,107,.6);animation:geo-ping 1.6s infinite;vertical-align:middle;margin-right:.25em}
@keyframes geo-ping{70%{box-shadow:0 0 0 8px rgba(46,158,107,0)}100%{box-shadow:0 0 0 0 rgba(46,158,107,0)}}
.geo-warn{border-color:#d4a017}
.geo-credit{margin-top:1.5rem}
.gate-opt{margin:.35rem 0}
.gate-opt label{display:flex;gap:.5em;align-items:flex-start;font-size:.9rem}
.gate-list li{margin:.4rem 0}


.tier .tier-buy{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:auto;padding-top:20px;width:100%}
.tier .tier-buy .tier-buy-main{display:flex;justify-content:center;align-items:center;gap:.5em;width:100%;text-align:center}
.tier .tier-buy .tier-buy-alt{display:flex;justify-content:center;align-items:center;gap:.4em;padding:.7em 1em;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);color:inherit;opacity:.85;text-decoration:none;font-size:.88rem;transition:opacity .2s,border-color .2s}
.tier .tier-buy .tier-buy-alt:hover{opacity:1;border-color:color-mix(in srgb,currentColor 35%,transparent)}
.bil-sub-head{display:flex;gap:14px;align-items:center;margin-bottom:6px}
.bil-sub-head h2{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 4px}
.bil-sub-head p{margin:0}
.bil-sub-ic{width:44px;height:44px;flex:none;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#ab47bc,#7c4dff);color:#fff}
.bil-sub > p{margin:14px 0 0}
.bil-sub .bil-sub-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 6px}
.bil-sub .stripe-note{margin-top:16px;justify-content:flex-start}
.stripe-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.45em;margin:14px 0 0;font-size:.8rem;opacity:.8}
.stripe-word b{font-weight:700;letter-spacing:-.01em;color:#635bff}
.stripe-badge{height:22px;width:auto;vertical-align:middle}

.setup-log{white-space:pre-wrap;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,currentColor 6%,transparent);max-height:260px;overflow:auto}
.setup-sheet td:first-child{white-space:nowrap;font-weight:600}
.plan-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.plan-card{display:flex;gap:14px;align-items:flex-start;padding:14px;border-radius:14px;border:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.plan-card img{border-radius:14px;flex:none}
.small-b{font-size:1rem!important;overflow-wrap:anywhere}
.form .field{display:grid;gap:4px;margin:0 0 10px;font-size:.88rem}
.fair-note{margin:16px 0 0;padding-top:14px;border-top:1px solid color-mix(in srgb,currentColor 10%,transparent);line-height:1.55}
.fair-note + .fair-note{border-top:0;padding-top:0;margin-top:10px}
.tier .tier-buy .tier-up{display:flex;gap:.55em;align-items:flex-start;margin:0;padding:10px 12px;border-radius:12px;font-size:.84rem;line-height:1.5;background:color-mix(in srgb,#2e9e6b 12%,transparent);border:1px solid color-mix(in srgb,#2e9e6b 35%,transparent)}
.tier .tier-buy .tier-up .i{color:#2e9e6b;flex:none;margin-top:.2em}
.up-note{display:flex;gap:.5em;align-items:flex-start;color:#2e9e6b;font-weight:600}
.up-note .i{flex:none;margin-top:.2em}
.gate-retry{margin-top:16px;padding:.65em 1.4em;border:0;border-radius:999px;font:600 .92rem/1 inherit;color:#fff;background:linear-gradient(135deg,#ab47bc,#7c4dff);cursor:pointer}
