/* In-app browser opened by the Buy button on a coin's market page. Sized to match the rest of the app. */
.vb-page{position:fixed;inset:0;z-index:12900;display:flex;flex-direction:column;background:var(--wd-surface,#fff);color:var(--wd-text,#17171c);animation:vbIn .22s ease-out both}
.vb-page[hidden]{display:none!important}
@keyframes vbIn{from{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}
.vb-bar{flex:0 0 auto;display:flex;align-items:center;gap:4px;padding:calc(6px + env(safe-area-inset-top)) 10px 6px;border-bottom:1px solid var(--wd-border,rgba(128,130,145,.2));background:var(--wd-surface,#fff)}
.vb-btn{flex:0 0 34px;width:34px;height:34px;border:0;border-radius:50%;background:var(--wd-card,#f1f2f7);color:inherit;display:grid;place-items:center;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,background .12s ease}
.vb-btn:active{transform:scale(.92)}
.vb-btn svg{width:16px;height:16px;display:block}
#vbReload.spin svg{animation:vbSpin .75s linear infinite}
.vb-title{flex:1;min-width:0;text-align:center;line-height:1.25;padding:0 4px}
.vb-title b{display:block;font-size:12.5px;font-weight:600;letter-spacing:-.1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vb-title small{display:inline-flex;align-items:center;gap:4px;margin-top:1px;font-size:9.5px;color:var(--wd-muted,#858995);max-width:100%}
.vb-title small span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vb-title small svg{width:10px;height:10px;flex:0 0 10px;color:#1f9d63}
.vb-prog{flex:0 0 2px;height:2px;background:transparent;overflow:hidden}
.vb-prog i{display:block;height:100%;width:0;background:var(--brand-grad,linear-gradient(90deg,#1a86ff,#6d3bff));transition:width .35s ease,opacity .3s ease}
.vb-body{position:relative;flex:1;min-height:0;background:#fff}
.vb-frame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff;touch-action:auto}

/* loading screen: Veltrix mark inside a gradient ring (replaces the spinning reload icon) */
.vb-load{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--wd-surface,#fff);transition:opacity .3s ease,visibility .3s ease}
.vb-load.done{opacity:0;visibility:hidden;pointer-events:none}
.vb-mark{position:relative;width:68px;height:68px}
.vb-ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(26,134,255,0) 0deg,#1a86ff 150deg,#6d3bff 310deg,rgba(109,59,255,0) 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px));animation:vbSpin 1.05s cubic-bezier(.5,.15,.5,.85) infinite}
.vb-track{position:absolute;inset:0;border-radius:50%;border:3px solid rgba(128,130,145,.14)}
.vb-tile{position:absolute;inset:9px;border-radius:50%;background:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 4px 14px rgba(36,80,255,.18);animation:vbPulse 1.6s ease-in-out infinite}
.vb-tile img{width:78%;height:78%;object-fit:contain;display:block}
@keyframes vbSpin{to{transform:rotate(360deg)}}
@keyframes vbPulse{0%,100%{transform:scale(1)}50%{transform:scale(.93)}}
.vb-load-txt{text-align:center;line-height:1.35}
.vb-load-txt b{display:block;font-size:12px;font-weight:600}
.vb-load-txt small{display:block;margin-top:2px;font-size:10px;color:var(--wd-muted,#858995)}
@media(prefers-reduced-motion:reduce){.vb-ring,.vb-tile{animation-duration:3s}}

.vb-hint{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:7px 12px;background:var(--wd-card,#f1f2f7);border-bottom:1px solid var(--wd-border,rgba(128,130,145,.2));color:var(--wd-text,#17171c);font-size:10px;line-height:1.35}
.vb-hint[hidden]{display:none}
.vb-hint p{margin:0;flex:1}
.vb-hint button{flex:0 0 auto;border:0;border-radius:9px;padding:6px 10px;font-weight:600;font-size:10px;cursor:pointer}
.vb-hint .vb-open{background:var(--brand-grad,#2450ff);color:#fff}
.vb-hint .vb-x{background:transparent;color:inherit;opacity:.6;padding:8px 5px}
