';});}\nfunction adminToggleBest(cid){api('toggleBestCard',{boardId:currentBoardId,cardId:cid,userId:currentUser.name}).then(function(r){showToast(r.message);loadBoardDetailCards();});}\nfunction adminDeleteCard(cid){if(!confirm('삭제?'))return;api('deleteBoardCard',{boardId:currentBoardId,cardId:cid,userId:currentUser.name}).then(function(r){showToast(r.message);loadBoardDetailCards();});}\nfunction showBoardEmbed(){var a=document.getElementById('board-embed-area');a.style.display=a.style.display==='none'?'block':'none';var u=BOARD_VIEWER_BASE+'?pid='+currentProjectId+'&bid='+currentBoardId;document.getElementById('board-share-url').value=u;document.getElementById('board-embed-code').value='';}\nfunction exportBoardCsvDash(){showToast('CSV 생성 중...');api('exportBoardCsv',{boardId:currentBoardId}).then(function(r){if(!r.success)return alert(r.message);var b=new Blob([r.csvData],{type:'text/csv;charset=utf-8;'});var u=URL.createObjectURL(b);var a=document.createElement('a');a.href=u;a.download=r.filename||'board.csv';document.body.appendChild(a);a.click();document.body.removeChild(a);URL.revokeObjectURL(u);showToast('📥 완료!');});}\n";
var lastScript=html.lastIndexOf('<\/script>');
if(lastScript>-1){html=html.substring(0,lastScript)+boardJS+'\n'+html.substring(lastScript);changes++;}
if(changes>=5){
st.innerHTML='
✅ 병합 성공! ('+changes+'곳 수정) — 파일 다운로드 중...
';
var blob=new Blob([html],{type:'text/html;charset=utf-8'});
var url=URL.createObjectURL(blob);
var a=document.createElement('a');
a.href=url;a.download='dashboard_v17_board.html';
document.body.appendChild(a);a.click();document.body.removeChild(a);
URL.revokeObjectURL(url);
} else {
st.innerHTML='
⚠️ 일부 앵커를 찾지 못했습니다 ('+changes+'/6). 원본 파일이 맞는지 확인해주세요.