/* VISSONIC locale preference bar 2026-05-19 */
:root{--vp-bg:rgba(13,20,33,.96);--vp-bg-2:rgba(25,35,54,.96);--vp-text:#fff;--vp-muted:rgba(255,255,255,.72);--vp-border:rgba(255,255,255,.12);--vp-shadow:0 6px 20px rgba(0,0,0,.18);--vp-accent:#ffdd57;--vp-ok:#66e3a0;--vp-btn:#ffffff;--vp-btn-text:#0f172a;--vp-btn-es:#ffdd57;--vp-btn-es-text:#1f2937}
.vp-banner{position:fixed;top:0;left:0;right:0;z-index:2147483640;display:flex;align-items:center;justify-content:center;transform:translateY(-110%);opacity:0;transition:transform .28s ease, opacity .28s ease;background:linear-gradient(90deg,var(--vp-bg),var(--vp-bg-2));color:var(--vp-text);box-shadow:var(--vp-shadow);border-bottom:1px solid var(--vp-border);padding:8px 14px;pointer-events:none;font-family:Arial,'Microsoft YaHei',sans-serif}
.vp-banner.show{transform:translateY(0);opacity:1;pointer-events:auto}
.vp-inner{width:min(1360px,100%);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.vp-left{display:flex;align-items:center;gap:10px;flex:1 1 420px;min-width:0}
.vp-dot{width:8px;height:8px;border-radius:50%;background:var(--vp-ok);box-shadow:0 0 0 4px rgba(102,227,160,.15)}
.vp-text{font-size:13px;line-height:1.5;color:var(--vp-text);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.vp-text b{font-weight:700}
.vp-meta{font-size:12px;color:var(--vp-muted)}
.vp-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;flex-wrap:wrap}
.vp-btn{border:0;border-radius:999px;padding:7px 12px;cursor:pointer;font-size:12px;line-height:1;background:var(--vp-btn);color:var(--vp-btn-text);transition:transform .15s ease,opacity .15s ease,background .15s ease;white-space:nowrap}
.vp-btn:hover{transform:translateY(-1px)}
.vp-btn-es{background:var(--vp-btn-es);color:var(--vp-btn-es-text);font-weight:700}
.vp-btn-ghost{background:transparent;color:var(--vp-text);border:1px solid var(--vp-border)}
.vp-remember{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--vp-muted);user-select:none}
.vp-remember input{width:14px;height:14px;accent-color:#ffdd57}
.vp-hide{opacity:0;transform:translateY(-110%);pointer-events:none}
.vp-spacer{height:0;transition:height .28s ease}
@media(max-width:760px){.vp-inner{gap:8px}.vp-left{flex-basis:100%}.vp-actions{width:100%;justify-content:flex-start}.vp-banner{padding:10px 12px}.vp-text{font-size:12px}}
