.line-float{position:fixed;right:max(10px,calc((100vw - 480px)/2 + 10px));bottom:calc(100px + env(safe-area-inset-bottom));z-index:15;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:56px;min-height:64px;padding:7px 5px;border:2px solid #73091f;box-shadow:3px 4px 0 #53091d;background:#dc002c;color:white;font:700 12px 'Noto Sans TC',sans-serif;cursor:pointer}.line-float-icon{display:block;position:relative;background:#fff;color:#bd0027;border:2px solid #73091f;width:32px;height:24px;line-height:16px;letter-spacing:2px;text-align:center}.line-float-icon:after{content:'';position:absolute;bottom:-5px;left:5px;width:6px;height:6px;background:#fff;border-left:2px solid #73091f;border-bottom:2px solid #73091f}.line-float:hover{background:#b90025}.line-dialog{box-sizing:border-box;width:min(350px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:24px 22px 18px;overflow:auto;border:3px solid #73091f;box-shadow:6px 6px 0 #53091d;background:#fff7f5;color:#292426;text-align:center}.line-dialog::backdrop{background:rgba(25,10,17,.7)}.line-close{position:absolute;top:8px;right:8px;width:40px;height:40px;border:2px solid #73091f;background:#fff;color:#950326;font:28px/1 sans-serif;cursor:pointer}.line-kicker{font-size:10px;letter-spacing:2px;color:#b00027;margin:6px 30px 8px}.line-dialog h2{font:900 24px/1.4 'Noto Sans TC',sans-serif;margin:12px 0 4px}.line-person{font-size:12px;margin:0 0 17px}.line-dialog figure{padding:12px;margin:0 auto;background:#fff;border:2px solid #73091f;box-shadow:3px 3px 0 #e6a3b1;max-width:254px}.line-dialog img{display:block;width:100%;height:auto}.line-dialog figcaption{font-size:11px;margin-top:8px}.line-id{font-size:13px;margin:15px 0}.line-save{width:100%;font-size:14px}.line-dialog #line-dialog-help{font-size:11px;line-height:1.8;color:#75616a;margin:16px 0 0}.line-float:focus-visible,.line-close:focus-visible{outline:3px solid #ffbd3d;outline-offset:3px}@media(max-height:650px){.line-dialog{padding:16px}.line-dialog figure{max-width:185px}.line-dialog h2{font-size:20px}.line-person{margin-bottom:10px}.line-id{margin:10px 0}}

.line-float{width:64px;padding:4px;gap:3px}.line-float-avatar{display:block;width:50px;height:50px;object-fit:cover;object-position:center;border:1px solid #73091f;image-rendering:pixelated}

.line-float{width:66px;height:66px;min-height:66px;padding:3px;gap:0;overflow:hidden}.line-float-avatar{width:100%;height:100%;object-fit:cover;object-position:50% 35%;transform:scale(1.4);border:0}

.line-close{display:grid;place-items:center;box-sizing:border-box;padding:0;min-height:0;font-size:0;line-height:1}
.line-close::before,.line-close::after{content:"";position:absolute;top:50%;left:50%;width:18px;height:2px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.line-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.line-float{border:3px solid #fff;border-radius:50%;padding:0;overflow:hidden;box-shadow:0 3px 10px #53091d66;animation:line-avatar-float 2.8s ease-in-out infinite}.line-float-avatar{border-radius:50%}.line-float:hover{animation-play-state:paused}@keyframes line-avatar-float{0%,100%{translate:0 0}50%{translate:0 -6px}}@media(prefers-reduced-motion:reduce){.line-float{animation:none}}

.line-float{overflow:visible}.line-avatar-crop{display:block;width:100%;height:100%;border-radius:50%;overflow:hidden}.line-float-label{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;background:#fff;color:#a70027;border:2px solid #a70027;border-radius:12px;padding:3px 10px;font:700 13px/1.4 "Noto Sans TC",sans-serif;box-shadow:0 2px 4px #53091d33}
