#nm-line-fab{position:fixed;right:18px;bottom:18px;width:58px;height:58px;border-radius:999px;border:0;background:#06C755;color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.18);cursor:pointer;z-index:999999;transition:transform .15s ease,box-shadow .15s ease,opacity .2s ease}
#nm-line-fab:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(0,0,0,.22)}
#nm-line-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;z-index:999998}
#nm-line-modal[aria-hidden="false"]{display:flex}
#nm-line-dialog{background:#fff;width:min(92vw,420px);border-radius:16px;box-shadow:0 16px 48px rgba(0,0,0,.22);padding:20px 20px 16px;position:relative}
#nm-line-dialog h3{margin:0 0 6px 0;font-size:1.1rem;font-weight:700;color:#111}
#nm-line-dialog p{margin:0 0 12px 0;color:#444;font-size:.95rem}
#nm-line-qr-wrap{display:grid;place-items:center;margin:10px 0 14px;background:#f7f7f7;border-radius:12px;padding:12px}
#nm-line-qr{width:240px;height:auto;max-width:100%;border-radius:8px}
.nm-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.nm-btn{appearance:none;border:0;cursor:pointer;border-radius:999px;padding:10px 16px;font-weight:700}
.nm-btn--line{background:#06C755;color:#fff}
.nm-btn--ghost{background:#f0f0f0;color:#222}
.nm-close-x{position:absolute;top:10px;right:12px;background:transparent;border:0;font-size:22px;cursor:pointer;color:#555}
@media (max-width:420px){#nm-line-fab{width:54px;height:54px;right:14px;bottom:14px}}