:root {--vbfl-accent: #7c3aed;--vbfl-accent-2: #4f46e5;--vbfl-accent-soft: rgba(124, 58, 237, .12);--vbfl-accent-grad: linear-gradient(135deg, #4f46e5, #7c3aed);}.vbfl-notice {position: fixed;right: 16px;bottom: 16px;z-index: 1036;width: 344px;max-width: calc(100vw - 32px);padding: 15px;background: var(--main-bg-color, #fff);border: 1px solid var(--main-border-color, rgba(50, 50, 50, .06));border-radius: 18px;box-shadow: 0 22px 48px -14px rgba(35, 38, 45, .34);transform: translateY(22px) scale(.98);opacity: 0;transition: transform .42s cubic-bezier(.2, .9, .3, 1.2), opacity .42s;}.vbfl-notice.is-show { transform: none; opacity: 1; }.vbfl-notice-body {display: flex;gap: 12px;align-items: flex-start;text-decoration: none;color: inherit;}.vbfl-notice-icon {flex: 0 0 auto;width: 42px;height: 42px;display: grid;place-items: center;border-radius: 14px;font-size: 18px;color: #fff;background: var(--vbfl-accent-grad);box-shadow: 0 8px 18px -6px rgba(124, 58, 237, .55);}.vbfl-notice-main {flex: 1;min-width: 0;display: flex;flex-direction: column;gap: 3px;padding-right: 18px;}.vbfl-notice-kind {font-size: 10.5px;font-weight: 800;letter-spacing: .12em;color: var(--vbfl-accent);text-transform: uppercase;}.vbfl-notice-title {font-size: 14px;font-weight: 700;color: var(--main-color, #4e5358);line-height: 1.35;}.vbfl-notice-desc {font-size: 12.5px;color: var(--muted-color, #777);line-height: 1.5;overflow: hidden;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;}.vbfl-notice-close {position: absolute;top: 11px;right: 11px;width: 24px;height: 24px;border: 0;background: transparent;color: var(--muted-3-color, #b1b1b1);font-size: 18px;line-height: 1;cursor: pointer;border-radius: 8px;transition: background .15s, color .15s;}.vbfl-notice-close:hover { background: var(--muted-bg-color, #eee); color: var(--main-color, #4e5358); }.vbfl-notice-track { position: relative; }.vbfl-notice-item { display: none; }.vbfl-notice-item.is-active { display: block; }.vbfl-notice-nav {display: flex;align-items: center;justify-content: center;gap: 10px;margin-top: 10px;padding-top: 8px;border-top: 1px solid var(--main-border-color, rgba(50, 50, 50, .06));}.vbfl-notice-nav[hidden] { display: none; }.vbfl-notice-prev, .vbfl-notice-next {border: 0;background: transparent;color: var(--muted-color, #777);font-size: 18px;line-height: 1;cursor: pointer;padding: 2px 6px;border-radius: 6px;}.vbfl-notice-prev:hover, .vbfl-notice-next:hover { background: var(--muted-bg-color, #eee); color: var(--vbfl-accent); }.vbfl-notice-dots { display: inline-flex; align-items: center; gap: 6px; }.vbfl-notice-dots i {width: 7px;height: 7px;border-radius: 50%;background: var(--muted-3-color, #ccc);cursor: pointer;transition: background .15s, transform .15s;}.vbfl-notice-dots i.on { background: var(--vbfl-accent); transform: scale(1.15); }@media (max-width: 767.98px) {.vbfl-notice {left: 0;right: 0;width: calc(100vw - 20px);max-width: 400px;margin-left: auto;margin-right: auto;bottom: calc(49px + 10px + env(safe-area-inset-bottom));}}.vbfl-ava {display: inline-flex !important;align-items: center;justify-content: center;border-radius: 50%;color: #fff;overflow: hidden;}.vbfl-ava svg { width: 52%; height: 52%; display: block; }.vbfl-ava-topic { background: linear-gradient(135deg, #6366f1, #8b5cf6); }.vbfl-ava-poll  { background: linear-gradient(135deg, #0ea5e9, #22d3ee); }.vbfl-ava-reco  { background: linear-gradient(135deg, #f59e0b, #f97316); }.vbfl-card-name b { font-weight: 600; color: var(--main-color, #4e5358); }.vbfl-card .vbfl-card-sub { color: var(--main-color, #4e5358); }.vbfl-card .vbfl-intro { color: var(--main-color, #4e5358); }.vbfl-card .vbfl-cnt { color: var(--main-color, #4e5358); }.vbfl-card-sub { min-width: 0; }#vbfl-topic.vbfl-card,#vbfl-poll.vbfl-card,#vbfl-reco.vbfl-card { border: 1.5px solid transparent !important; }#vbfl-topic.vbfl-card {background: linear-gradient(rgba(124, 58, 237, .03), rgba(124, 58, 237, .03)) padding-box,linear-gradient(var(--main-bg-color, #fff), var(--main-bg-color, #fff)) padding-box,linear-gradient(135deg, #4f46e5, #a78bfa) border-box !important;}#vbfl-poll.vbfl-card {background: linear-gradient(rgba(14, 165, 233, .03), rgba(14, 165, 233, .03)) padding-box,linear-gradient(var(--main-bg-color, #fff), var(--main-bg-color, #fff)) padding-box,linear-gradient(135deg, #0ea5e9, #67e8f9) border-box !important;}#vbfl-reco.vbfl-card {background: linear-gradient(rgba(245, 158, 11, .03), rgba(245, 158, 11, .03)) padding-box,linear-gradient(var(--main-bg-color, #fff), var(--main-bg-color, #fff)) padding-box,linear-gradient(135deg, #f59e0b, #fbbf24) border-box !important;}#vbfl-topic.vbfl-card .user-info .avatar-img { box-shadow: 0 0 0 2px var(--main-bg-color, #fff), 0 0 0 3.5px rgba(124, 58, 237, .45); }#vbfl-poll.vbfl-card  .user-info .avatar-img { box-shadow: 0 0 0 2px var(--main-bg-color, #fff), 0 0 0 3.5px rgba(14, 165, 233, .45); }#vbfl-reco.vbfl-card  .user-info .avatar-img { box-shadow: 0 0 0 2px var(--main-bg-color, #fff), 0 0 0 3.5px rgba(245, 158, 11, .45); }.vbfl-official {display: inline-block;margin-left: 5px;padding: 1px 7px;border-radius: 4px;color: #fff;font-size: 10.5px;font-weight: 600;line-height: 1.5;vertical-align: 2px;}#vbfl-topic .vbfl-official { background: linear-gradient(135deg, #6366f1, #8b5cf6); }#vbfl-poll  .vbfl-official { background: linear-gradient(135deg, #0ea5e9, #22d3ee); }#vbfl-reco  .vbfl-official { background: linear-gradient(135deg, #f59e0b, #f97316); }.vbfl-card .vbfl-card-meta { min-height: 24px; }.vbfl-card .vbfl-card-meta a { text-decoration: none; }.vbfl-card-btns { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; }.vbfl-btn {font-size: 12px;line-height: 1.2;padding: 6px 13px;border-radius: 15px;border: 0;cursor: pointer;}.vbfl-btn-join { background: var(--vbfl-accent-grad); color: #fff; }.vbfl-btn-join:hover { color: #fff; opacity: .92; }.vbfl-btn-ghost { background: var(--vbfl-accent-soft); color: var(--vbfl-accent); }.vbfl-btn-ghost:hover { color: var(--vbfl-accent-2); }a.vbfl-tag,mark.vbfl-tag {background: none;color: var(--vbfl-accent);cursor: pointer;padding: 0;font-weight: inherit;text-decoration: none;}a.vbfl-tag:hover,mark.vbfl-tag:hover { text-decoration: underline; color: var(--vbfl-accent-2); }.forum-title a.vbfl-tag { font-weight: 600; }.vbfl-reco-swap { display: inline-flex; align-items: center; gap: 4px; }.vbfl-reco-swap svg { flex: 0 0 auto; }.vbfl-reco-swap.is-loading { opacity: .5; pointer-events: none; }.vbfl-reco-list { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }.vbfl-reco-list li a { display: flex; align-items: center; gap: 9px; text-decoration: none; color: inherit; }.vbfl-reco-pick {display: inline-block;flex: 0 0 auto;margin-right: 5px;padding: 0 5px;border-radius: 5px;background: var(--vbfl-accent);color: #fff;font-size: 10.5px;font-weight: 700;line-height: 17px;vertical-align: middle;}.vbfl-reco-av {flex: 0 0 auto;width: 22px;height: 22px;border-radius: 50%;object-fit: cover;}.vbfl-reco-t {flex: 1;min-width: 0;font-size: 13px;color: var(--main-color, #4e5358);overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}.vbfl-reco-list li a:hover .vbfl-reco-t { color: var(--vbfl-accent); }.vbfl-reco-m { flex: 0 0 auto; font-size: 11.5px; color: var(--muted-2-color, #999); font-variant-numeric: tabular-nums; }.vbfl-reco-empty { list-style: none; font-size: 12.5px; color: var(--muted-2-color, #999); }.vbfl-poll-opts { margin-top: 4px; }.vbfl-poll-opt { position: relative; border: 1px solid var(--main-border-color, rgba(50,50,50,.06)); border-radius: 9px; padding: 6px 11px; margin-bottom: 5px; cursor: pointer; font-size: 13px; font-weight: 700; color: var(--main-color, #4e5358); overflow: hidden; transition: border-color .15s; background: var(--main-bg-color, #fff); }.vbfl-poll:not(.voted) .vbfl-poll-opt:hover { border-color: #0ea5e9; }.vbfl-poll-fill { position: absolute; inset: 0 auto 0 0; width: 0; background: rgba(14, 165, 233, .14); transition: width .5s cubic-bezier(.2,.8,.2,1); z-index: 0; }.vbfl-poll-lbl { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; gap: 8px; }.vbfl-poll-pct { font-variant-numeric: tabular-nums; color: #0ea5e9; opacity: 0; transition: opacity .3s; flex: 0 0 auto; }.vbfl-poll.voted .vbfl-poll-opt { cursor: default; }.vbfl-poll.voted .vbfl-poll-pct { opacity: 1; }.vbfl-poll.voted .vbfl-poll-opt.mine { border-color: #0ea5e9; }.vbfl-poll.voted .vbfl-poll-opt.mine .vbfl-poll-lbl b::before { content: "✓ "; color: #0ea5e9; }.vbfl-poll.voting { opacity: .7; pointer-events: none; }html.vbfl-lock,html.vbfl-lock body {overflow: hidden !important;}.vbfl-modal-mask {position: fixed;inset: 0;z-index: 100000;background: rgba(0, 0, 0, .45);display: flex;align-items: center;      justify-content: center;padding: 20px;opacity: 0;transition: opacity .25s;}.vbfl-modal-mask.vbfl-on { opacity: 1; }.vbfl-modal {position: relative;width: 100%;max-width: 440px;max-height: min(76vh, 600px);display: flex;flex-direction: column;overflow: visible;              background: var(--main-bg-color, #fff);border-radius: 18px;padding: 16px 0 0;transform: translateY(16px) scale(.97);transition: transform .28s cubic-bezier(.2, .9, .3, 1.1);}.vbfl-modal-mask.vbfl-on .vbfl-modal { transform: none; }.vbfl-modal-body { overflow-y: auto; -webkit-overflow-scrolling: touch; min-height: 60px; padding: 0 16px; border-radius: 0 0 18px 18px; }.vbfl-modal-x {position: absolute;top: -44px;right: 0;z-index: 3;width: 34px;height: 34px;border: 0;background: #fff;border-radius: 50%;color: #333;font-size: 20px;line-height: 34px;text-align: center;cursor: pointer;box-shadow: 0 2px 10px rgba(0, 0, 0, .3);}.vbfl-modal-x:hover { background: #f0f0f0; }.vbfl-modal-tag { font-size: 15.5px; font-weight: 700; color: var(--vbfl-accent); line-height: 1.4; }.vbfl-modal-foot { position: sticky; bottom: 0; margin: 8px -16px 0; padding: 10px 16px 14px; background: var(--main-bg-color, #fff); box-shadow: 0 -10px 12px -12px rgba(0, 0, 0, .25); text-align: center; }.vbfl-modal-foot .but { display: inline-block; min-width: 160px; }.vbfl-modal-empty { padding: 30px 10px; text-align: center; color: var(--muted-2-color, #999); font-size: 13px; line-height: 1.7; }.vbfl-topic-answers { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }.vbfl-topic-answers li a { display: flex; gap: 10px; align-items: center; padding: 10px 6px; border-radius: 10px; text-decoration: none; color: inherit; }.vbfl-topic-answers li a:hover { background: var(--muted-bg-color, #eee); }.vbfl-ans-av { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }.vbfl-ans-main { min-width: 0; display: flex; flex-direction: column; gap: 2px; }.vbfl-ans-main b { font-size: 13px; color: var(--main-color, #4e5358); font-weight: 600; }.vbfl-ans-main span { font-size: 12px; color: var(--muted-color, #777); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.vbfl-ans-time { font-size: 11px; font-weight: 400; color: var(--muted-2-color, #999); margin-left: 4px; }.vbfl-modal-hero {padding: 20px 18px 16px;background: var(--vbfl-accent-grad);border-radius: 18px 18px 0 0;color: #fff;}.vbfl-modal-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .12em; opacity: .85; margin-bottom: 6px; }.vbfl-modal-hero .vbfl-modal-tag { color: #fff; font-size: 19px; font-weight: 700; line-height: 1.35; }.vbfl-modal-hero-sub { font-size: 12px; opacity: .9; margin-top: 8px; }.vbfl-modal-sec { padding: 12px 16px 8px; }.vbfl-modal:has(.vbfl-modal-hero) { padding: 0; }.vbfl-modal:has(.vbfl-modal-hero) .vbfl-modal-body {padding: 0;border-radius: 18px;display: flex;flex-direction: column;overflow: hidden;}.vbfl-modal:has(.vbfl-modal-hero) .vbfl-modal-hero { flex: 0 0 auto; }.vbfl-modal:has(.vbfl-modal-hero) .vbfl-modal-sec {flex: 1 1 auto;min-height: 0;overflow-y: auto;-webkit-overflow-scrolling: touch;}.vbfl-modal:has(.vbfl-modal-hero) .vbfl-modal-foot { flex: 0 0 auto; position: static; margin: 0; }.vbfl-modal:has(.vbfl-modal-hero) .vbfl-modal-x {top: 12px;right: 12px;background: rgba(255, 255, 255, .22);color: #fff;box-shadow: none;}.vbfl-modal:has(.vbfl-modal-hero) .vbfl-modal-x:hover { background: rgba(255, 255, 255, .34); }.vbfl-modal-foot .vbfl-btn-join { display: block; width: 100%; min-width: 0; border-radius: 24px; padding: 11px; font-size: 14px; }@media (max-width: 767.98px) {.vbfl-modal-hero { padding: 12px 14px 10px; }.vbfl-modal-eyebrow { display: none; }.vbfl-modal-hero .vbfl-modal-tag { font-size: 16px; }.vbfl-modal-hero-sub { font-size: 11px; margin-top: 5px; }.vbfl-modal-hero-sub::before { content: attr(data-eyebrow) " · "; }.vbfl-modal:has(.vbfl-modal-hero) .vbfl-modal-x { top: 9px; right: 9px; width: 30px; height: 30px; line-height: 30px; font-size: 18px; }}.vbfl-notice-ava { background: none !important; padding: 0 !important; overflow: hidden; }.vbfl-notice-ava img { width: 42px; height: 42px; border-radius: 12px; display: block; border: 2px solid rgba(124, 58, 237, .35); box-sizing: border-box; object-fit: cover; }.vbfl-modal-body::-webkit-scrollbar,.vbfl-modal-sec::-webkit-scrollbar { width: 8px; }.vbfl-modal-body::-webkit-scrollbar-button,.vbfl-modal-sec::-webkit-scrollbar-button { display: none; width: 0; height: 0; }.vbfl-modal-body::-webkit-scrollbar-track,.vbfl-modal-sec::-webkit-scrollbar-track { background: transparent; }.vbfl-modal-body::-webkit-scrollbar-thumb,.vbfl-modal-sec::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, .22); border-radius: 4px; }.vbfl-modal-body::-webkit-scrollbar-thumb:hover,.vbfl-modal-sec::-webkit-scrollbar-thumb:hover { background: rgba(0, 0, 0, .35); }.vbfl-modal-x[hidden] { display: none !important; }.vbfl-skeleton { --vbfl-sk-base: rgba(125, 130, 140, .13); }.vbfl-sk-hero {height: 88px;background: var(--vbfl-accent-grad);opacity: .5;border-radius: 18px 18px 0 0;}.vbfl-sk-list { padding: 14px 16px 18px; display: flex; flex-direction: column; gap: 16px; }.vbfl-sk-row { display: flex; align-items: center; gap: 10px; }.vbfl-sk-av { flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%; background: var(--vbfl-sk-base); }.vbfl-sk-lines { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 8px; }.vbfl-sk-lines i { display: block; height: 11px; border-radius: 6px; background: var(--vbfl-sk-base); }.vbfl-sk-lines i:first-child { width: 42%; }.vbfl-sk-lines i:last-child { width: 78%; }.vbfl-skeleton .vbfl-sk-av,.vbfl-skeleton .vbfl-sk-lines i {position: relative;overflow: hidden;background-image: linear-gradient(90deg, transparent, rgba(255, 255, 255, .45), transparent);background-size: 200% 100%;background-repeat: no-repeat;animation: vbfl-shimmer 1.3s linear infinite;}@keyframes vbfl-shimmer { 0% { background-position: -150% 0; } 100% { background-position: 250% 0; } }@media (prefers-reduced-motion: reduce) {.vbfl-skeleton .vbfl-sk-av,.vbfl-skeleton .vbfl-sk-lines i { animation: none; }}@media (max-width: 767.98px) {.vbfl-sk-hero { height: 60px; }}