/* Native popovers supply Escape and outside dismissal for the WeChat ID. */
.floating-support{position:fixed;z-index:40;right:24px;bottom:32px;display:grid;gap:12px;pointer-events:none}
.floating-support-button{display:flex;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;min-width:154px;min-height:54px;padding:12px 18px;border:var(--stroke-strong) solid var(--ink);border-radius:var(--radius-control);background:var(--paper);color:var(--ink);font:700 16px/1.5 var(--font);text-decoration:none;cursor:pointer;box-shadow:4px 5px 0 var(--ink);pointer-events:auto;transition:transform .2s,background-color .2s,box-shadow .2s}
.floating-support-button img{display:block;flex:none;width:24px;height:24px;filter:brightness(0)}
.floating-support-button:hover{background:var(--brand-cyan);transform:translateY(-2px);box-shadow:5px 7px 0 var(--ink)}
.floating-support-button:active{transform:translate(3px,4px);box-shadow:none}
.floating-support-button:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.floating-support-panel{position:fixed;inset:auto 24px 178px auto;width:min(320px,calc(100vw - 40px));box-sizing:border-box;margin:0;padding:22px;border:var(--stroke-strong) solid var(--ink);border-radius:var(--radius-panel);background:var(--paper);color:var(--ink);font-family:var(--font);box-shadow:var(--shadow-panel);pointer-events:auto}
.floating-support-panel::backdrop{background:transparent;pointer-events:none}
.floating-support-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.floating-support-panel-head h2{margin:0;font:750 20px/1.4 var(--font);letter-spacing:0}
.floating-support-close{display:grid;place-items:center;flex:none;width:36px;height:36px;border:var(--stroke) solid var(--line);border-radius:8px;background:var(--soft);color:var(--ink);font:500 26px/1 var(--font);cursor:pointer}
body .floating-support-account{display:grid;gap:5px;margin:0 0 12px;color:var(--ink);user-select:text}
.floating-support-account>span{font-size:13px;color:var(--muted)}.floating-support-account>strong{font-size:27px;letter-spacing:.015em}
body .floating-support-help{margin:0 0 18px;color:var(--muted);font-size:14px;line-height:1.65}
.floating-support-copy{width:100%;min-height:46px;padding:10px 15px;border:var(--stroke-strong) solid var(--ink);border-radius:var(--radius-control);background:var(--ink);color:var(--paper);font:650 15px/1.5 var(--font);cursor:pointer;transition:background-color .2s}
.floating-support-copy:hover{background:var(--ink-hover)}
.floating-support-panel button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
body .floating-support-status{min-height:21px;margin:9px 0 0;color:var(--ink);font-size:13px;line-height:1.6}
body:has(dialog[open]) .floating-support,body:has(:is(input,textarea,select):focus) .floating-support{visibility:hidden}
@media(max-width:600px){.floating-support{right:12px;bottom:max(20px,env(safe-area-inset-bottom));grid-template-columns:repeat(2,48px);gap:10px}.floating-support-button{min-width:48px;min-height:48px;width:48px;height:48px;padding:10px;box-shadow:3px 4px 0 var(--ink)}.floating-support-button>span{display:none}.floating-support-button img{width:24px;height:24px}.floating-support-panel{right:16px;bottom:88px;padding:20px;width:min(320px,calc(100vw - 32px))}}
@media(prefers-reduced-motion:reduce){.floating-support-button,.floating-support-copy{transition:none}}
