.floating-qr {
  position:fixed;
  top:50%;
  right:18px;
  z-index:45;
  width:158px;
  transform:translateY(-42%);
  transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s ease;
}
.qr-panel { position:relative;padding:15px 14px 14px;overflow:hidden;border:1px solid rgba(82,218,255,.3);border-radius:18px;background:linear-gradient(155deg,rgba(11,25,46,.92),rgba(4,9,20,.95));box-shadow:0 22px 65px rgba(0,0,0,.42),0 0 32px rgba(51,207,255,.09),inset 0 1px 0 rgba(255,255,255,.09);backdrop-filter:blur(22px);text-align:center; }
.qr-panel::before { position:absolute;top:-60px;left:-25px;width:125px;height:100px;border-radius:50%;background:rgba(53,216,255,.1);filter:blur(28px);content:"";pointer-events:none; }
.qr-panel-head { position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:11px;font:600 7px/1 monospace;letter-spacing:.12em; }.qr-panel-head span { display:flex;align-items:center;gap:5px;color:#6cecff; }.qr-panel-head i { width:5px;height:5px;border-radius:50%;background:#46efaa;box-shadow:0 0 9px #46efaa;animation:qr-online 1.4s ease-in-out infinite; }.qr-panel-head small { color:rgba(192,218,236,.42);font-size:8px; }
.qr-code-wrap { position:relative;width:112px;height:112px;margin:0 auto 12px;padding:6px;border:1px solid rgba(99,225,255,.28);border-radius:13px;background:#fff;box-shadow:0 0 22px rgba(66,218,255,.16); }.qr-code-wrap::before,.qr-code-wrap::after { position:absolute;width:12px;height:12px;border-color:#42e5ff;content:""; }.qr-code-wrap::before { top:-3px;left:-3px;border-top:2px solid;border-left:2px solid; }.qr-code-wrap::after { right:-3px;bottom:-3px;border-right:2px solid;border-bottom:2px solid; }.qr-code-wrap img { display:block;width:100%;height:100%;object-fit:cover; }
.qr-panel strong { display:block;color:#ecfbff;font-size:13px; }.qr-panel>p { margin:6px 0 12px;color:rgba(190,214,232,.51);font-size:10px;line-height:1.55; }.qr-panel>a { display:block;padding-top:10px;border-top:1px solid rgba(115,194,240,.12);color:#74eaff;font:600 10px/1.4 monospace; }.qr-panel>a small { display:block;margin-bottom:2px;color:rgba(174,204,224,.38);font:500 7px/1 sans-serif; }
.qr-collapse { position:absolute;top:-9px;right:-7px;z-index:3;display:grid;width:24px;height:24px;padding:0;place-items:center;border:1px solid rgba(123,204,251,.22);border-radius:50%;color:rgba(210,232,245,.64);background:#07101f;cursor:pointer;transition:color .2s ease,border-color .2s ease; }.qr-collapse:hover { color:#fff;border-color:rgba(78,224,255,.55); }
.qr-restore { position:absolute;top:50%;right:0;display:none;width:43px;padding:12px 9px;border:1px solid rgba(77,219,255,.3);border-radius:14px 0 0 14px;color:rgba(226,247,255,.82);background:rgba(5,14,29,.94);box-shadow:0 16px 45px rgba(0,0,0,.4),0 0 22px rgba(51,207,255,.08);transform:translateY(-50%);cursor:pointer;writing-mode:vertical-rl;letter-spacing:.12em; }.qr-restore b { font-size:10px; }.qr-restore-dot { width:6px;height:6px;margin-bottom:8px;border-radius:50%;background:#4ceeb0;box-shadow:0 0 9px #4ceeb0; }
.floating-qr.is-collapsed { right:0;width:43px; }.floating-qr.is-collapsed .qr-panel,.floating-qr.is-collapsed .qr-collapse { display:none; }.floating-qr.is-collapsed .qr-restore { display:flex;align-items:center; }
@keyframes qr-online { 50%{opacity:.35;transform:scale(.75)} }
@media(max-width:1100px){.floating-qr{right:10px;transform:translateY(-38%) scale(.9);transform-origin:right center}}
@media(max-width:720px){.floating-qr{top:auto;right:14px;bottom:18px;width:142px;transform:none}.qr-panel{padding:12px}.qr-code-wrap{width:96px;height:96px}.qr-panel>p,.qr-panel>a{display:none}.qr-collapse{top:-7px;right:-5px}.floating-qr.is-collapsed{right:12px;bottom:18px;width:48px}.qr-restore{position:static;display:none;width:48px;height:48px;padding:0;border-radius:50%;transform:none;writing-mode:horizontal-tb}.floating-qr.is-collapsed .qr-restore{display:grid;place-items:center}.qr-restore b{display:none}.qr-restore-dot{width:10px;height:10px;margin:0}}
@media(prefers-reduced-motion:reduce){.qr-panel-head i{animation:none}}
