Changeset 3747744
- Timestamp:
- 10/15/2026 07:02:44 AM (11 days ago)
- Location:
- editnday
- Files:
-
- 18 edited
- 1 copied
-
tags/1.0.88 (copied) (copied from editnday/trunk )
-
tags/1.0.88/CHANGELOG.md (modified) (1 diff)
-
tags/1.0.88/build/index.asset.php (modified) (1 diff)
-
tags/1.0.88/build/index.js (modified) (1 diff)
-
tags/1.0.88/build/style-index-rtl.css (modified) (1 diff)
-
tags/1.0.88/build/style-index.css (modified) (1 diff)
-
tags/1.0.88/editnday.php (modified) (2 diffs)
-
tags/1.0.88/readme.txt (modified) (3 diffs)
-
tags/1.0.88/src/publish.js (modified) (7 diffs)
-
tags/1.0.88/src/style.scss (modified) (1 diff)
-
trunk/CHANGELOG.md (modified) (1 diff)
-
trunk/build/index.asset.php (modified) (1 diff)
-
trunk/build/index.js (modified) (1 diff)
-
trunk/build/style-index-rtl.css (modified) (1 diff)
-
trunk/build/style-index.css (modified) (1 diff)
-
trunk/editnday.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (3 diffs)
-
trunk/src/publish.js (modified) (7 diffs)
-
trunk/src/style.scss (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
editnday/tags/1.0.88/CHANGELOG.md
r3743363 r3747744 3 3 > 이 파일은 `apps/site/src/content/updates/`에서 만들어진다 (`pnpm release:plugin`). 직접 고치지 않는다. 4 4 > 웹에서 보기: https://editn.day/updates 5 6 ## 1.0.88 (2026-10-15) — 배경 틀 썸네일: 미리보기·비율·배치·직접 고른 색 7 8 - (무료) **AI 없이 배경 틀로 만들기**를 고쳤어요. 9 - 고르는 대로 바로 **미리보기**가 나와요. 10 - **비율**: 공유 1.91:1(카카오톡·페이스북 미리보기) · 가로 16:9 · 가로 4:3 · 세로 3:4 · 세로 9:16 11 - **배치**: 가운데 · 잡지형(위에 사이트 이름, 아래쪽에 짧은 막대와 큰 제목) · 아래 띠 12 - **색**: 기본 6가지에 더해 **직접 고른 색**(컬러 피커나 hex 코드). 글자색은 바탕에 맞춰 자동으로 13 - 제목이 짧으면 크게, 길면 작게 맞춰요. 마지막에 고른 것을 기억해요. 14 - AI·서버를 부르지 않고 이 컴퓨터에서 바로 그려요. 5 15 6 16 ## 1.0.77 (2026-10-13) — 읽힘 세기: 떠난 뒤 더 읽으면 보정, 성과 표 제목 따옴표 -
editnday/tags/1.0.88/build/index.asset.php
r3742866 r3747744 14 14 'wp-plugins' 15 15 ), 16 'version' => ' 22091c4fbc188e4a19f6'16 'version' => 'b728a36bc7a64e8c88e5' 17 17 ); -
editnday/tags/1.0.88/build/index.js
r3742866 r3747744 1 (()=>{"use strict";var e={786(e,t,n){var s={};n.r(s),n.d(s,{EVENT:()=>u,SLOT:()=>_,emit:()=>m,hasPro:()=>h,slot:()=>y});var d={};n.r(d),n.d(d,{Bar:()=>M,Card:()=>w,Check:()=>j,Chip:()=>S,Cta:()=>k,Elapsed:()=>E,Ghost:()=>N,Head:()=>A,Live:()=>P,Opt:()=>$,Radio:()=>O,Req:()=>I,Stepper:()=>L,Steps:()=>B,Symbol:()=>x,Tabs:()=>v,Tag:()=>C});var a={};n.r(a),n.d(a,{CONTENT_STYLE:()=>te,applyToSentence:()=>le,bodyHeadings:()=>Q,clearEmptyStart:()=>ie,contentStyleOn:()=>ne,findSentenceBlock:()=>ce,hasSection:()=>W,insertSection:()=>X,insertSectionAfter:()=>ee,plainText:()=>de,restoreBlocks:()=>oe,setTitle:()=>re,showSentence:()=>_e,withContentStyle:()=>se});var i={};n.r(i),n.d(i,{CategoryNoFit:()=>st,KoSeoCard:()=>Pt,PublishScreen:()=>Rt,TASKS:()=>ht,TEMPLATES:()=>kt,closestSentence:()=>ct,contentText:()=>tt,decode:()=>dt,ed:()=>Ze,edit:()=>Ye,hasWord:()=>lt,insertRelated:()=>It,memberOnly:()=>rt,placeVisible:()=>gt,readMeta:()=>Qe,setFineKeyword:()=>xt,strip:()=>At,tagIds:()=>yt,templateFeatured:()=>vt,titleFeatured:()=>Ct,useKoSeo:()=>Et,usePublishState:()=>ft,writeMeta:()=>et});const r=window.wp.i18n,l=window.wp.editor,o=window.wp.element,c=window.wp.hooks,_={pro:"editnday.pro",tabs:"editnday.sidebar.tabs",notice:"editnday.notice",checkItemActions:"editnday.check.itemActions",publishFieldActions:"editnday.publish.fieldActions",keywordFix:"editnday.publish.keywordFix",keywordInfo:"editnday.publish.keywordInfo",prepublishFixes:"editnday.prepublish.fixes"},u={newPost:"editnday.newPost"},h=()=>!!(0,c.applyFilters)(_.pro,null),y=(e,t={})=>{const n=(0,c.applyFilters)(e,[],t);return Array.isArray(n)?n.filter(Boolean):[]},m=(e,...t)=>(0,c.doAction)(e,...t),p=window.wp.components,g=window.wp.compose,f=window.ReactJSXRuntime,x=({size:e=16,color:t="#243235"})=>(0,f.jsx)("svg",{viewBox:"0 0 44 46.6",width:e,height:e,"aria-hidden":"true",children:(0,f.jsx)("path",{fill:t,d:"M43.22,21.083c.304-6.426-2.765-9.571-2.765-9.571-4.952-5.651-16.923-5.378-27.013-5.047-1.774,0-2.833.293-4.019.748-1.738.635-3.071,1.831-4.423,3.1-1.435,1.352-2.621,3.131-3.517,5.49C.131,19.294-.296,23.225.2,27.005c0,.003,0,.005.001.008,0,0,1.116,5.041,2.233,7.124.662,1.241,4.373,5.311,5.531,5.987,2.069,1.2,5.559,2.262,7.863,1.117-.386-.455-.814-.91-1.035-1.476-.221-.538-.221-1.228.166-1.669.11-.138.221-.262.331-.372.772.028,1.499.428,5.568.428,5.378.133,16.915,1.493,15.26-2.767-13.801-.264-20.166-.917-22.161-3.05-.475-.508-.34-1.395.13-.921,3.733,3.767,23.166,3.09,23.175,3.095,3.119.035,5.785-8.914,5.957-13.425ZM12.152,28.125c-2.019.168-3.793-2.006-2.416-3.297.971-.912,2.233-1.046,3.547.038,1.691,1.459.425,3.13-1.131,3.26Z"})}),b=()=>(0,f.jsx)("svg",{viewBox:"0 0 24 24",width:"16",height:"16",fill:"none",stroke:"#243235",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",children:(0,f.jsx)("path",{d:"M7 17L17 7M9 7h8v8"})}),j=({color:e="#fff"})=>(0,f.jsx)("svg",{viewBox:"0 0 24 24",width:"12",height:"12",fill:"none",stroke:e,strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,f.jsx)("path",{d:"M5 12.5l4.5 4.5L19 7.5"})}),w=({children:e,className:t=""})=>(0,f.jsx)("div",{className:`ed-card ${t}`,children:e}),k=({children:e,onClick:t,disabled:n})=>(0,f.jsxs)("button",{type:"button",className:"ed-cta",onClick:t,disabled:n,children:[(0,f.jsx)("span",{children:e}),(0,f.jsx)("span",{className:"ed-cta__dot",children:(0,f.jsx)(b,{})})]}),N=({children:e,onClick:t,disabled:n})=>(0,f.jsx)("button",{type:"button",className:"ed-ghost",onClick:t,disabled:n,children:e}),v=({tabs:e,value:t,onChange:n})=>(0,f.jsx)("div",{className:"ed-tabs",role:"tablist",children:e.map(([e,s])=>(0,f.jsx)("button",{type:"button",role:"tab","aria-selected":t===e,className:"ed-tab"+(t===e?" is-on":""),onClick:()=>n(e),children:s},e))}),S=({children:e,on:t,lav:n,onClick:s})=>(0,f.jsx)("button",{type:"button",className:`ed-chip${t?" is-on":""}${n?" is-lav":""}`,onClick:s,"aria-pressed":!!t,children:e}),C=({children:e,tone:t})=>(0,f.jsx)("span",{className:"ed-tag"+(t?` is-${t}`:""),children:e}),I=()=>(0,f.jsx)("span",{className:"ed-req",role:"img","aria-label":(0,r.__)("필수","editnday")}),$=()=>(0,f.jsx)("span",{className:"ed-opt",children:(0,r.__)("선택","editnday")}),A=({eyebrow:e,title:t,sub:n})=>(0,f.jsxs)("div",{className:"ed-head",children:[e&&(0,f.jsx)("span",{className:"ed-eyebrow",children:e}),(0,f.jsx)("h2",{className:"ed-h",children:t}),n&&(0,f.jsx)("p",{className:"ed-sub",children:n})]}),B=({steps:e})=>(0,f.jsx)("div",{className:"ed-steps",children:e.map(e=>(0,f.jsxs)("div",{className:`ed-step is-${e.state}`,children:[(0,f.jsx)("span",{className:"ed-circ",children:"done"===e.state&&(0,f.jsx)(j,{})}),(0,f.jsx)("span",{className:"ed-step__label",children:e.label}),e.meta&&(0,f.jsx)("span",{className:"ed-muted ed-step__meta",children:e.meta})]},e.label))});function E({since:e}){const[t,n]=(0,o.useState)(Date.now());(0,o.useEffect)(()=>{const e=setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(e)},[]);const s=Math.max(0,Math.round((t-e)/1e3));return(0,f.jsx)("span",{className:"ed-muted ed-elapsed",children:s>=60?(0,r.sprintf)(/* translators: %1$s: Math.floor( s / 60 ), %2$s: s % 60 */ /* translators: %1$s: Math.floor( s / 60 ), %2$s: s % 60 */(0,r.__)("%1$s분 %2$s초째","editnday"),Math.floor(s/60),s%60):(0,r.sprintf)(/* translators: %s: s */ /* translators: %s: s */(0,r.__)("%s초째","editnday"),s)})}const P=({text:e,since:t})=>(0,f.jsxs)("div",{className:"ed-live",children:[(0,f.jsx)("span",{className:"ed-pulse"}),(0,f.jsx)("span",{className:"ed-live__t",children:e}),(0,f.jsx)(E,{since:t})]}),M=({ratio:e,busy:t})=>(0,f.jsxs)("div",{className:"ed-bar"+(t?" is-busy":""),role:"progressbar","aria-valuenow":Math.round(100*e),"aria-valuemin":0,"aria-valuemax":100,children:[(0,f.jsx)("div",{className:"ed-bar__fill",style:{width:`${Math.max(4,100*e)}%`}}),(0,f.jsx)("div",{className:"ed-bar__hatch"})]}),O=({checked:e,onChange:t,children:n})=>{const s=`ed-radio-${(0,g.useInstanceId)(O)}`;return(0,f.jsxs)("label",{htmlFor:s,className:"ed-radio"+(e?" is-on":""),children:[(0,f.jsx)("input",{id:s,type:"radio",checked:e,onChange:t}),(0,f.jsx)("span",{className:"ed-rdot"}),(0,f.jsx)("span",{children:n})]})},T={start:[0,-1,""],research:[0,0,(0,r.__)("에디튼이 자료를 모으는 중 · 1~2분","editnday")],plan:[1,-1,""],writing:[1,1,(0,r.__)("다 쓰면 확인할 곳을 보여 드려요 · 2~3분","editnday")],review:[2,-1,(0,r.__)("확인할 곳을 정하면 발행 준비로 넘어가요","editnday")],done:[2,-1,""]},q=[(0,r.__)("주제·메모","editnday"),(0,r.__)("구성안 고르기","editnday"),(0,r.__)("확인·발행","editnday")],F=[(0,r.__)("자료 조사","editnday"),(0,r.__)("본문 쓰기","editnday")];function L({stage:e}){const t=T[e];if(!t)return null;const[n,s,d]=t,a=s>=0?s:n-1;return(0,f.jsxs)("div",{className:"ed-stepper","aria-label":(0,r.sprintf)(/* translators: 1: 지금 단계 번호, 2: 진행 중인 일 (예: ", 구성안 만드는 중") */ /* translators: 1: 지금 단계 번호, 2: 진행 중인 일 (예: ", 구성안 만드는 중") */(0,r.__)("작가가 할 일 3단계 중 %1$s단계%2$s","editnday"),n+1,s>=0?(0,r.sprintf)(/* translators: %s: 진행 중인 일 */ /* translators: %s: 진행 중인 일 */2 (0, r.__)(", %s 중","editnday"),F[s]):""),children:[(0,f.jsx)("div",{className:"ed-stepper__flow",children:q.map((e,t)=>{const d=t<=a,i=!d&&t===n&&s<0;return[(0,f.jsxs)("div",{className:`ed-stepper__st${d?" is-done":""}${i?" is-now":""}`,children:[(0,f.jsx)("span",{className:"ed-stepper__dot",children:d?(0,f.jsx)(j,{}):t+1}),(0,f.jsx)("span",{className:"ed-stepper__lbl",children:e})]},e),t<F.length&&(0,f.jsxs)("div",{className:`ed-stepper__link${t===s?" is-run":""}${t<a||t<n&&s<0?" is-done":""}`,children:[(0,f.jsx)("span",{className:"ed-stepper__line"}),(0,f.jsxs)("em",{children:[F[t],t===s?(0,r.__)("중","editnday"):""]})]},F[t])]})}),d&&(0,f.jsx)("span",{className:"ed-stepper__note",children:d})]})}const R="editnday_pro_card_off";function K({onClose:e}){return(0,f.jsxs)(p.Modal,{title:(0,r.__)("에디튼 프로","editnday"),onRequestClose:e,className:"ed-proinfo",size:"medium",children:[(0,f.jsx)("p",{children:(0,r.__)("에디튼 프로는 지금 쓰는 에디튼에 AI를 더해요. 무료 기능은 그대로이고, 같은 사이드바에 버튼과 [새 글 쓰기] 탭이 생겨요.","editnday")}),(0,f.jsxs)("ul",{children:[(0,f.jsx)("li",{children:(0,r.__)("새 글 쓰기: 주제와 메모로 자료 조사 → 구성안 → 내 문체의 초안 → 확인할 곳까지 (글 1편 10크레딧 안팎)","editnday")}),(0,f.jsx)("li",{children:(0,r.__)("글 점검에서 찾은 문장을 AI로 고치기, 줄이기, 다시 쓰기","editnday")}),(0,f.jsx)("li",{children:(0,r.__)("발행 준비 칸 채우기: 발췌문·태그·카테고리·영문 주소·SEO 제목과 설명·요약·질문답 (한 번에)","editnday")}),(0,f.jsx)("li",{children:(0,r.__)("대표 이미지 만들기(1장 1크레딧)와 ALT, 단락 더 쓰기(1크레딧)","editnday")})]}),(0,f.jsx)("p",{className:"ed-muted",children:(0,r.__)("프로를 설치하고 라이선스를 넣으면 바로 쓸 수 있어요. 지금 이 화면의 기능은 프로 없이도 계속 무료예요.","editnday")}),(0,f.jsx)("p",{children:(0,f.jsx)("a",{className:"components-button is-primary",href:"https://editn.day/",target:"_blank",rel:"noopener noreferrer",children:(0,r.__)("에디튼 프로 알아보기","editnday")})})]})}function D({label:e}){const[t,n]=(0,o.useState)(!1);return h()?null:(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("button",{type:"button",className:"ed-prohint",onClick:()=>n(!0),children:[e," ",(0,f.jsx)("span",{className:"ed-prohint__tag",title:(0,r.__)("프로","editnday"),children:"P"})]}),t&&(0,f.jsx)(K,{onClose:()=>n(!1)})]})}const H=()=>{try{return"1"===window.localStorage.getItem(R)}catch(e){return!1}};function U(){const[e,t]=(0,o.useState)(H),[n,s]=(0,o.useState)(!1);return h()||e?null:(0,f.jsxs)(w,{className:"ed-procard",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsxs)("span",{className:"ed-lbl",children:[(0,r.__)("초안도 써 드려요","editnday")," ",(0,f.jsx)("span",{className:"ed-prohint__tag",title:(0,r.__)("프로","editnday"),children:"P"})]}),(0,f.jsx)("button",{type:"button",className:"ed-link ed-muted",onClick:()=>{t(!0);try{window.localStorage.setItem(R,"1")}catch(e){}},"aria-label":(0,r.__)("이 안내 닫기","editnday"),children:(0,r.__)("닫기","editnday")})]}),(0,f.jsx)("span",{className:"ed-small",children:(0,r.__)("에디튼 프로는 주제와 메모만으로 자료를 찾아 내 문체의 초안을 쓰고, 여기서 찾은 문장도 AI로 고쳐요.","editnday")}),(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>s(!0),children:(0,r.__)("자세히 보기","editnday")}),n&&(0,f.jsx)(K,{onClose:()=>s(!1)})]})}const V=window.wp.apiFetch;var z=n.n(V);const G=window.wp.blocks,J=window.wp.data;function W(e){return(0,J.select)("core/block-editor").getBlocks().some(t=>"core/heading"===t.name&&t.attributes?.metadata?.editnday===e)}function X({id:e,heading:t,text:n}){if(e&&W(e))return!1;const s=[(0,G.createBlock)("core/heading",{level:2,content:ue(t),metadata:{editnday:e}})],d=(0,G.pasteHandler)({plainText:String(n).replace(/~/g,"\\~"),mode:"BLOCKS"});return s.push(...(Array.isArray(d)?d:[]).map(se)),(0,J.dispatch)("core/block-editor").insertBlocks(s),!0}const Z=e=>String(e.attributes?.content??"").replace(/<[^>]+>/g,"").trim(),Y=e=>"faq"===e.attributes?.metadata?.editnday;function Q(){return(0,J.select)("core/block-editor").getBlocks().filter(e=>"core/heading"===e.name&&2===(e.attributes.level??2)&&Z(e)).map(Z)}function ee({heading:e,text:t,afterHeading:n}){const s=(0,J.select)("core/block-editor").getBlocks(),d=e=>"core/heading"===e.name&&2===(e.attributes.level??2),a=s.findIndex(Y),i=a>=0?a:s.length,r=s.findIndex(e=>d(e)&&Z(e)===n);let l=i;if(r>=0&&r<i){const e=s.findIndex((e,t)=>t>r&&d(e));l=e>=0&&e<i?e:i}const o=(0,G.pasteHandler)({plainText:String(t).replace(/~/g,"\\~"),mode:"BLOCKS"}),c=[(0,G.createBlock)("core/heading",{level:2,content:ue(e),metadata:{editnday:`extra-${Date.now()}`}}),...(Array.isArray(o)?o:[]).map(se)];return(0,J.dispatch)("core/block-editor").insertBlocks(c,l),c.map(e=>e.clientId)}const te="is-style-editnday",ne=()=>"off"!==window.editndayConfig?.contentStyle;function se(e){if("core/list"!==e?.name&&"core/table"!==e?.name||!ne())return e;const t=e.attributes.className||"";return/\bis-style-/.test(t)||(e.attributes.className=`${t} ${te}`.trim()),e}const de=e=>String(e).replace(/\[([^\]]+)\]\([^)]*\)/g,"$1"),ae=e=>String(e).replace(/\[([^\]]+)\]\(([^)\s]+)\)/g,'<a href="$2">$1</a>');function ie(){const e=(0,J.select)("core/block-editor").getBlocks();1!==e.length||"core/paragraph"!==e[0].name||e[0].attributes.content||(0,J.dispatch)("core/block-editor").removeBlocks([e[0].clientId])}function re(e){(0,J.dispatch)("core/editor").editPost({title:e})}function le(e,t){const n=(0,J.select)("core/block-editor"),s=n=>{for(const d of n){if("core/paragraph"===d.name||"core/list-item"===d.name){const n=String(d.attributes.content??""),s=[e,ae(e),de(e)].find(e=>n.includes(e)),a=s?n.indexOf(s):-1;if(a>=0){const e=(n.slice(0,a)+ae(t??"")+n.slice(a+s.length)).replace(/\s{2,}/g," ").trim();return(0,J.dispatch)("core/block-editor").updateBlockAttributes(d.clientId,{content:e}),{clientId:d.clientId,before:n}}}const n=!!d.innerBlocks?.length&&s(d.innerBlocks);if(n)return n}return!1};return s(n.getBlocks())}function oe(e){const t=(0,J.select)("core/block-editor");for(const n of[...e].reverse())t.getBlock(n.clientId)&&(0,J.dispatch)("core/block-editor").updateBlockAttributes(n.clientId,{content:n.before})}function ce(e){const t=[e,ae(e),de(e)],n=e=>{for(const s of e){const e=String(s.attributes?.content??"");if(e&&t.some(t=>e.includes(t)))return s.clientId;const d=s.innerBlocks?.length&&n(s.innerBlocks);if(d)return d}return null};return n((0,J.select)("core/block-editor").getBlocks())}function _e(e){const t=ce(e);if(!t)return!1;const n=document.querySelector('iframe[name="editor-canvas"]')?.contentDocument||document,s=n.querySelector(`[data-block="${t}"]`),d=n.defaultView,a=s&&function(e,t){const n=e.ownerDocument,s=n.createTreeWalker(e,4),d=[];let a="";for(let e=s.nextNode();e;e=s.nextNode())d.push({n:e,start:a.length}),a+=e.nodeValue;const i=e=>e.replace(/\s+/g," "),r=i(a).indexOf(i(t).trim());if(r<0)return null;const l=[];for(let e=0,t=!1;e<a.length;e++){const n=/\s/.test(a[e]);n&&t||l.push(e),t=n}const o=l[r],c=(l[r+i(t).trim().length-1]??a.length-1)+1,_=e=>{const t=d.findLastIndex(t=>t.start<=e),n=d[Math.max(0,t)];return[n.n,Math.min(e-n.start,n.n.nodeValue.length)]},u=n.createRange();return u.setStart(..._(o)),u.setEnd(..._(c)),u}(s,de(e));if(!a||!d?.CSS?.highlights||"function"!=typeof d.Highlight)return(0,J.dispatch)("core/block-editor").selectBlock(t),(0,J.dispatch)("core/block-editor").flashBlock?.(t),!0;(a.startContainer.parentElement||s).scrollIntoView({behavior:"smooth",block:"center"});let i=n.getElementById("editnday-mark-style");i||(i=n.createElement("style"),i.id="editnday-mark-style",n.head.appendChild(i)),d.CSS.highlights.set("editnday-mark",new d.Highlight(a));const r=Date.now();return clearInterval(_e.timer),_e.timer=setInterval(()=>{const e=Date.now()-r,t=e<2500?.75:Math.max(0,.75*(1-(e-2500)/1500));i.textContent=`::highlight(editnday-mark){background-color:rgba(211,183,241,${t.toFixed(3)});color:inherit}`,0===t&&(clearInterval(_e.timer),d.CSS.highlights.delete("editnday-mark"))},50),!0}const ue=e=>String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),he=(e,t,n="낱말")=>({re:new RegExp(`(?<![가-힣])${e}`,"g"),fix:t,kind:n}),ye=(e,t)=>({re:new RegExp(e,"g"),fix:t,kind:"어미"}),me=[he("몇 ?일(?!본|반|부|정|자리|손|꾼|요일|단|등|대|원|차)","며칠"),he("웬지","왠지"),he("왠만","웬만"),he("왠일","웬일"),he("왠걸","웬걸"),he("왠 (?=[가-힣])","웬 "),he("금새","금세"),he("일일히","일일이"),he("깨끗히","깨끗이"),he("틈틈히","틈틈이"),he("곰곰히","곰곰이"),he("번번히","번번이"),he("일찌기","일찍이"),he("오랫만","오랜만"),he("오랜동안","오랫동안"),he("설겆이","설거지"),he("희안","희한"),he("어의없","어이없"),he("역활","역할"),he("되물림","대물림"),he("구지(?= |[.,])","굳이"),he("어짜피","어차피"),he("어줍잖","어쭙잖"),he("널부러","널브러"),he("닥달","닦달"),he("짜집기","짜깁기"),he("설레임","설렘"),he("설레이","설레"),he("헤매이","헤매"),he("되뇌이","되뇌"),he("애시당초","애당초"),he("무릎쓰","무릅쓰"),he("뒤치닥거리","뒤치다꺼리"),he("개거품","게거품"),he("칠흙","칠흑"),he("희노애락","희로애락"),he("인권비","인건비"),he("뇌졸증","뇌졸중"),he("숫가락","숟가락"),he("육계장","육개장"),{re:/찌게(?! ?(하|해|했|되|만들))/g,fix:"찌개",kind:"낱말"},he("떡볶기","떡볶이"),he("윗층","위층"),he("윗쪽","위쪽"),he("아랫층","아래층"),he("가르키","가리키(가리킬 때)·가르치(알려 줄 때)"),he("모자르","모자라"),he("들어나(?=[다고는면서지])","드러나"),he("들어났","드러났"),he("어떡게","어떻게"),he("어떻해","어떡해"),ye("되요","돼요"),ye("되서(?![가-힣])","돼서"),ye("되야","돼야"),ye("됬","됐"),ye("떄","때"),ye("됀","된"),ye("뵈요","봬요"),ye("뵜","뵀"),ye("(?<=[가-힣])이예요","이에요"),ye("아니예요","아니에요"),ye("있슴(?![가-힣])","있음"),ye("없슴(?![가-힣])","없음"),ye("알맞는","알맞은"),ye("걸맞는","걸맞은"),ye("치뤄","치러"),ye("치뤘","치렀"),ye("잠궈","잠가"),ye("잠궜","잠갔"),ye("담궈","담가"),ye("담궜","담갔"),ye("삼가해","삼가"),ye("(?<![가-힣])할려고","하려고"),ye("(?<![가-힣])할려면","하려면"),ye("(?<![가-힣])볼려고","보려고"),ye("(?<![가-힣])먹을려고","먹으려고"),ye("(?<![가-힣])될려고","되려고"),ye("안절부절(?=하|했|한)","안절부절못"),{re:/않(?= ?(하|해|했|된|되|돼))/g,fix:"안",kind:"어미"},{re:/(?<=지 )안(?=[아았는을])/g,fix:"않",kind:"어미"},{re:/가능한 (?=빨리|많이|빠르게|일찍|자주|정확하게|짧게)/g,fix:"가능한 한 ",kind:"표현"},{re:/(?<=답을 )맞(?=추|춰|췄)/g,fix:"맞히(정답을 맞히다)",kind:"표현"},{re:/(?<=사단이 )(났|나)/g,fix:"'사달이 났다'",kind:"표현"},{re:/(?<=(?:하기|하시기|되기|되시기|가기|오기)를 )바래/g,fix:"바라",kind:"표현"},{re:/(?<=(?:하길|되길|가길|오길) )바래/g,fix:"바라",kind:"표현"},he("컨텐츠","콘텐츠","외래어"),he("메세지","메시지","외래어"),he("악세사리","액세서리","외래어"),he("악세서리","액세서리","외래어"),he("리더쉽","리더십","외래어"),he("멤버쉽","멤버십","외래어"),he("파트너쉽","파트너십","외래어"),he("스폰서쉽","스폰서십","외래어"),he("타겟","타깃","외래어"),he("비지니스","비즈니스","외래어"),he("워크샵","워크숍","외래어"),he("스케쥴","스케줄","외래어"),he("쥬스","주스","외래어"),he("초콜렛","초콜릿","외래어"),he("케익","케이크","외래어"),he("카페트","카펫","외래어"),he("부페","뷔페","외래어"),he("렌트카","렌터카","외래어"),he("프로포즈","프러포즈","외래어"),he("로보트","로봇","외래어"),he("앙케이트","앙케트","외래어"),he("엑세스","액세스","외래어"),he("어플리케이션","애플리케이션","외래어"),he("싸이트","사이트","외래어"),he("화이팅","파이팅","외래어"),he("데이타","데이터","외래어"),he("컨셉","콘셉트","외래어"),he("팜플렛","팸플릿","외래어")],pe=e=>(e.charCodeAt(0)-44032)%28,ge=e=>!!e&&e>="가"&&e<="힣";function fe(e){const t=[];for(const n of e.matchAll(/([가-힣])(께|껄)(?=요|[\s.,!?~]|$)/g))8===pe(n[1])&&t.push({wrong:n[0],fix:`${n[1]}${"께"===n[2]?"게":"걸"}`});return t}function xe(e){const t=[];for(const n of e.matchAll(/([가-힣])(율|률)/g)){if(!ge(n[1]))continue;const e=pe(n[1]),s=0===e||4===e?"율":"률";n[2]!==s&&t.push({wrong:n[0],fix:`${n[1]}${s}`})}return t}function be(e){const t=[];for(const n of je(e.text)){const s=[];for(const e of me)for(const t of n.matchAll(e.re))s.push({wrong:t[0].trim(),fix:e.fix.trim()});s.push(...fe(n),...xe(n));const d=new Set;for(const a of s)d.has(a.wrong)||(d.add(a.wrong),t.push({sectionId:e.id,rule:"common_mistake",severity:"warn",detail:`"${a.wrong}" → "${a.fix}"`,sentence:n}))}return t}function je(e){return function(e){return e.replace(/\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/https?:\/\/\S+/g,"")}(e).replace(/\n+/g,"\n").split(/(?<=[.!?。])\s+|\n/).map(e=>e.replace(/^[#>\-*\s|]+/,"").trim()).filter(e=>e.length>3&&!e.startsWith("|"))}function we(e){const t=je(e).map(e=>e.length),n=t.length||1;return{chars:e.replace(/^#.*$/gm,"").trim().length,sentences:t.length,sentenceAvg:Math.round(t.reduce((e,t)=>e+t,0)/n*10)/10,long100:Math.round(t.filter(e=>e>=100).length/n*1e3)/10,short25:Math.round(t.filter(e=>e<25).length/n*1e3)/10}}const ke=[{re:/완벽한|압도적인|독보적인|특별한 경험/,label:"상투 극찬"},{re:/이상으로 .{0,10}(살펴|알아)/,label:"요약형 맺음"},{re:/(이번 글|이 글)에서(는)? .{0,30}(살펴보|알아보|따라가|다루|정리해)/,label:"메타 서술"},{re:/결론적으로|요약하자면|정리하자면|^정리하면|^요컨대|^종합하면/,label:"정리형 연결어"},{re:/(앞으로|다음에는?|이제부터).{0,40}(보게|하게|찾게|쓰게|되게) 될 것 같다/,label:"작가 행동을 지어냈을 수 있음"},{re:/(기준|대상)[이가과은는]?.{0,12}(다르|달라).{0,20}(겹쳐|합쳐|곧바로|하나로|그대로).{0,8}(읽|비교|보)/,label:"정형 문장 (기준이 달라 합쳐 읽기 어렵다)"}];function Ne(e,t=[]){const n=[];for(const s of je(e.text)){for(const t of ke)t.re.test(s)&&n.push({sectionId:e.id,rule:"banned_phrase",severity:"warn",detail:t.label,sentence:s});for(const d of t)d&&s.includes(d)&&n.push({sectionId:e.id,rule:"banned_phrase",severity:"block",detail:`금지 표현 "${d}"`,sentence:s})}return n}const ve=/[\u3040-\u30ff\u31f0-\u31ff\uff66-\uff9f]/,Se=/[\u3400-\u4dbf\u4e00-\u9fff]/g;function Ce(e,t=100){return je(e.text).filter(e=>e.length>t).map(n=>({sectionId:e.id,rule:"long_sentence",severity:"warn",detail:`${n.length}자 문장 (${t}자 넘음)`,sentence:n}))}const Ie=/^(또한|그리고|하지만|그러나|그런데|또|특히|이처럼|따라서|즉|게다가|물론|결국)[\s,]/;function $e(e){const t=je(e.text),n=t.map(e=>e.split(/[\s,]/)[0]??""),s=[];for(let d=1;d<t.length;d++){const a=n[d];if(a.length<2||a!==n[d-1])continue;const i=Ie.test(t[d])&&Ie.test(t[d-1]),r=d>=2&&n[d-2]===a;(i||r)&&s.push({sectionId:e.id,rule:"same_start",severity:"warn",detail:`"${a}"(으)로 시작하는 문장이 이어짐`,sentence:t[d]})}return s}const Ae=new RegExp(`(?:^|[\\s"'(“‘])(${["정말","정말로","진짜","진짜로","너무","너무나","아주","매우","완전","엄청","굉장히","상당히","꽤","좀","조금","약간","거의","솔직히","사실","항상","늘","자주","무척","되게","많이","훨씬","딱","전혀","결코","절대","분명","확실히","당연히","역시","그냥","막","가장","제일","특히"].join("|")})(?=[\\s,.!?)”’]|$)`,"g");function Be(e,t=1){return je(e.text).flatMap(n=>{const s=[...n.matchAll(Ae)].map(e=>e[1]??"");return s.length>t?[{sectionId:e.id,rule:"adverb_heavy",severity:"warn",detail:`부사 ${s.length}개: ${s.join("·")}`,sentence:n}]:[]})}const Ee=/(?:고|는데|ㄴ데|은데|지만|며|면서|거나|니까|므로|어서|아서|해서|라서|려고|더니|다가)(?=[,\s])/g,Pe=/(?:^|\s)(그리고|그런데|그래서|그러나|하지만|그러면서|그러니까|그러므로|그렇지만|그러다가)(?=[,\s])/g;function Me(e,t=3){return je(e.text).flatMap(n=>{const s=(n.replace(Pe," ").match(Ee)??[]).length+1;return s>t?[{sectionId:e.id,rule:"many_clauses",severity:"warn",detail:`절 ${s}개`,sentence:n}]:[]})}function Oe(e){const t=e.map(e=>e.text).join("\n");if(!/\d{1,3}(,\d{3})+/.test(t))return[];const n=[];for(const t of e)for(const e of je(t.text))for(const s of e.matchAll(/(?<![\d,.])(\d{4,})(?![\d,])/g)){const d=Number(s[1]),a=e.slice(s.index+s[1].length),i=e.slice(0,s.index);4===s[1].length&&(d>=1900&&d<=2099||/^\s*(년|~)/.test(a)||/~\s*$/.test(i))||n.push({sectionId:t.id,rule:"number_format",severity:"warn",detail:`"${s[1]}" — 다른 곳은 쉼표를 썼어요 (${Number(d).toLocaleString("en-US")})`,sentence:e})}return n}function Te(e){const t=e.evidence.join(" ");return je(e.text).filter(e=>[...e.match(new RegExp(ve.source,"g"))??[],...e.replace(/\([^()]*\)/g,"").match(Se)??[]].some(e=>!t.includes(e))).map(t=>({sectionId:e.id,rule:"foreign_script",severity:"warn",detail:"한국어가 아닌 글자(일본어·한자)가 섞였어요",sentence:t}))}const qe={da:"-다",yo:"-요",sumnida:"-습니다"};function Fe(e,t="da"){const n=je(e.text).map(e=>({sent:e,t:e.replace(/[.!?"'”’)\]\s]+$/,"")}));return"da"===t?n.filter(({sent:e})=>/([어아여해에예지네]요|죠|(?<!아)니다)[.!]?$/.test(e)).map(({sent:t})=>({sectionId:e.id,rule:"ending_mixed",severity:"warn",detail:"평서체('-다') 글에 다른 어미",sentence:t})):n.filter(({t:e})=>/다$/.test(e)&&!/(니다|니까)$/.test(e)).map(({sent:n})=>({sectionId:e.id,rule:"ending_mixed",severity:"warn",detail:`존댓말('${qe[t]}') 글에 평서체('-다') 문장`,sentence:n}))}function Le(e){const t=new Map;for(const n of e)for(const e of je(n.text)){const s=e.split(/\s+/);for(let d=0;d+3<=s.length;d++){const a=s.slice(d,d+3).join(" ");if(a.length<8)continue;const i=t.get(a)??{n:0,sectionId:n.id,sentence:e};i.n++,t.set(a,i)}}return[...t.entries()].filter(([,e])=>e.n>=3).map(([e,t])=>({sectionId:t.sectionId,rule:"repetition",severity:"warn",detail:`"${e}" ${t.n}회 반복`,sentence:t.sentence}))}const Re=e=>{const t=e.replace(/\s+/g,""),n=new Set;for(let e=0;e+2<=t.length;e++)n.add(t.slice(e,e+2));return n};function Ke(e,t=.4){const n=e.flatMap(e=>je(e.text).filter(e=>e.length>=20).map(t=>({id:e.id,x:t,g:Re(t)}))),s=[],d=new Set;for(let e=0;e<n.length;e++)for(let a=e+1;a<n.length;a++){const i=n[e],r=n[a];if(i.id===r.id||d.has(r.x))continue;let l=0;i.g.forEach(e=>r.g.has(e)&&l++),l/(i.g.size+r.g.size-l)<t||(d.add(r.x),s.push({sectionId:r.id,rule:"repeated_sentence",severity:"warn",detail:`앞에서 거의 같은 말을 했어요: "${i.x.length>60?`${i.x.slice(0,60)}…`:i.x}"`,sentence:r.x}))}return s}const De=["core/paragraph","core/heading","core/list-item","core/quote","core/pullquote","core/verse"],He=e=>String(e??"").replace(/<br\s*\/?>/gi,"\n").replace(/<[^>]+>/g,"").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/�?39;/g,"'").replace(/&#(\d+);/g,(e,t)=>String.fromCodePoint(Number(t))).replace(/&#x([0-9a-f]+);/gi,(e,t)=>String.fromCodePoint(parseInt(t,16))).trim(),Ue=e=>["summary","faq"].includes(e?.attributes?.metadata?.editnday)||/\beditnday-(summary|faq|related)/.test(e?.attributes?.className||"");function Ve(e){const t=[],n=e=>{for(const s of e||[])if(!Ue(s)){if("core/paragraph"===s.name){const e=He(s.attributes?.content);e.length>500&&t.push({rule:"long_paragraph",detail:(0,r.sprintf)(/* translators: %s: t.length */ /* translators: %s: t.length */(0,r.__)("%s자 단락","editnday"),e.length),sentence:`${e.slice(0,40)}…`,clientId:s.clientId})}"core/image"!==s.name||String(s.attributes?.alt??"").trim()||t.push({rule:"image_alt",detail:(0,r.__)("대체 텍스트 없음","editnday"),sentence:(0,r.sprintf)(/* translators: %s: String( b.attributes?.url ?? '' ) .split( '/' ) .pop() || '' */ /* translators: %s: String( b.attributes?.url ?? '' ) .split( '/' ) .pop() || '' */(0,r.__)("이미지 %s","editnday"),String(s.attributes?.url??"").split("/").pop()||"").trim(),clientId:s.clientId}),n(s.innerBlocks)}};return n(e),t}function ze(e){const t=function(e){const t=[];let n={id:"s0",heading:"",lines:[],blockIds:[]},s=0;const d=e=>{for(const a of e||[])if(!Ue(a))if("core/heading"===a.name&&(a.attributes?.level??2)<=2)(n.lines.length||n.heading)&&t.push(n),n={id:"s"+ ++s,heading:He(a.attributes?.content),lines:[],blockIds:[a.clientId]};else{if(De.includes(a.name)){const e=He(a.attributes?.content??a.attributes?.value??a.attributes?.citation);e&&(n.lines.push(e),n.blockIds.push(a.clientId))}d(a.innerBlocks)}};return d(e),(n.lines.length||n.heading)&&t.push(n),t.map(e=>({id:e.id,heading:e.heading,text:e.lines.join("\n"),evidence:[],blockIds:e.blockIds}))}(e),n=t.map(e=>e.text).join("\n"),s=function(e){const t={da:0,yo:0,sumnida:0};for(const n of je(e)){const e=n.replace(/[.!?"'”’)\]\s]+$/,"");/(니다|니까)$/.test(e)?t.sumnida++:/([어아여해에예지네]요|죠)$/.test(e)?t.yo++:/다$/.test(e)&&t.da++}return t.da+t.yo+t.sumnida<4?null:Object.entries(t).sort((e,t)=>t[1]-e[1])[0][0]}(n),d=[...t.flatMap(e=>[...Ne(e),...be(e),...s?Fe(e,s):[],...Te(e),...Ce(e),...Be(e),...Me(e),...$e(e)]),...Ke(t),...Le(t),...Oe(t),...Ve(e)];return{sections:t,ending:s,issues:d,metrics:we(n)}}const Ge=[(0,r.__)("에서부터","editnday"),(0,r.__)("이라는","editnday"),(0,r.__)("이라고","editnday"),(0,r.__)("으로는","editnday"),(0,r.__)("에서는","editnday"),(0,r.__)("에서도","editnday"),(0,r.__)("으로서","editnday"),(0,r.__)("으로써","editnday"),(0,r.__)("이에요","editnday"),(0,r.__)("입니다","editnday"),(0,r.__)("에게","editnday"),(0,r.__)("에서","editnday"),(0,r.__)("한테","editnday"),(0,r.__)("으로","editnday"),(0,r.__)("까지","editnday"),(0,r.__)("부터","editnday"),(0,r.__)("처럼","editnday"),(0,r.__)("보다","editnday"),(0,r.__)("이나","editnday"),(0,r.__)("이란","editnday"),(0,r.__)("이라","editnday"),(0,r.__)("이랑","editnday"),(0,r.__)("이다","editnday"),(0,r.__)("인데","editnday"),(0,r.__)("이고","editnday"),(0,r.__)("이며","editnday"),(0,r.__)("이죠","editnday"),(0,r.__)("이야","editnday"),(0,r.__)("로서","editnday"),(0,r.__)("로써","editnday"),(0,r.__)("로는","editnday"),(0,r.__)("에는","editnday"),(0,r.__)("에도","editnday"),(0,r.__)("와는","editnday"),(0,r.__)("과는","editnday"),(0,r.__)("라는","editnday"),(0,r.__)("라고","editnday"),(0,r.__)("마다","editnday"),(0,r.__)("조차","editnday"),(0,r.__)("밖에","editnday"),(0,r.__)("예요","editnday"),(0,r.__)("은","editnday"),(0,r.__)("는","editnday"),(0,r.__)("이","editnday"),(0,r.__)("가","editnday"),(0,r.__)("을","editnday"),(0,r.__)("를","editnday"),(0,r.__)("의","editnday"),(0,r.__)("에","editnday"),(0,r.__)("께","editnday"),(0,r.__)("로","editnday"),(0,r.__)("와","editnday"),(0,r.__)("과","editnday"),(0,r.__)("도","editnday"),(0,r.__)("만","editnday"),(0,r.__)("나","editnday"),(0,r.__)("란","editnday"),(0,r.__)("라","editnday"),(0,r.__)("랑","editnday"),(0,r.__)("다","editnday"),(0,r.__)("인","editnday"),(0,r.__)("고","editnday"),(0,r.__)("며","editnday"),(0,r.__)("죠","editnday"),(0,r.__)("야","editnday"),(0,r.__)("뿐","editnday")],Je=e=>!!e&&/[\p{L}\p{N}]/u.test(e);function We(e,t){const n=String(t||"").toLowerCase().replace(/\s+/g,""),s=String(e||"").toLowerCase();if(!n||!s)return 0;const d=[];let a="";for(let e=0;e<s.length;e++)/\s/.test(s[e])||(d.push(e),a+=s[e]);let i=0,r=0;for(;;){const e=a.indexOf(n,r);if(e<0)break;r=e+1;const t=d[e],l=d[e+n.length-1]+1;if(Je(s[t-1]))continue;const o=s.slice(l);if(!Je(o[0])){i++;continue}const c=Ge.find(e=>o.startsWith(e));c&&!Je(o[c.length])&&i++}return i}const Xe=(e,t="")=>(e.find(([e])=>e)||[null,t])[1],Ze=()=>(0,J.select)("core/editor"),Ye=e=>(0,J.dispatch)("core/editor").editPost(e),Qe=e=>{try{return JSON.parse(Ze().getEditedPostAttribute("meta")?.[e]||"{}")||{}}catch(e){return{}}},et=(e,t)=>Ye({meta:{[e]:JSON.stringify(t)}}),tt=()=>String(Ze().getEditedPostContent()).replace(/<!--[\s\S]*?-->/g,"").replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim();function nt({near:e=[]}){const{all:t,chosen:n}=(0,J.useSelect)(e=>({all:e("core").getEntityRecords("taxonomy","category",{per_page:100,hide_empty:!1,_fields:"id,name"})||[],chosen:e("core/editor").getEditedPostAttribute("categories")||[]}),[]);return(0,f.jsx)("span",{className:"ed-chips",children:t.filter(e=>e.id!==it()).map(t=>(0,f.jsxs)(S,{on:n.includes(t.id),lav:!n.includes(t.id)&&e.includes(dt(t.name)),onClick:()=>(e=>{const t=n.includes(e)?n.filter(t=>t!==e):[...n.filter(e=>e!==it()),e];Ye({categories:t.length?t:[it()]})})(t.id),children:[dt(t.name),rt(t.id)&&(0,f.jsx)("span",{className:"ed-chip__lock",title:(0,r.sprintf)(/* translators: %s: memberOnly( c.id ).join( ', ' ) */ /* translators: %s: memberOnly( c.id ).join( ', ' ) */(0,r.__)("SureMembers 회원 전용: %s","editnday"),rt(t.id).join(", ")),children:(0,r.__)("회원 전용","editnday")})]},t.id))})}function st({panel:e,onDone:t}){const[n,s]=(0,o.useState)(null),[d,a]=(0,o.useState)(!1),[i,l]=(0,o.useState)(null);return(0,f.jsxs)("div",{className:"ed-redo",children:[(0,f.jsxs)("span",{className:"ed-small",children:[(0,r.__)("딱 맞는 카테고리가 없어요.","editnday")," ",e.near?.length?(0,r.__)("보라색이 그나마 가까운 곳이에요.","editnday"):"",(0,r.__)("골라 주세요.","editnday")]}),(0,f.jsx)(nt,{near:e.near||[]}),null===n?(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>s(e.suggest||""),children:(0,r.__)("+ 새 카테고리 만들기","editnday")}):(0,f.jsxs)("div",{className:"ed-row ed-gap6",children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,placeholder:(0,r.__)("새 카테고리 이름","editnday"),value:n,onChange:s}),(0,f.jsx)("button",{type:"button",className:"ed-mini",disabled:d||!n.trim(),onClick:async()=>{a(!0),l(null);try{const e=await z()({path:"/wp/v2/categories",method:"POST",data:{name:n.trim()}}).catch(async e=>"term_exists"===e?.code?{id:e.data?.term_id}:Promise.reject(e));e?.id&&Ye({categories:[e.id]}),t?.()}catch(e){l((0,r.__)("카테고리를 만들지 못했어요. 권한을 확인해 주세요.","editnday"))}finally{a(!1)}},children:(0,r.__)("만들기","editnday")})]}),i&&(0,f.jsx)("span",{className:"ed-small is-error",children:i})]})}const dt=e=>{const t=document.createElement("textarea");return t.innerHTML=e,t.value},at=e=>{try{return decodeURIComponent(e||"")}catch(t){return e||""}},it=()=>window.editndayConfig?.defaultCategory,rt=e=>window.editndayConfig?.memberCategories?.[e]||null,lt=(e,t)=>{const n=String(t||"").trim();if(!n)return!1;const s=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`(^|[^\\p{L}\\p{N}])${s}($|[^\\p{L}\\p{N}])`,"iu").test(String(e||""))},ot=/(에서|으로|부터|까지|에게|처럼|보다|의|은|는|이|가|을|를|와|과|로|에|도|만)$/;function ct(e){const t=e.split(/\s+/).map(e=>e.replace(ot,"").toLowerCase()).filter(Boolean);let n=null;const s=e=>{for(const d of e){if("core/paragraph"===d.name||"core/list-item"===d.name){const e=He(String(d.attributes.content??""));for(const s of e.split(/(?<=[.!?。])\s+/)){const e=s.trim();if(e.length<8)continue;const d=e.toLowerCase(),a=t.filter(e=>d.includes(e)).length;a&&(!n||a>n.score)&&(n={sentence:e,score:a})}}d.innerBlocks?.length&&s(d.innerBlocks)}};return s((0,J.select)("core/block-editor").getBlocks()),n?.sentence??null}function _t({keyword:e}){const t=(0,J.useSelect)(e=>e("core/block-editor").getBlocks(),[]),n=(0,o.useMemo)(()=>ct(e),[e,t]);return n?(0,f.jsxs)("span",{className:"ed-kwplace",children:[(0,f.jsx)("span",{className:"ed-muted",children:(0,r.sprintf)(/* translators: %s: Fine Keyword */ /* translators: %s: Fine Keyword */3 (0, r.__)('이 문장에 "%s"를 그대로 넣으면 돼요:',"editnday"),e)}),(0,f.jsx)("span",{className:"ed-quote",children:n}),(0,f.jsxs)("span",{className:"ed-row ed-gap6",children:[(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>_e(n),children:(0,r.__)("본문에서 보기","editnday")}),y(_.keywordFix,{keyword:e,sentence:n})]})]}):(0,f.jsx)("span",{className:"ed-muted ed-kwplace",children:(0,r.sprintf)(/* translators: %s: Fine Keyword */ /* translators: %s: Fine Keyword */4 (0, r.__)('본문 첫 단락에 "%s"를 그대로 한 번 넣어 보세요 (바로 뒤에 조사 없이).',"editnday"),e)})}function ut({keyword:e,seo:t}){const[n,s]=(0,o.useState)(!1),d=window.editndayConfig?.seoPlugin;if(!e?.trim()||!d)return null;const a=[!lt(tt(),e)&&(0,r.__)("본문","editnday"),!lt(t.title,e)&&(0,r.__)("제목","editnday"),!lt(t.description,e)&&(0,r.__)("설명","editnday")].filter(Boolean);return a.length?(0,f.jsxs)("span",{className:"ed-small is-warn",children:[(0,r.sprintf)(/* translators: 1: SEO 플러그인 이름, 2: 키워드를 못 찾은 곳 (예: 본문·제목) */ /* translators: 1: SEO 플러그인 이름, 2: 키워드를 못 찾은 곳 (예: 본문·제목) */5 (0, r.__)("%1$s 점수로는 %2$s에서 못 찾아요","editnday"),d,a.join("·"))," ",(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>s(!n),children:n?(0,r.__)("닫기","editnday"):(0,r.__)("왜?","editnday")}),n&&(0,f.jsx)("span",{className:"ed-muted ed-koseo__hint",children:(0,r.__)("조사가 붙거나('코스피는') 띄어쓰기가 다르면 다른 말로 봐요. 구글·네이버는 같은 말로 보니 점수만의 문제예요.","editnday")}),!lt(tt(),e)&&(0,f.jsx)(_t,{keyword:e})]}):(0,f.jsx)("span",{className:"ed-small",children:(0,r.sprintf)(/* translators: %s: SEO 플러그인 이름 */ /* translators: %s: SEO 플러그인 이름 */6 (0, r.__)("%s 키워드 점검 통과","editnday"),d)})}const ht=[["excerpt",(0,r.__)("발췌문","editnday")],["tags",(0,r.__)("태그","editnday"),(0,r.__)("있는 태그 우선","editnday")],["category",(0,r.__)("카테고리","editnday"),(0,r.__)("있는 것 중에서","editnday")],["slug",(0,r.__)("영문 주소","editnday")],["seo",(0,r.__)("SEO 제목·설명","editnday"),(0,r.__)("Fine Keyword 포함","editnday")],["aeo","AEO",(0,r.__)("질문·답","editnday")],["geo","GEO",(0,r.__)("AI 인용용 요약","editnday")]];async function yt(e){const t=[];for(const n of e){const e=(await z()({path:`/wp/v2/tags?search=${encodeURIComponent(n)}&per_page=20&_fields=id,name`})).find(e=>e.name===n);t.push(e?e.id:(await z()({path:"/wp/v2/tags",method:"POST",data:{name:n}})).id)}return t}const mt=e=>String(e??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),pt=(0,r.__)("한눈에 보는 질문과 답","editnday");function gt({summary:e,faq:t},n=["summary","faq"]){const s=(0,J.select)("core/block-editor").getBlocks().filter(e=>n.includes(e.attributes?.metadata?.editnday)),d=String(s.find(e=>"faq"===e.attributes.metadata.editnday)?.innerBlocks.find(e=>"core/heading"===e.name)?.attributes.content||"").trim(),a=s.map(e=>e.clientId);a.length&&(0,J.dispatch)("core/block-editor").removeBlocks(a,!1),t=n.includes("faq")?(t||[]).filter(e=>e.question?.trim()&&e.answer?.trim()):[],e?.trim()&&n.includes("summary")&&(0,J.dispatch)("core/block-editor").insertBlocks((0,G.createBlock)("core/group",{metadata:{editnday:"summary",name:(0,r.__)("요약","editnday")},className:"editnday-box editnday-box--summary"},[(0,G.createBlock)("core/paragraph",{content:(0,r.sprintf)(/* translators: %s: asText( summary ) */ /* translators: %s: asText( summary ) */(0,r.__)("<strong>요약</strong> %s","editnday"),mt(e))})]),0),t?.length&&(0,J.dispatch)("core/block-editor").insertBlocks((0,G.createBlock)("core/group",{metadata:{editnday:"faq",name:(0,r.__)("질문과 답","editnday")},className:"editnday-box editnday-box--faq"},[(0,G.createBlock)("core/heading",{level:2,content:d&&"자주 묻는 질문"!==d?d:pt}),...t.map((e,t)=>(0,G.createBlock)("core/details",{summary:mt(e.question),showContent:0===t},[(0,G.createBlock)("core/paragraph",{content:mt(e.answer)})]))]))}function ft(){return(0,J.useSelect)(e=>{const t=e("core/editor"),n=t.getEditedPostAttribute("featured_media"),s=n?e("core").getMedia(n):null;return{postId:t.getCurrentPostId(),title:t.getEditedPostAttribute("title"),excerpt:t.getEditedPostAttribute("excerpt"),slug:t.getEditedPostAttribute("slug"),tags:t.getEditedPostAttribute("tags")||[],categories:(t.getEditedPostAttribute("categories")||[]).filter(e=>e!==it()),categoryNames:(t.getEditedPostAttribute("categories")||[]).filter(e=>e!==it()).map(t=>e("core").getEntityRecord("taxonomy","category",t)?.name).filter(Boolean),memberCategoryNames:(t.getEditedPostAttribute("categories")||[]).filter(e=>rt(e)).map(t=>e("core").getEntityRecord("taxonomy","category",t)?.name).filter(Boolean),featured:n||0,featuredAlt:s?.alt_text??"",featuredUrl:s?.media_details?.sizes?.medium?.source_url??s?.source_url,seo:(()=>{try{return JSON.parse(t.getEditedPostAttribute("meta")?._editnday_seo||"{}")||{}}catch(e){return{}}})(),schema:(()=>{try{return JSON.parse(t.getEditedPostAttribute("meta")?._editnday_schema||"{}")||{}}catch(e){return{}}})()}},[])}function xt(e){et("_editnday_seo",{...Qe("_editnday_seo"),keyword:String(e).slice(0,40)})}const bt='EditndayTitle, "Pretendard Variable", Pretendard, "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif';let jt=null;const wt=()=>{const e=window.editndayConfig?.titleFont;return jt||(jt=e&&window.FontFace?new window.FontFace("EditndayTitle",`url(${e})`,{weight:"100 900"}).load().then(e=>document.fonts.add(e)).catch(()=>null):Promise.resolve()),jt},kt=[["ink",(0,r.__)("먹색","editnday"),["#1f2a2c"],"#ffffff"],["cream",(0,r.__)("크림","editnday"),["#f4eee3"],"#243235"],["lavender",(0,r.__)("라벤더","editnday"),["#a988e0","#6c48b5"],"#ffffff"],["ocean",(0,r.__)("바다","editnday"),["#0f4c75","#3a8fc9"],"#ffffff"],["sunset",(0,r.__)("노을","editnday"),["#ff9a8b","#f0627f"],"#ffffff"],["forest",(0,r.__)("숲","editnday"),["#134e5e","#5fa77a"],"#ffffff"]];async function Nt(e,t){let n;try{n=await new Promise(t=>e.toBlob(t,"image/jpeg",.9))}catch(e){n=null}if(!n)throw new Error((0,r.__)("이 사이트의 이미지 주소 설정 때문에 그림에 글자를 넣지 못했어요.","editnday"));const s=new window.FormData;s.append("postId",Ze().getCurrentPostId()),Object.entries(t).forEach(([e,t])=>s.append(e,t)),s.append("image",n,"featured-title.jpg");const d=await z()({path:"/editnday/v1/publish/image-title",method:"POST",body:s});return Ye({featured_media:d.id}),(0,J.dispatch)("core").invalidateResolution("getMedia",[d.id]),d}async function vt(e,t="ink"){if(!e.trim())return null;await wt();const[n,,s,d]=kt.find(e=>e[0]===t)||kt[0],a=1200,i=630,r=document.createElement("canvas");r.width=a,r.height=i;const l=r.getContext("2d");if(s.length>1){const e=l.createLinearGradient(0,0,a,i);e.addColorStop(0,s[0]),e.addColorStop(1,s[1]),l.fillStyle=e}else l.fillStyle=s[0];l.fillRect(0,0,a,i),l.font=`800 72px ${bt}`,l.fillStyle=d,l.textAlign="center",l.textBaseline="alphabetic";const o=St(l,e,1e3),c=Math.round(72*1.3),_=(i-(o.length-1)*c)/2+25.2-16;o.forEach((e,t)=>l.fillText(e,600,_+t*c));const u=String(window.editndayConfig?.siteName||"").trim();return u&&(l.font=`700 26px ${bt}`,l.globalAlpha=.72,l.fillText(u.slice(0,40),600,574),l.globalAlpha=1),Nt(r,{template:n,alt:e.trim()})}function St(e,t,n){const s=[];let d="";return t.trim().split(/\s+/).forEach(t=>(t=>{const a=d?d+" "+t:t;if(e.measureText(a).width<=n)d=a;else if(d&&(s.push(d),d=""),e.measureText(t).width<=n)d=t;else for(const a of t)e.measureText(d+a).width>n&&(s.push(d),d=""),d+=a})(t)),d&&s.push(d),s.length>3&&(s.length=3,s[2]=s[2].replace(/.$/,"…")),s}async function Ct(e,t="bottom",n="title"){const s=Ze().getEditedPostAttribute("featured_media");if(!s||!e.trim())return null;await wt();const d=await z()({path:`/editnday/v1/publish/image-source?id=${s}`}),a=await new Promise((e,t)=>{const n=new window.Image;n.crossOrigin="anonymous",n.onload=()=>e(n),n.onerror=()=>t(new Error((0,r.__)("그림을 불러오지 못했어요.","editnday"))),n.src=d.url}),i=Math.min(a.naturalWidth,1600),l=Math.round(a.naturalHeight*i/a.naturalWidth),o=document.createElement("canvas");o.width=i,o.height=l;const c=o.getContext("2d");c.drawImage(a,0,0,i,l);const _="caption"===n;if("center"===t)c.fillStyle=_?"rgba(0,0,0,0.18)":"rgba(0,0,0,0.42)",c.fillRect(0,0,i,l);else{const e="top"===t,n=_?.2:.65,s=c.createLinearGradient(0,e?l*n:l*(1-n),0,e?0:l);s.addColorStop(0,"rgba(0,0,0,0)"),s.addColorStop(1,_?"rgba(0,0,0,0.45)":"rgba(0,0,0,0.74)"),c.fillStyle=s,c.fillRect(0,e?0:l*(1-n),i,l*n)}const u=_?Math.max(12,Math.round(.011*i)):Math.round(.064*i);c.font=`${_?700:800} ${u}px ${bt}`,c.fillStyle="#fff",c.textBaseline="alphabetic",c.shadowColor="rgba(0,0,0,0.45)",c.shadowBlur=.25*u;const h=Math.round(i*(_?.03:.06)),y=St(c,e,i-h*(_?4:2)),m=Math.round(1.28*u),p=(y.length-1)*m;let g=l-h-p;return"top"===t?g=h+.85*u:"center"===t&&(g=(l-p)/2+.35*u),c.textAlign="center",y.forEach((e,t)=>c.fillText(e,i/2,g+t*m)),Nt(o,{sourceId:d.id})}function It(e){const t=(0,J.select)("core/block-editor"),n=`<a href="${encodeURI(e.url)}">${String(e.title).replace(/&/g,"&").replace(/</g,"<")}</a>`,s=(0,G.createBlock)("core/list-item",{content:n}),d=t.getBlocks().find(e=>"core/list"===e.name&&String(e.attributes.className||"").includes("editnday-related"));d?(0,J.dispatch)("core/block-editor").insertBlock(s,d.innerBlocks.length,d.clientId):(0,J.dispatch)("core/block-editor").insertBlocks([(0,G.createBlock)("core/paragraph",{content:(0,r.__)("<strong>함께 읽으면 좋은 글</strong>","editnday"),className:"editnday-related-title"}),(0,G.createBlock)("core/list",{className:"editnday-related"},[s])],t.getBlockCount())}const $t=(e,t)=>({excerpt:!!e.excerpt,tags:e.tags.length>0,category:e.categories.length>0,slug:/^[a-z0-9]+(-[a-z0-9]+)*$/.test(e.slug||"")&&!/^\d+$/.test(e.slug),seo:!!e.seo.description,aeo:!!e.schema.faq?.some(e=>e.question?.trim()&&e.answer?.trim()),geo:!!e.schema.summary?.trim(),featured:!!e.featured,alt:!!e.featuredAlt}[t]),At=e=>String(e??"").replace(/<[^>]+>/g," ").replace(/ /g," ").replace(/\s+/g," ").trim();function Bt(e){const t=[];let n="",s=0;const d=e=>{for(const a of e){const e=a.attributes?.metadata?.editnday;"core/heading"===a.name?t.push(At(a.attributes.content)):"core/paragraph"===a.name&&!n&&"summary"!==e&&At(a.attributes.content)?n=At(a.attributes.content):"core/image"===a.name&&a.attributes.url&&s++,"summary"!==e&&"faq"!==e&&a.innerBlocks?.length&&d(a.innerBlocks)}};d(e);const a=String(Ze().getEditedPostContent());return{headings:t,firstPara:n,images:s,links:(a.match(/<a\s[^>]*href=/gi)||[]).length,body:tt()}}function Et(e){const t=(0,J.useSelect)(e=>e("core/block-editor").getBlocks(),[]),n=e.seo.kept||{};return function(e){const t=String(e.keyword||"").trim(),n=e=>[...String(e||"").trim()].length,s=[],d=(e,t,n,d,a)=>s.push({id:e,ok:t,label:n,hint:t?"":d,who:a});if(t){const s=e=>We(e,t)>0;d("title",s(e.title),s(e.title)?(0,r.__)("제목에 Fine Keyword","editnday"):(0,r.__)("제목에 Fine Keyword가 없어요","editnday"),(0,r.__)("검색 결과 제목 앞쪽에 넣으면 검색어와 바로 맞물려요","editnday"),(0,r.__)("구글·네이버","editnday")),d("first",s(e.firstPara),s(e.firstPara)?(0,r.__)("첫 단락에 Fine Keyword","editnday"):(0,r.__)("첫 단락에 Fine Keyword가 없어요","editnday"),(0,r.__)("무엇에 관한 글인지 첫 단락에서 밝히면 검색엔진과 AI가 주제를 잡기 쉬워요","editnday"),(0,r.__)("구글·네이버·AI","editnday"));const a=e.headings.some(s);d("heading",a,a?(0,r.__)("소제목에 Fine Keyword","editnday"):(0,r.__)("소제목에 Fine Keyword가 없어요","editnday"),(0,r.sprintf)(/* translators: %s: o.headings.length */ /* translators: %s: o.headings.length */(0,r.__)("소제목 %s개 중 하나에 넣으면 글의 짜임이 검색어와 이어져요","editnday"),e.headings.length),(0,r.__)("구글·네이버","editnday"));const i=We(e.body,t),l=n(e.body)?1e3*i/n(e.body):0;d("repeat",i>=1&&l<=6,Xe([[0===i,(0,r.__)("본문에 Fine Keyword가 없어요","editnday")],[l>6,(0,r.sprintf)(/* translators: %s: times */ /* translators: %s: times */(0,r.__)("본문에 Fine Keyword %s번 (많아요)","editnday"),i)]],(0,r.sprintf)(/* translators: %s: times */ /* translators: %s: times */(0,r.__)("본문에 Fine Keyword %s번","editnday"),i)),Xe([[0===i,(0,r.__)("본문에 실제로 쓰는 표기와 같은지 확인해 주세요 (예: 볼보EX60 / VolvoEX60)","editnday")]],(0,r.__)("같은 말을 너무 자주 되풀이하면 구글·네이버 모두 낮게 봐요. 대명사나 다른 표현으로 바꿔 보세요","editnday")),(0,r.__)("구글·네이버","editnday")),n(e.description)&&d("desc",s(e.description),s(e.description)?(0,r.__)("설명에 Fine Keyword","editnday"):(0,r.__)("설명에 Fine Keyword가 없어요","editnday"),(0,r.__)("순위와는 상관없지만, 검색어가 설명에 있으면 검색 결과에서 굵게 보여 눈에 띄어요","editnday"),(0,r.__)("구글·네이버","editnday"))}const a=n(e.title);d("titleLen",a>0&&a<=40,a?(0,r.sprintf)(/* translators: %s: tl */ /* translators: %s: tl */(0,r.__)("검색 결과 제목 %s자","editnday"),a):(0,r.__)("검색 결과 제목이 없어요","editnday"),Xe([[a>40,(0,r.__)("40자를 넘으면 검색 결과에서 잘려요","editnday")]],(0,r.__)("제목을 넣어 주세요","editnday")),(0,r.__)("구글·네이버","editnday"));const i=n(e.description);return d("descLen",i>=40&&i<=110,i?(0,r.sprintf)(/* translators: %s: dl */ /* translators: %s: dl */(0,r.__)("검색 결과 설명 %s자","editnday"),i):(0,r.__)("검색 결과 설명이 없어요","editnday"),Xe([[0===i,(0,r.__)("SEO 설명을 만들어 보세요. 없으면 검색엔진이 본문에서 아무 문장이나 가져가요","editnday")],[i<40,(0,r.__)("너무 짧으면 검색엔진이 본문에서 다른 문장을 가져가요","editnday")]],(0,r.__)("110자를 넘으면 잘려요","editnday")),(0,r.__)("구글·네이버","editnday")),d("headings",e.headings.length>=2,(0,r.sprintf)(/* translators: %s: o.headings.length */ /* translators: %s: o.headings.length */(0,r.__)("소제목 %s개","editnday"),e.headings.length),(0,r.__)("소제목으로 나누면 검색엔진이 단락별 주제를, AI가 답할 부분을 찾기 쉬워요","editnday"),(0,r.__)("구글·네이버·AI","editnday")),d("answer",!!e.summary||e.faq>0,Xe([[e.summary&&e.faq>0,(0,r.sprintf)(/* translators: %s: o.faq */ /* translators: %s: o.faq */(0,r.__)("요약과 질문답 %s개","editnday"),e.faq)],[e.summary,(0,r.__)("요약 있음","editnday")],[e.faq>0,(0,r.sprintf)(/* translators: %s: o.faq */ /* translators: %s: o.faq */(0,r.__)("질문답 %s개","editnday"),e.faq)]],(0,r.__)("요약·질문답이 없어요","editnday")),(0,r.__)("발행 준비의 AEO·GEO로 만들면 AI 답변에 인용되기 쉬워요","editnday"),"AI"),d("links",e.links>0,e.links?(0,r.sprintf)(/* translators: %s: o.links */ /* translators: %s: o.links */(0,r.__)("출처·관련 링크 %s개","editnday"),e.links):(0,r.__)("링크가 없어요","editnday"),(0,r.__)("출처가 보이면 믿을 만한 글로 보고, AI도 근거로 인용해요","editnday"),(0,r.__)("구글·네이버·AI","editnday")),d("images",e.images>0,e.images?(0,r.sprintf)(/* translators: %s: o.images */ /* translators: %s: o.images */(0,r.__)("본문 이미지 %s개","editnday"),e.images):(0,r.__)("본문 이미지가 없어요 (대표 이미지만)","editnday"),(0,r.__)("본문에 사진·도표가 있으면 이미지 검색과 네이버 노출에 도움이 돼요","editnday"),(0,r.__)("구글·네이버","editnday")),s}({keyword:e.seo.keyword,title:n.title||e.seo.title||e.title||"",description:n.description||e.seo.description||"",summary:!!e.schema.summary,faq:e.schema.faq?.length||0,...Bt(t)})}function Pt({st:e}){const[t,n]=(0,o.useState)(!1),s=Et(e),d=s.filter(e=>e.ok).length,a=s.filter(e=>!e.ok),[i,l]=(0,o.useState)("");return(0,f.jsxs)(w,{className:"ed-koseo",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("검색·AI 점검","editnday")}),(0,f.jsx)("span",{className:"ed-koseo__score"+(a.length?"":" is-ok"),children:(0,r.sprintf)(/* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */ /* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */7 (0, r.__)("%1$d개 중 %2$d개 통과","editnday"),s.length,d)})]}),!e.seo.keyword?.trim()&&(0,f.jsxs)("div",{className:"ed-koseo__kw",children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,placeholder:(0,r.__)("예: 노벨문학상","editnday"),value:i,onChange:l,onKeyDown:e=>"Enter"===e.key&&i.trim()&&xt(i.trim())}),(0,f.jsx)(N,{disabled:!i.trim(),onClick:()=>xt(i.trim()),children:(0,r.__)("정하기","editnday")}),(0,f.jsx)("span",{className:"ed-muted",children:(0,r.__)("정하면 제목·설명·본문에 키워드가 있는지도 봐요.","editnday")})]}),(t?s:a).map(e=>(0,f.jsxs)("div",{className:"ed-koseo__item",children:[(0,f.jsx)("span",{className:"ed-circ"+(e.ok?" is-filled":" is-warn"),children:e.ok?(0,f.jsx)(j,{}):"!"}),(0,f.jsxs)("span",{className:"ed-koseo__body",children:[(0,f.jsxs)("span",{className:"ed-koseo__head",children:[(0,f.jsx)("span",{className:"ed-koseo__label",children:e.label}),(0,f.jsx)("span",{className:"ed-koseo__who",children:e.who})]}),e.hint&&(0,f.jsx)("span",{className:"ed-koseo__hint",children:e.hint})]})]},e.id)),!a.length&&!t&&(0,f.jsx)("span",{className:"ed-small",children:(0,r.__)("모두 좋아요.","editnday")}),(0,f.jsxs)("div",{className:"ed-koseo__foot",children:[(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>n(!t),children:t?(0,r.__)("고칠 것만 보기","editnday"):(0,r.sprintf)(/* translators: %s: okN */ /* translators: %s: okN */(0,r.__)("통과한 것도 보기 (%s)","editnday"),d)}),(0,f.jsx)("span",{className:"ed-muted",children:(0,r.__)("조사·띄어쓰기가 달라도 같은 말로 봐요 (구글·네이버 기준)","editnday")})]})]})}function Mt({st:e}){const[t,n]=(0,o.useState)("google"),s=e.seo.kept||{},d=s.title||e.seo.title||e.title||"",a=s.description||e.seo.description||e.excerpt||"",i=window.editndayConfig?.seoPlugin,l=window.location.host,c=(e,t,n)=>e<t?(0,r.__)("짧음","editnday"):e>n?(0,r.__)("김","editnday"):(0,r.__)("적정","editnday");return(0,f.jsxs)(w,{children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("검색 결과 미리보기","editnday")}),(0,f.jsxs)("span",{className:"ed-chips",children:[(0,f.jsx)(S,{on:"google"===t,onClick:()=>n("google"),children:(0,r.__)("구글","editnday")}),(0,f.jsx)(S,{on:"naver"===t,onClick:()=>n("naver"),children:(0,r.__)("네이버","editnday")})]})]}),(0,f.jsxs)("div",{className:`ed-serp is-${t}`,children:[(0,f.jsxs)("span",{className:"ed-serp__u",children:[l," › ",at(e.slug)||"…"]}),(0,f.jsx)("span",{className:"ed-serp__t",children:d||(0,r.__)("제목 없음","editnday")}),(0,f.jsx)("span",{className:"ed-serp__d",children:a||(0,r.__)("설명이 없어요. SEO 설명을 만들어 보세요.","editnday")})]}),(0,f.jsx)("span",{className:"ed-muted",children:(0,r.sprintf)(/* translators: 1: 제목 글자 수, 2: 제목 길이 판정(짧음·적정·김), 3: 설명 글자 수, 4: 설명 길이 판정 */ /* translators: 1: 제목 글자 수, 2: 제목 길이 판정(짧음·적정·김), 3: 설명 글자 수, 4: 설명 길이 판정 */8 (0, r.__)("제목 %1$d자 (%2$s) · 설명 %3$d자 (%4$s)","editnday"),d.length,c(d.length,20,45),a.length,c(a.length,60,110))}),i&&(0,f.jsx)("span",{className:"ed-muted",children:s.title||s.description?(0,r.sprintf)(/* translators: 1: SEO 플러그인 이름, 2: 직접 쓴 칸 (제목·설명), 3: SEO 플러그인 이름 */ /* translators: 1: SEO 플러그인 이름, 2: 직접 쓴 칸 (제목·설명), 3: SEO 플러그인 이름 */(0,r.__)("%1$s에 직접 쓴 %2$s이 있어 그 값이 나가요. 에디튼 값을 쓰려면 %3$s에서 그 칸을 비워 주세요.","editnday"),i,[s.title&&(0,r.__)("제목","editnday"),s.description&&(0,r.__)("설명","editnday")].filter(Boolean).join("·"),i):(0,r.sprintf)(/* translators: %s: plugin */ /* translators: %s: plugin */(0,r.__)("저장하면 %s 칸에도 들어가요.","editnday"),i)})]})}function Ot(e,t){return t?(0,r.__)("닫기","editnday"):e?(0,r.__)("다시","editnday"):(0,r.__)("만들기","editnday")}function Tt(){const e=window.editndayConfig?.siteOpen;return e?.blocking?.length?(0,f.jsxs)(w,{className:"ed-ask ed-siteopen",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("검색에 나오지 않을 수 있어요","editnday")}),(0,f.jsx)("span",{className:"ed-small",children:(0,r.sprintf)(/* translators: %s: 안 된 워드프레스 설정 목록 */ /* translators: %s: 안 된 워드프레스 설정 목록 */9 (0, r.__)("워드프레스 설정에서 %s이(가) 아직 안 됐어요. 이대로 발행하면 검색엔진이 이 글을 찾지 못하거나 늦게 찾아요.","editnday"),e.blocking.join(", "))}),e.canManage&&(0,f.jsx)("a",{className:"ed-link",href:e.url,children:(0,r.__)("에디튼 → 사이트 오픈에서 확인하기","editnday")})]}):null}function qt(){const e=window.editndayConfig?.seoMode||{},t=(0,J.useSelect)(e=>"1"===e("core/editor").getEditedPostAttribute("meta")?._editnday_noindex,[]);return"with"===e.mode?(0,f.jsx)("p",{className:"ed-muted ed-seomode",children:(0,r.sprintf)(/* translators: %s: 함께 쓰는 SEO 플러그인 이름 (두 번 나옴) */ /* translators: %s: 함께 쓰는 SEO 플러그인 이름 (두 번 나옴) */10 (0, r.__)("%1$s와 함께 쓰는 중이에요. 검색엔진이 읽는 머리말(제목·설명·공유 미리보기)은 %1$s가 내고, 에디튼은 값을 채우고 점검해요.","editnday"),e.plugin)}):(0,f.jsxs)(w,{className:"ed-seomode",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("검색엔진·공유 머리말","editnday")}),(0,f.jsx)("span",{className:"ed-small",children:(0,r.__)("SEO 플러그인 없이 쓰는 중이라 에디튼이 직접 내요: SEO 제목·설명, 카카오톡·페이스북 공유 미리보기, 글 구조화 데이터.","editnday")}),(0,f.jsx)(p.CheckboxControl,{__nextHasNoMarginBottom:!0,label:(0,r.__)("이 글은 검색 결과에 보이지 않게","editnday"),checked:t,onChange:e=>(0,J.dispatch)("core/editor").editPost({meta:{_editnday_noindex:e?"1":""}})})]})}function Ft({st:e}){const[t,n]=(0,o.useState)(!1),s=(0,J.useSelect)(e=>e("core/block-editor").getBlocks(),[]),d=(0,J.useSelect)(e=>{const t=e("core/editor");return"auto-draft"===t.getEditedPostAttribute("status")?null:t.getEditedPostAttribute("modified")||null},[]),a=Bt(s),i=String(Ze().getEditedPostContent()),l=window.location.host;let c=0,_=0;for(const e of i.matchAll(/<a\s[^>]*href=["']([^"']+)["']/gi))try{const t=new URL(e[1],window.location.href);if(!/^https?:$/.test(t.protocol))continue;t.host===l?c++:_++}catch{}const u=window.editndayConfig?.aiReady||{},{score:h,items:y}=function(e){const t=String(e.body||""),n=t.split(/(?<=[.!?。])\s+|\n+/).filter(e=>/\d/.test(e)).length,s=[...t.replace(/\s+/g,"")].length,d=!e.modified||(e.now??Date.now())-new Date(e.modified).getTime()<31536e6,a=[],i=(e,t,n,s,d,i)=>a.push({part:e,id:t,points:n,ok:!!s,label:d,hint:s?"":i}),l=(0,r.__)("형식","editnday"),o=(0,r.__)("내용","editnday");return i(l,"lead",12,e.summaryVisible,(0,r.__)("결론 먼저 (글 앞 요약)","editnday"),(0,r.__)('GEO 요약을 "본문에 보이게"로 넣으면 AI가 첫 단락에서 답을 가져가요',"editnday")),i(l,"headings",8,e.headings>=3,(0,r.sprintf)(/* translators: %d: 소제목 수 */ /* translators: %d: 소제목 수 */(0,r.__)("소제목 %d개","editnday"),e.headings),(0,r.__)("소제목을 3개 이상으로 나누면 AI가 질문마다 답할 부분을 찾아요","editnday")),i(l,"faq",8,e.faq>=2,(0,r.sprintf)(/* translators: %d: 질문답 수 */ /* translators: %d: 질문답 수 */(0,r.__)("질문답 %d개","editnday"),e.faq),(0,r.__)("AEO 질문답을 2개 이상 넣어요","editnday")),i(l,"identity",6,e.identity,(0,r.__)("내 블로그 정체성","editnday"),(0,r.__)("사이트 오픈 4단계에서 한 줄 소개·다른 곳 주소를 넣으면 AI가 누가 쓴 글인지 알아봐요","editnday")),i(l,"internal",8,e.internal>=1,(0,r.sprintf)(/* translators: %d: 내부 링크 수 */ /* translators: %d: 내부 링크 수 */(0,r.__)("내 글 링크 %d개","editnday"),e.internal),(0,r.__)('이어지는 내 글을 하나 이상 연결해요 (발행 준비의 "이어지는 내 글")',"editnday")),i(l,"bots",8,!1!==e.bots,!1===e.bots?(0,r.__)("AI 검색 봇이 막힘","editnday"):(0,r.__)("AI 검색 봇 허용","editnday"),(0,r.__)("사이트 오픈 4단계에서 robots.txt·방화벽을 확인해요","editnday")),i(o,"numbers",12,n>=3,(0,r.sprintf)(/* translators: %d: 숫자 문장 수 */ /* translators: %d: 숫자 문장 수 */(0,r.__)("숫자가 든 문장 %d개","editnday"),n),(0,r.__)("통계·가격·날짜처럼 확인할 수 있는 숫자를 3문장 이상에 넣으면 AI가 근거로 써요","editnday")),i(o,"sources",12,e.external>=2,(0,r.sprintf)(/* translators: %d: 출처 링크 수 */ /* translators: %d: 출처 링크 수 */(0,r.__)("출처 링크 %d개","editnday"),e.external),(0,r.__)("숫자·주장의 출처를 2곳 이상 링크로 밝혀요","editnday")),i(o,"author",8,e.authorBio,(0,r.__)("저자 소개","editnday"),(0,r.__)("[사용자 → 프로필]의 자기소개를 채우면 누가 썼는지(전문성)가 보여요","editnday")),i(o,"fresh",8,d,d?(0,r.__)("1년 안에 고친 글","editnday"):(0,r.__)("1년 넘게 고치지 않은 글","editnday"),(0,r.__)("AI는 최신 정보를 인용해요. 숫자를 다시 확인하고 고쳐 주세요","editnday")),i(o,"length",10,s>=1500,(0,r.sprintf)(/* translators: %s: 글자 수 */ /* translators: %s: 글자 수 */(0,r.__)("본문 %s자","editnday"),s.toLocaleString("ko-KR")),(0,r.__)("1,500자 이상이면 AI가 인용할 근거가 충분해요","editnday")),{score:a.reduce((e,t)=>e+(t.ok?t.points:0),0),items:a}}({summaryVisible:s.some(e=>"summary"===e.attributes?.metadata?.editnday),headings:a.headings.length,faq:e.schema.faq?.length||0,identity:!!u.identity,internal:c,external:_,bots:u.bots??null,body:a.body,authorBio:!!u.authorBio,modified:d}),m=y.filter(e=>!e.ok).sort((e,t)=>t.points-e.points),p=h>=80?"is-ok":h>=60?"is-warn":"is-bad";return(0,f.jsxs)(w,{className:"ed-aicite",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("AI 인용 준비","editnday")}),(0,f.jsx)("span",{className:`ed-aicite__score ${p}`,children:(0,r.sprintf)(/* translators: %d: 점수 */ /* translators: %d: 점수 */11 (0, r.__)("%d / 100","editnday"),h)})]}),(0,f.jsx)("div",{className:"ed-aicite__bar","aria-hidden":"true",children:(0,f.jsx)("span",{className:p,style:{width:`${h}%`}})}),(0,f.jsx)("p",{className:"ed-muted ed-small",children:h>=80?(0,r.__)("ChatGPT·구글 AI 개요·네이버 AI 브리핑이 인용하기 좋은 글이에요.","editnday"):(0,r.__)("80점이 넘으면 AI 답변에 인용되기 좋은 글이에요. 점수가 큰 것부터 채워 보세요.","editnday")}),m.slice(0,t?m.length:3).map(e=>(0,f.jsxs)("div",{className:"ed-aicite__item",children:[(0,f.jsxs)("span",{className:"ed-aicite__pts",children:["+",e.points]}),(0,f.jsxs)("span",{children:[(0,f.jsx)("strong",{children:e.label}),(0,f.jsxs)("span",{className:"ed-muted ed-small",children:[" ",e.hint]})]})]},e.id)),m.length>3&&(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>n(!t),children:t?(0,r.__)("접기","editnday"):(0,r.sprintf)(/* translators: %d: 남은 항목 수 */ /* translators: %d: 남은 항목 수 */12 (0, r.__)("빠진 것 %d개 더 보기","editnday"),m.length-3)})]})}function Lt({st:e,onCheck:t}){const n=Et(e),s=n.filter(e=>e.ok).length;return(0,f.jsxs)(w,{className:"ed-koseo-line",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("검색·AI 점검","editnday")}),(0,f.jsx)("span",{className:"ed-small",children:(0,r.sprintf)(/* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */ /* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */13 (0, r.__)("%1$d개 중 %2$d개 통과","editnday"),n.length,s)})]}),t&&(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:t,children:(0,r.__)("글 점검에서 자세히 보기","editnday")})]})}function Rt({onNew:e,onCheck:t}){const n=ft(),[s,d]=(0,o.useState)(null),[a,i]=(0,o.useState)(null),[l,c]=(0,o.useState)(null),[u,m]=(0,o.useState)(n.schema.mode||"visible"),[g,x]=(0,o.useState)(!1),[b,v]=(0,o.useState)(0),[C,I]=(0,o.useState)(null),[$,B]=(0,o.useState)(""),[P,M]=(0,o.useState)("bottom"),[T,q]=(0,o.useState)("title"),[F,L]=(0,o.useState)("ink"),[R,K]=(0,o.useState)(null),H=Qe("_editnday_indexed"),U=(0,J.useSelect)(e=>["publish","future","private"].includes(e("core/editor").getEditedPostAttribute("status")),[]),V=(0,J.useSelect)(e=>e("core/editor").isSavingPost(),[]),G=(0,J.useSelect)(e=>{const t=e("core/editor");return"future"===t.getEditedPostAttribute("status")?t.getEditedPostAttribute("date"):null},[]),W=e=>!!s&&s.split(",").includes(e),X=async(e,t)=>{d(e),v(Date.now()),i(null);try{await t()}catch(e){i(e?.message&&!e.message.includes("<")?e.message:(0,r.__)("만들지 못했어요. 잠시 뒤 다시 해 주세요.","editnday"))}finally{d(null)}},Z={st:n,busy:s,isBusy:W,run:X,since:b,aeoMode:u,setCatPanel:I,setRedo:x,onImage:$,titlePos:P,titleKind:T},Y=(e,t={})=>y(_.publishFieldActions,{...Z,key:e,...t}),Q=()=>(0,f.jsxs)("span",{className:"ed-busy",children:[(0,f.jsx)("span",{className:"ed-pulse"}),(0,r.__)("만드는 중","editnday")," ",(0,f.jsx)(E,{since:b})]});return(0,f.jsxs)(f.Fragment,{children:[G?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(A,{eyebrow:(0,r.__)("예약한 글","editnday"),title:(0,r.__)("예약한 글 다듬기","editnday"),sub:(0,r.__)("발행되기 전까지 대표 이미지, 검색 설정, 요약과 질문·답을 다시 만들거나 고칠 수 있어요.","editnday")}),(0,f.jsx)("div",{className:"ed-note",children:(0,o.createInterpolateElement)((0,r.sprintf)(/* translators: %s: 예약 발행 시각. <b>…</b>는 굵게 (버튼 이름) */ /* translators: %s: 예약 발행 시각. <b>…</b>는 굵게 (버튼 이름) */14 (0, r.__)("<b>%s</b>에 발행돼요. 여기서 바꾼 내용은 맨 아래 <b>[바뀐 내용 저장]</b>을 눌러야 예약된 글에 들어가요. 시간은 오른쪽 위 <b>[예약됨]</b>에서 바꿔요.","editnday"),Dt(G)),{b:(0,f.jsx)("strong",{})})})]}):U?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(A,{eyebrow:(0,r.__)("발행한 글","editnday"),title:(0,r.__)("발행한 글 다듬기","editnday"),sub:(0,r.__)("대표 이미지, 검색 설정, 요약과 질문·답을 다시 만들거나 고칠 수 있어요.","editnday")}),(0,f.jsx)("div",{className:"ed-note",children:(0,o.createInterpolateElement)(/* translators: <b>…</b>는 굵게 (버튼 이름) */ /* translators: <b>…</b>는 굵게 (버튼 이름) */15 (0, r.__)("이미 공개된 글이에요. 여기서 바꾼 내용은 맨 아래 <b>[바뀐 내용 사이트에 반영]</b>을 눌러야 사이트에 반영돼요.","editnday"),{b:(0,f.jsx)("strong",{})})})]}):(0,f.jsx)(A,{eyebrow:(0,r.__)("발행 준비","editnday"),title:(0,r.__)("발행 전에 다듬을 것","editnday"),sub:(0,r.__)("하나씩 하거나 한 번에 해요. 만든 값은 고칠 수 있어요.","editnday")}),a&&(0,f.jsx)("div",{className:"ed-note is-error",children:a}),(0,f.jsxs)(w,{className:"ed-tasks",children:[(0,f.jsxs)("div",{className:"ed-cardhead",children:[(0,f.jsxs)("span",{className:"ed-cardhead__t",children:[(0,r.__)("할 일","editnday")," ",(0,f.jsx)("span",{className:"ed-tag",children:(0,r.sprintf)(/* translators: 1: 된 것, 2: 전체 */ /* translators: 1: 된 것, 2: 전체 */16 (0, r.__)("%1$d / %2$d 됨","editnday"),ht.filter(([e])=>$t(n,e)).length+(n.featured?1:0)+(n.featuredAlt?1:0),ht.length+2)})]}),Y("all",{place:"head"})]}),Y("all",{place:"live"}),ht.map(([e,t,s])=>{const d=Y(e,{place:"row"}),a=!h()&&["seo","aeo","geo"].includes(e);return(0,f.jsxs)("div",{className:"ed-taskwrap",children:[(0,f.jsxs)("div",{className:"ed-task",children:[(0,f.jsx)("span",{className:`ed-circ${$t(n,e)?" is-filled":""}${W(e)?" is-busy":""}`,children:$t(n,e)&&(0,f.jsx)(j,{})}),(0,f.jsxs)("span",{className:"ed-task__t",children:[t," ",s&&(0,f.jsxs)("span",{className:"ed-muted",children:["(",s,")"]})]}),W(e)&&(0,f.jsx)(Q,{}),!W(e)&&$t(n,e)&&(0,f.jsx)("button",{type:"button",className:"ed-mini is-done",onClick:()=>c(l===e?null:e),children:l===e?(0,r.__)("닫기","editnday"):(0,r.__)("보기","editnday")}),!W(e)&&!$t(n,e)&&(0,f.jsx)("button",{type:"button",className:"ed-mini is-plain",onClick:()=>c(l===e?null:e),children:l===e?(0,r.__)("닫기","editnday"):d.length?(0,r.__)("직접","editnday"):(0,r.__)("직접 쓰기","editnday")}),!W(e)&&!$t(n,e)&&d]}),!$t(n,e)&&a&&(0,f.jsx)("div",{className:"ed-prohint-row",children:(0,f.jsx)(D,{label:(0,r.__)("AI로 만들기","editnday")})}),"category"===e&&C&&!$t(n,e)&&(0,f.jsx)(st,{panel:C,onDone:()=>I(null)}),l===e&&(0,f.jsx)(Vt,{k:e,st:n,mode:u,extra:Y(e,{place:"editor"}),below:Y(e,{place:"below"})})]},e)}),(0,f.jsxs)("div",{className:"ed-taskwrap",children:[(0,f.jsxs)("div",{className:"ed-task",children:[(0,f.jsx)("span",{className:"ed-circ"+(n.featured?" is-filled":""),children:!!n.featured&&(0,f.jsx)(j,{})}),(0,f.jsx)("span",{className:"ed-task__t",children:(0,r.__)("대표 이미지","editnday")}),"featured"===s?(0,f.jsx)(Q,{}):(0,f.jsx)("button",{type:"button",className:"ed-mini",disabled:!!s,onClick:()=>x(!g),children:Ot(n.featured,g)})]}),n.featuredUrl&&(0,f.jsx)("img",{className:"ed-thumb",src:n.featuredUrl,alt:n.featuredAlt}),n.featuredUrl&&(0,f.jsx)(Gt,{url:n.featuredUrl,title:n.seo.kept?.title||n.seo.title||n.title||"",description:n.seo.kept?.description||n.seo.description||""}),g&&(0,f.jsxs)("div",{className:"ed-redo",children:[Y("featured"),(0,f.jsx)(D,{label:(0,r.__)("AI로 그림 만들기","editnday")}),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0,label:(0,r.__)("그림에 넣을 제목 (선택)","editnday"),placeholder:(0,r.__)("비워 두면 글자 없는 그림","editnday"),value:$,onChange:B}),(0,f.jsxs)("div",{className:"ed-redo__title",children:[(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>B(n.title||""),children:(0,r.__)("글 제목 그대로 넣기","editnday")}),!!$.trim()&&(0,f.jsx)("span",{className:"ed-chips",children:[["title",(0,r.__)("제목형","editnday")],["caption",(0,r.__)("캡션형","editnday")]].map(([e,t])=>(0,f.jsx)(S,{on:T===e,onClick:()=>q(e),children:t},e))}),!!$.trim()&&(0,f.jsx)("span",{className:"ed-chips",children:[["top",(0,r.__)("위","editnday")],["center",(0,r.__)("가운데","editnday")],["bottom",(0,r.__)("아래","editnday")]].map(([e,t])=>(0,f.jsx)(S,{on:P===e,onClick:()=>M(e),children:t},e))})]}),(0,f.jsx)("div",{className:"ed-redo__actions",children:!!n.featured&&(0,f.jsx)(N,{disabled:!!s||!$.trim(),onClick:()=>X("featured",async()=>(await Ct($,P,T),x(!1))),children:(0,r.__)("지금 그림에 제목만 넣기","editnday")})})]}),(0,f.jsxs)("div",{className:"ed-tpl",children:[(0,f.jsx)("span",{className:"ed-small ed-strong",children:(0,r.__)("AI 없이 배경 틀로 만들기","editnday")}),(0,f.jsx)("span",{className:"ed-tpl__swatches",children:kt.map(([e,t,n,s])=>(0,f.jsx)("button",{type:"button",className:"ed-tpl__sw"+(F===e?" is-on":""),style:{background:n.length>1?`linear-gradient(135deg, ${n[0]}, ${n[1]})`:n[0],color:s},"aria-pressed":F===e,title:t,onClick:()=>L(e),children:(0,r.__)("가","editnday")},e))}),(0,f.jsx)(N,{disabled:!!s||!($.trim()||n.title?.trim()),onClick:()=>X("featured",async()=>(await vt($.trim()||n.title,F),x(!1))),children:(0,r.__)("배경 틀로 만들기","editnday")}),(0,f.jsxs)("span",{className:"ed-muted",children:[(0,r.__)('위 "그림에 넣을 제목"을, 비워 두면 글 제목을 1200×630 그림 가운데에 넣어요.',"editnday")," ","가운데에 넣어요."]})]}),(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>{const e=window.wp?.media?.({title:(0,r.__)("대표 이미지 고르기","editnday"),library:{type:"image"},multiple:!1,button:{text:(0,r.__)("대표 이미지로","editnday")}});e&&(e.on("select",()=>{const t=e.state().get("selection").first()?.toJSON();t?.id&&Ye({featured_media:t.id}),x(!1)}),e.open())},children:(0,r.__)("미디어 라이브러리에서 고르기","editnday")})]})]}),(0,f.jsxs)("div",{className:"ed-task",children:[(0,f.jsx)("span",{className:"ed-circ"+(n.featuredAlt?" is-filled":""),children:n.featuredAlt&&(0,f.jsx)(j,{})}),(0,f.jsx)("span",{className:"ed-task__t",children:(0,r.__)("대표 이미지 ALT","editnday")}),"alt"===s?(0,f.jsx)(Q,{}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("button",{type:"button",className:"ed-mini is-plain",disabled:!n.featured,onClick:()=>c("alt"===l?null:"alt"),children:"alt"===l?(0,r.__)("닫기","editnday"):(0,r.__)("직접 쓰기","editnday")}),Y("alt")]})]}),n.featuredAlt&&"alt"!==l&&(0,f.jsx)("p",{className:"ed-alttext",children:n.featuredAlt}),"alt"===l&&!!n.featured&&(0,f.jsx)(Ut,{id:n.featured,alt:n.featuredAlt,onDone:()=>c(null)})]}),Y("all"),(0,f.jsx)(Mt,{st:n}),(0,f.jsx)(Tt,{}),(0,f.jsx)(qt,{}),(0,f.jsx)(Ft,{st:n}),(0,f.jsx)(Lt,{st:n,onCheck:t}),(0,f.jsxs)(w,{children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("AEO·GEO 넣는 방식","editnday")}),(0,f.jsxs)(O,{checked:"visible"===u,onChange:()=>{m("visible"),et("_editnday_schema",{...Qe("_editnday_schema"),mode:"visible"}),gt(Qe("_editnday_schema"))},children:[(0,r.__)("본문에 보이게","editnday")," ",(0,f.jsx)("span",{className:"ed-muted",children:(0,r.__)("· 글 앞 요약, 글 끝 자주 묻는 질문","editnday")})]}),(0,f.jsxs)(O,{checked:"structured"===u,onChange:()=>{m("structured"),et("_editnday_schema",{...Qe("_editnday_schema"),mode:"structured"}),gt({})},children:[(0,r.__)("구조화 데이터로만","editnday")," ",(0,f.jsx)("span",{className:"ed-muted",children:(0,r.__)("· 본문 내용 그대로, 검색봇·AI가 읽는 형식","editnday")})]})]}),(0,f.jsxs)(w,{className:"ed-related",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("strong",{children:(0,r.__)("이어지는 내 글","editnday")}),(0,f.jsx)("button",{type:"button",className:"ed-mini",disabled:!!s,onClick:()=>X("related",async()=>{const e=await z()({path:"/editnday/v1/publish/related",method:"POST",data:{postId:n.postId,title:n.title,tags:n.tags,categories:n.categories,content:Ze().getEditedPostContent()}});K(e.items||[])}),children:R?(0,r.__)("다시 찾기","editnday"):(0,r.__)("찾기","editnday")})]}),null===R&&(0,f.jsx)("div",{className:"ed-muted",children:(0,r.__)("이 글과 태그·제목이 겹치는 내 공개 글을 찾아 본문 끝에 링크로 넣을 수 있어요.","editnday")}),R&&!R.length&&(0,f.jsx)("div",{className:"ed-muted",children:(0,r.__)("이어 붙일 만한 글을 찾지 못했어요. 태그를 먼저 달면 더 잘 찾아요.","editnday")}),(R||[]).map(e=>(0,f.jsxs)("div",{className:"ed-row ed-between ed-related__item",children:[(0,f.jsxs)("span",{children:[e.title," ",(0,f.jsx)("span",{className:"ed-muted",children:e.date})]}),(0,f.jsx)("button",{type:"button",className:"ed-mini",disabled:e.added,onClick:()=>{It(e),K(t=>t.map(t=>t.id===e.id?{...t,added:!0}:t))},children:e.added?(0,r.__)("넣었어요","editnday"):(0,r.__)("넣기","editnday")})]},e.id))]}),U&&!G&&H.at&&(0,f.jsxs)("div",{className:"ed-muted ed-indexed",children:[(0,r.__)("검색엔진에 알림:","editnday")," ",new Date(H.at).toLocaleString("ko-KR",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"}),Object.entries(H.results||{}).map(([e,t])=>` · ${"naver"===e?(0,r.__)("네이버","editnday"):(0,r.__)("Bing 등","editnday")} ${t>=200&&t<300?"✓":"✕"}`)]}),(0,f.jsx)(Kt,{}),(0,f.jsx)(Ht,{live:U,scheduled:!!G}),(0,f.jsxs)("div",{className:"ed-foot",children:[G?(0,f.jsx)(k,{disabled:!!V,onClick:async()=>{await(0,J.dispatch)("core/editor").savePost(),(0,J.dispatch)("core/notices").createSuccessNotice((0,r.__)("저장했어요. 예약한 시간에 이 내용으로 발행돼요.","editnday"),{type:"snackbar"})},children:V?(0,r.__)("저장하는 중…","editnday"):(0,r.__)("바뀐 내용 저장","editnday")}):U?(0,f.jsx)(k,{disabled:!!V,onClick:async()=>{await(0,J.dispatch)("core/editor").savePost(),(0,J.dispatch)("core/notices").createSuccessNotice((0,r.__)("바뀐 내용을 사이트에 반영했어요.","editnday"),{type:"snackbar"})},children:V?(0,r.__)("반영하는 중…","editnday"):(0,r.__)("바뀐 내용 사이트에 반영","editnday")}):(0,f.jsx)(k,{onClick:()=>(0,J.dispatch)("core/editor").openPublishSidebar?.(),children:(0,r.__)("공개 전 점검하고 발행","editnday")}),(0,f.jsx)(N,{onClick:e,children:(0,r.__)("새 글 시작","editnday")})]})]})}function Kt(){const e=window.editndayConfig?.indexnow,[t,n]=(0,o.useState)(e?.state),[s,d]=(0,o.useState)(!1);if("unset"!==t||!e?.canManage||e?.blocked)return null;const a=async t=>{d(!0);try{const s=await z()({path:"/editnday/v1/indexnow",method:"POST",data:{on:t}});e.state=s.state,window.editndayConfig.autoSend&&(window.editndayConfig.autoSend.indexnow=!!s.available),n(s.state),(0,J.dispatch)("core/notices").createSuccessNotice(t?(0,r.__)("검색엔진에 알리기를 켰어요. 에디튼 → 설정에서 언제든 끌 수 있어요.","editnday"):(0,r.__)("켜지 않았어요. 에디튼 → 설정에서 언제든 켤 수 있어요.","editnday"),{type:"snackbar"})}catch(e){(0,J.dispatch)("core/notices").createErrorNotice(e?.message||(0,r.__)("저장하지 못했어요.","editnday"),{type:"snackbar"})}finally{d(!1)}};return(0,f.jsxs)(w,{className:"ed-ask",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("발행하면 검색엔진에 알릴까요?","editnday")}),(0,f.jsx)("span",{className:"ed-small",children:(0,r.__)("글을 발행하거나 고치면 그 글의 주소를 네이버·Bing 등에 바로 알려서, 새 글을 더 빨리 찾게 해요 (IndexNow). 글 주소만 보내고, 비공개 글은 보내지 않아요. 구글은 이 방식을 받지 않아요.","editnday")}),(0,f.jsxs)("div",{className:"ed-row ed-gap6",children:[(0,f.jsx)(N,{disabled:s,onClick:()=>a(!0),children:(0,r.__)("켜기","editnday")}),(0,f.jsx)(N,{disabled:s,onClick:()=>a(!1),children:(0,r.__)("지금은 안 함","editnday")})]})]})}function Dt(e){const t=new Date(e);return Number.isNaN(t.getTime())?String(e):t.toLocaleString("ko-KR",{month:"long",day:"numeric",weekday:"short",hour:"numeric",minute:"2-digit"})}function Ht({live:e,scheduled:t}){const n=window.editndayConfig?.autoSend||{},s=!e||t,d=[s&&n.published&&(0,r.__)("고친 내용을 에디튼에 보내 초안과 비교해요","editnday"),n.indexnow&&(s?(0,r.__)("글 주소를 Bing·네이버에 바로 알려요","editnday"):(0,r.__)("반영하면 글 주소를 검색엔진에 다시 알려요","editnday"))].filter(Boolean);if(!d.length)return null;let a="";return t?a=(0,r.__)("예약 시간에 발행되면 자동으로:","editnday"):e||(a=(0,r.__)("발행하면 자동으로:","editnday")),(0,f.jsxs)("p",{className:"ed-muted ed-autosend",children:[a,d.join(" · "),"."," ",(0,f.jsx)("a",{href:window.editndayConfig?.settingsUrl,target:"_blank",rel:"noreferrer",children:(0,r.__)("설정에서 끄기","editnday")})]})}function Ut({id:e,alt:t,onDone:n}){const[s,d]=(0,o.useState)(t||""),[a,i]=(0,o.useState)(!1);return(0,f.jsxs)("div",{className:"ed-taskedit",children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0,label:(0,r.__)("대표 이미지 ALT","editnday"),help:(0,r.__)("그림에 무엇이 보이는지 한 문장으로. 검색엔진과 화면 읽기 프로그램이 읽어요.","editnday"),value:s,onChange:d}),(0,f.jsx)(N,{disabled:a||!s.trim(),onClick:async()=>{i(!0);try{await(0,J.dispatch)("core").saveEntityRecord("postType","attachment",{id:e,alt_text:s.trim()}),n()}catch(e){(0,J.dispatch)("core/notices").createErrorNotice(e?.message||(0,r.__)("저장하지 못했어요.","editnday"),{type:"snackbar"})}finally{i(!1)}},children:a?(0,r.__)("저장 중…","editnday"):(0,r.__)("저장","editnday")})]})}function Vt({k:e,st:t,mode:n,extra:s=[],below:d=[]}){const a=(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(zt,{k:e,st:t,mode:n,extra:s}),d]});return["geo","aeo"].includes(e)||!s.length?a:(0,f.jsxs)(f.Fragment,{children:[a,(0,f.jsx)("div",{className:"ed-row",children:s})]})}function zt({k:e,st:t,mode:n,extra:s}){if("excerpt"===e)return(0,f.jsx)(p.TextareaControl,{__nextHasNoMarginBottom:!0,rows:3,value:t.excerpt,onChange:e=>Ye({excerpt:e})});if("slug"===e)return(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,value:at(t.slug),onChange:e=>Ye({slug:e})});if("seo"===e)return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,label:"Fine Keyword",help:(0,r.__)("저장하면 SEO 플러그인 키워드 칸으로 옮겨요","editnday"),value:t.seo.keyword||"",onChange:e=>et("_editnday_seo",{...t.seo,keyword:e})}),y(_.keywordInfo,{keyword:t.seo.keyword||"",setKeyword:e=>et("_editnday_seo",{...t.seo,keyword:e})}),(0,f.jsx)(ut,{keyword:t.seo.keyword,seo:t.seo}),(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,label:(0,r.__)("SEO 제목","editnday"),value:t.seo.title||"",onChange:e=>et("_editnday_seo",{...t.seo,title:e})}),(0,f.jsx)(p.TextareaControl,{__nextHasNoMarginBottom:!0,label:(0,r.__)("SEO 설명","editnday"),rows:3,value:t.seo.description||"",onChange:e=>et("_editnday_seo",{...t.seo,description:e})})]});const d="visible"===n,a=e=>et("_editnday_schema",{...t.schema,...e,mode:n}),i=e=>{gt(Qe("_editnday_schema"),[e]),(0,J.dispatch)("core/notices").createSuccessNotice("faq"===e?(0,r.__)("본문 끝 질문과 답을 바꿨어요.","editnday"):(0,r.__)("본문 앞 요약을 바꿨어요.","editnday"),{type:"snackbar"})},l=(0,f.jsx)("span",{className:"ed-muted",children:d?(0,r.__)("본문 박스를 바로 고쳐도 돼요. 여기서 고쳤다면 [본문에 반영]을 눌러야 본문이 바뀌어요.","editnday"):(0,r.__)("본문에는 안 보여요. 본문에 있는 내용만 남겨 주세요.","editnday")});if("geo"===e)return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(p.TextareaControl,{__nextHasNoMarginBottom:!0,label:d?(0,r.__)("글 앞 요약","editnday"):(0,r.__)("검색봇·AI가 읽는 요약","editnday"),help:(0,r.__)("글 전체를 두세 문장으로. 검색 결과와 AI 답변에 인용되기 좋아요.","editnday"),rows:4,value:t.schema.summary||"",onChange:e=>a({summary:e})}),!d&&window.editndayConfig?.seoPlugin?(0,f.jsx)("span",{className:"ed-muted",children:(0,r.sprintf)(/* translators: %s: window.editndayConfig.seoPlugin */ /* translators: %s: window.editndayConfig.seoPlugin */(0,r.__)('%s가 글 정보를 이미 내고 있어, 같은 글이 두 번 잡히지 않게 요약은 구조화 데이터에 넣지 않아요. AI 인용에 쓰이게 하려면 "본문에 보이게"를 고르세요.',"editnday"),window.editndayConfig.seoPlugin)}):l,(0,f.jsxs)("div",{className:"ed-row",children:[d&&(0,f.jsx)(N,{disabled:!t.schema.summary?.trim(),onClick:()=>i("summary"),children:(0,r.__)("본문에 반영","editnday")}),s]})]});if("aeo"===e){const e=t.schema.faq?.length?t.schema.faq:[{question:"",answer:""}],n=(t,n)=>a({faq:e.map((e,s)=>s===t?{...e,...n}:e)});return(0,f.jsxs)("div",{className:"ed-faq",children:[e.map((t,s)=>(0,f.jsxs)("div",{className:"ed-faq__item is-edit",children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,label:(0,r.sprintf)(/* translators: %s: i + 1 */ /* translators: %s: i + 1 */(0,r.__)("질문 %s","editnday"),s+1),placeholder:(0,r.__)("독자가 검색창에 칠 만한 질문","editnday"),value:t.question,onChange:e=>n(s,{question:e})}),(0,f.jsx)(p.TextareaControl,{__nextHasNoMarginBottom:!0,label:(0,r.__)("답","editnday"),rows:3,value:t.answer,onChange:e=>n(s,{answer:e})}),e.length>1&&(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>a({faq:e.filter((e,t)=>t!==s)}),children:(0,r.__)("이 질문 빼기","editnday")})]},s)),l,(0,f.jsxs)("div",{className:"ed-row",children:[e.length<6&&(0,f.jsx)(N,{onClick:()=>a({faq:[...e,{question:"",answer:""}]}),children:(0,r.__)("질문 더하기","editnday")}),d&&(0,f.jsx)(N,{disabled:!e.some(e=>e.question?.trim()&&e.answer?.trim()),onClick:()=>i("faq"),children:(0,r.__)("본문에 반영","editnday")}),s]})]})}return"category"===e?(0,f.jsx)(nt,{}):"tags"===e?(0,f.jsx)("span",{className:"ed-muted",children:t.tags.length?(0,r.__)("워드프레스 태그 칸에 넣었어요. 오른쪽 ‘글’ 설정에서 고칠 수 있어요.","editnday"):(0,r.__)("태그는 오른쪽 ‘글’ 설정의 태그 칸에서 넣어요. 이 글을 찾을 만한 낱말 3~5개면 충분해요.","editnday")}):null}function Gt({url:e,title:t,description:n}){const[s,d]=(0,o.useState)(!1);let a="";try{a=new URL(window.location.href).hostname.replace(/^www\./,"")}catch(e){}return s?(0,f.jsxs)("div",{className:"ed-share",children:[(0,f.jsxs)("div",{className:"ed-share__card",children:[(0,f.jsx)("div",{className:"ed-share__img",style:{backgroundImage:`url("${e}")`},role:"img","aria-label":(0,r.__)("1.91:1로 잘린 대표 이미지","editnday")}),(0,f.jsxs)("div",{className:"ed-share__text",children:[(0,f.jsx)("span",{className:"ed-muted",children:a}),(0,f.jsx)("strong",{children:t||(0,r.__)("(제목 없음)","editnday")}),n&&(0,f.jsx)("span",{className:"ed-share__desc",children:n})]})]}),(0,f.jsxs)("p",{className:"ed-muted",children:[(0,r.__)("카카오톡·페이스북·X 링크는 보통 가운데를 1.91:1(1200×630)로 잘라 보여요. 가장자리의 글자·얼굴이 잘리면 그림을 다시 고르거나 만들어 보세요.","editnday")," ",(0,f.jsx)("button",{type:"button",className:"ed-mini",onClick:()=>d(!1),children:(0,r.__)("닫기","editnday")})]})]}):(0,f.jsx)("button",{type:"button",className:"ed-mini",style:{margin:"6px 0 2px"},onClick:()=>d(!0),children:(0,r.__)("공유될 때 모습 보기","editnday")})}function Jt(){const e=ft(),t=(0,c.applyFilters)(_.prepublishFixes,null),n=Et(e),s=n.filter(e=>!e.ok),[d,a]=(0,o.useState)(!1),[i,l]=(0,o.useState)(null),u=(()=>{try{const t=JSON.parse(e&&window.wp?.data?.select("core/editor").getEditedPostAttribute("meta")?._editnday_job||"null");return t?t.reviewed?"done":"pending":"none"}catch(e){return"none"}})(),h=["none"!==u&&{ok:"done"===u,label:"done"===u?(0,r.__)("확인할 곳 처리함","editnday"):(0,r.__)("확인할 곳이 남아 있어요 (에디튼 사이드바)","editnday")},{ok:e.categories.length>0,label:e.categories.length?(0,r.sprintf)(/* translators: %s: st.categoryNames.join( ', ' ) */ /* translators: %s: st.categoryNames.join( ', ' ) */(0,r.__)("카테고리: %s","editnday"),e.categoryNames.join(", ")):(0,r.__)("카테고리를 아직 고르지 않았어요 (기본 카테고리만)","editnday"),fix:t&&(async()=>{const e=await t.text(["category"]);l(e.categories?.length?null:{near:e.nearCategories||[],suggest:e.newCategory||""})}),key:"category"},e.memberCategoryNames?.length>0&&{ok:!1,label:(0,r.sprintf)(/* translators: %s: st.memberCategoryNames.join( ', ' ) */ /* translators: %s: st.memberCategoryNames.join( ', ' ) */(0,r.__)("회원 전용 카테고리: %s — 공개해도 회원만 볼 수 있어요 (SureMembers)","editnday"),e.memberCategoryNames.join(", "))},{ok:!s.length,label:s.length?(0,r.sprintf)(/* translators: 1: 통과한 수, 2: 전체 수, 3: 안 된 항목 이름(두 개까지), 4: 더 있으면 " 등" */ /* translators: 1: 통과한 수, 2: 전체 수, 3: 안 된 항목 이름(두 개까지), 4: 더 있으면 " 등" */(0,r.__)("검색·AI 점검 %1$s/%2$s: %3$s%4$s (에디튼 사이드바 → 발행 준비)","editnday"),n.length-s.length,n.length,s.slice(0,2).map(e=>e.label).join(", "),s.length>2?(0,r.__)(" 등","editnday"):""):(0,r.sprintf)(/* translators: %1$s: ko.length, %2$s: ko.length */ /* translators: %1$s: ko.length, %2$s: ko.length */(0,r.__)("검색·AI 점검 %1$s/%2$s","editnday"),n.length,n.length)},{ok:!!e.excerpt,label:e.excerpt?(0,r.__)("발췌문 있음","editnday"):(0,r.__)("발췌문 없음","editnday"),fix:t&&(()=>t.text(["excerpt"]))},{ok:!!e.seo.description,label:e.seo.description?(0,r.__)("SEO 설명 있음","editnday"):(0,r.__)("SEO 설명 없음","editnday"),fix:t&&(()=>t.text(["seo"]))},{ok:!!e.featured,label:e.featured?(0,r.__)("대표 이미지 있음","editnday"):(0,r.__)("대표 이미지 없음","editnday"),fix:t?.featured},(e.schema.faq?.length||e.schema.summary)&&{ok:!0,label:(0,r.sprintf)(/* translators: 1: 만든 데이터 목록 (예: 요약 · 질문 3개), 2: 본문에 안 보일 때 덧붙이는 설명 */ /* translators: 1: 만든 데이터 목록 (예: 요약 · 질문 3개), 2: 본문에 안 보일 때 덧붙이는 설명 */(0,r.__)("검색봇·AI용 데이터: %1$s%2$s","editnday"),[e.schema.summary&&(0,r.__)("요약","editnday"),e.schema.faq?.length&&(0,r.sprintf)(/* translators: %d: 질문 수 */ /* translators: %d: 질문 수 */17 (0, r.__)("질문 %d개","editnday"),e.schema.faq.length)].filter(Boolean).join(" · "),"structured"===e.schema.mode?(0,r.__)(" (본문에 안 보임, 에디튼 사이드바에서 고침)","editnday"):"")},(window.editndayConfig?.autoSend?.published||window.editndayConfig?.autoSend?.indexnow)&&{ok:!0,label:(0,r.sprintf)(/* translators: %s: 발행 때 자동으로 하는 일 목록 */ /* translators: %s: 발행 때 자동으로 하는 일 목록 */(0,r.__)("발행되면(예약이면 그 시간에) 자동으로: %s (관리자 메뉴 에디튼에서 끌 수 있어요)","editnday"),[window.editndayConfig.autoSend.published&&(0,r.__)("고친 내용을 에디튼에 보내요","editnday"),window.editndayConfig.autoSend.indexnow&&(0,r.__)("글 주소를 검색엔진에 알려요","editnday")].filter(Boolean).join(" · "))},e.featured&&{ok:!!e.featuredAlt,label:e.featuredAlt?(0,r.__)("대표 이미지 ALT 있음","editnday"):(0,r.__)("대표 이미지 ALT 없음","editnday"),fix:t?.alt}].filter(Boolean),y=h.filter(e=>!e.ok&&e.fix);return(0,f.jsxs)("div",{className:"editnday ed-prepublish",children:[h.map(e=>(0,f.jsxs)("div",{children:[(0,f.jsxs)("div",{className:"ed-task",children:[(0,f.jsx)("span",{className:"ed-circ"+(e.ok?" is-filled":" is-warn"),children:e.ok?(0,f.jsx)(j,{}):"!"}),(0,f.jsx)("span",{className:"ed-task__t",children:e.label}),!e.ok&&e.fix&&(0,f.jsx)("button",{type:"button",className:"ed-mini",disabled:d,onClick:async()=>{a(!0);try{await e.fix()}finally{a(!1)}},children:"category"===e.key?(0,r.__)("고르기","editnday"):(0,r.__)("AI로 만들기","editnday")})]}),"category"===e.key&&i&&!e.ok&&(0,f.jsx)(st,{panel:i,onDone:()=>l(null)})]},e.label)),y.length>1&&(0,f.jsx)("button",{type:"button",className:"ed-ghost",disabled:d,onClick:async()=>{a(!0);try{const n=[!e.categories.length&&"category",!e.excerpt&&"excerpt",!e.seo.description&&"seo"].filter(Boolean);if(n.length){const e=await t.text(n);n.includes("category")&&!e.categories?.length&&l({near:e.nearCategories||[],suggest:e.newCategory||""})}e.featured||await t.featured(),await t.alt().catch(()=>{})}finally{a(!1)}},children:d?(0,r.__)("만드는 중…","editnday"):(0,r.__)("남은 것 모두 하기","editnday")})]})}const Wt=window.wp.plugins,Xt=window.wp.domReady;var Zt=n.n(Xt);const Yt=()=>"undefined"!=typeof window&&window.speechSynthesis?window.speechSynthesis:null;function Qt({result:e}){const[t,n]=(0,o.useState)(!1),[s,d]=(0,o.useState)(null);if((0,o.useEffect)(()=>()=>Yt()?.cancel(),[]),!t)return(0,f.jsx)("button",{type:"button",className:"ed-link ed-sentences__toggle",onClick:()=>n(!0),children:(0,r.__)("문장별로 보기","editnday")});const a=new Set(e.issues.filter(e=>["long_sentence","many_clauses","adverb_heavy"].includes(e.rule)).map(e=>e.sentence));return(0,f.jsxs)("div",{className:"ed-sentences",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("문장별로 보기","editnday")}),(0,f.jsx)("button",{type:"button",className:"ed-link ed-muted",onClick:()=>{Yt()?.cancel(),d(null),n(!1)},children:(0,r.__)("접기","editnday")})]}),(0,f.jsx)("span",{className:"ed-small",children:(0,r.__)("한 줄에 한 문장이에요. 한 호흡(60자)을 넘으면 노랑, 100자를 넘으면 빨강. 소리 내어 읽어 어색하면 나눠요.","editnday")}),e.sections.map(e=>{const t=je(e.text);return t.length?(0,f.jsxs)("div",{className:"ed-sentences__sec",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsxs)("strong",{className:"ed-sentences__h",children:[e.heading||(0,r.__)("도입","editnday"),(0,f.jsxs)("span",{className:"ed-muted",children:[" · ",(0,r.sprintf)(/* translators: %d: 문장 수 */ /* translators: %d: 문장 수 */18 (0, r.__)("%d문장","editnday"),t.length)]})]}),Yt()&&(0,f.jsx)("button",{type:"button",className:"ed-mini",onClick:()=>(e=>{const t=Yt();if(!t)return;if(s===e.id)return t.cancel(),void d(null);t.cancel();const n=new window.SpeechSynthesisUtterance((e.heading?e.heading+". ":"")+je(e.text).join(" "));n.lang="ko-KR",n.rate=1,n.onend=()=>d(null),n.onerror=()=>d(null),d(e.id),t.speak(n)})(e),"aria-pressed":s===e.id,children:s===e.id?(0,r.__)("멈추기","editnday"):(0,r.__)("읽어 주기","editnday")})]}),t.map((e,t)=>{let n="";return e.length>100?n=" is-long":e.length>60&&(n=" is-breath"),(0,f.jsxs)("button",{type:"button",className:`ed-sentences__s${n}${a.has(e)?" is-flag":""}`,onClick:()=>_e(e),title:(0,r.__)("본문에서 보기","editnday"),children:[(0,f.jsx)("span",{className:"ed-sentences__n",children:e.length}),(0,f.jsx)("span",{children:e})]},t)})]},e.id):null})]})}const en={da:(0,r.__)("-다","editnday"),yo:(0,r.__)("-요","editnday"),sumnida:(0,r.__)("-습니다","editnday")},tn=[{id:"ai",rules:["banned_phrase"],label:(0,r.__)("AI가 쓴 티가 나는 표현","editnday"),hint:(0,r.__)('상투적인 칭찬, 글을 소개하는 문장, "결론적으로" 같은 정리 말은 빼거나 내 말로 바꿔요.',"editnday")},{id:"spell",rules:["common_mistake"],label:(0,r.__)("자주 틀리는 표현","editnday"),hint:(0,r.__)("몇일 → 며칠, 되요 → 돼요, 컨텐츠 → 콘텐츠처럼 자주 틀리는 표현을 표준 표기로 고쳐요. 맞춤법 전체를 보지는 않아요.","editnday")},{id:"ending",rules:["ending_mixed"],label:(0,r.__)("어미 섞임","editnday"),hint:e=>e.ending?(0,r.sprintf)(/* translators: %s: ENDING_LABEL[ r.ending ] */ /* translators: %s: ENDING_LABEL[ r.ending ] */(0,r.__)("이 글은 대부분 '%s'로 끝나요. 다른 어미로 끝난 문장을 맞춰요.","editnday"),en[e.ending]):(0,r.__)("문장이 더 쌓이면 어미를 봐요.","editnday")},{id:"similar",rules:["repeated_sentence"],label:(0,r.__)("닮은 문장","editnday"),hint:(0,r.__)("앞에서 한 말을 다시 하고 있어요. 한 곳만 남기거나 다르게 써요.","editnday")},{id:"repeat",rules:["repetition"],label:(0,r.__)("같은 표현 되풀이","editnday"),hint:(0,r.__)("같은 말이 세 번 넘게 나와요. 몇 곳은 다른 말로 바꿔요.","editnday")},{id:"start",rules:["same_start"],label:(0,r.__)("같은 말로 시작하는 문장","editnday"),hint:(0,r.__)('"또한 … 또한 …"처럼 이어지면 단조로워요. 접속어를 빼거나 순서를 바꿔요.',"editnday")},{id:"long",rules:["long_sentence"],label:(0,r.__)("긴 문장","editnday"),hint:(0,r.__)("100자가 넘는 문장은 모바일에서 읽기 힘들어요. 둘로 나눠요.","editnday")},{id:"adverb",rules:["adverb_heavy"],label:(0,r.__)("부사 몰림","editnday"),hint:(0,r.__)("한 문장에 정말·너무·아주 같은 부사가 둘 넘게 있어요. 빼도 뜻이 바뀌지 않으면 빼요. 부사가 빠질수록 담백해져요.","editnday")},{id:"clauses",rules:["many_clauses"],label:(0,r.__)("이어 붙인 문장","editnday"),hint:(0,r.__)("'-고, -는데, -지만'으로 절이 네 개 넘게 이어졌어요. 정보 하나에 문장 하나로 나누면 읽는 사람이 놓치지 않아요.","editnday")},{id:"para",rules:["long_paragraph"],label:(0,r.__)("긴 단락","editnday"),hint:(0,r.__)("한 단락이 500자를 넘으면 화면이 글자로 가득해요. 나눠요.","editnday")},{id:"number",rules:["number_format"],label:(0,r.__)("숫자 표기","editnday"),hint:(0,r.__)("큰 수를 쉼표 있게도 없게도 썼어요. 한 가지로 맞춰요.","editnday")},{id:"foreign",rules:["foreign_script"],label:(0,r.__)("일본어·한자 섞임","editnday"),hint:(0,r.__)("한국어 글에 일본어나 한자가 섞였어요.","editnday")},{id:"alt",rules:["image_alt"],label:(0,r.__)("대체 텍스트 없는 이미지","editnday"),hint:(0,r.__)("검색엔진과 화면 읽기 프로그램이 그림을 이해하게 대체 텍스트(ALT)를 적어요.","editnday")}],nn="editnday_textcheck_off",sn=()=>{try{return JSON.parse(window.localStorage.getItem(nn)||"[]")}catch(e){return[]}},dn=e=>{try{window.localStorage.setItem(nn,JSON.stringify(e))}catch(e){}};function an(){const e=(0,J.useSelect)(e=>e("core/block-editor").getBlocks(),[]),[t,n]=(0,o.useState)(()=>ze(e));(0,o.useEffect)(()=>{const t=setTimeout(()=>n(ze(e)),800);return()=>clearTimeout(t)},[e]);const[s,d]=(0,o.useState)(sn),[a,i]=(0,o.useState)(!1),[l,c]=(0,o.useState)(null);if(t.metrics.chars<50)return(0,f.jsxs)(w,{className:"ed-koseo",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("한국어 글 점검","editnday")}),(0,f.jsx)("span",{className:"ed-small",children:(0,r.__)("본문을 쓰면 여기서 바로 점검해요.","editnday")})]});const u=tn.filter(e=>!s.includes(e.id)).map(e=>({...e,issues:t.issues.filter(t=>e.rules.includes(t.rule))})),h=u.filter(e=>!e.issues.length).length,m=u.filter(e=>e.issues.length),p=a?u:m;return(0,f.jsxs)(w,{className:"ed-koseo ed-textcheck",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("한국어 글 점검","editnday")}),(0,f.jsx)("span",{className:"ed-koseo__score"+(m.length?"":" is-ok"),children:(0,r.sprintf)(/* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */ /* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */19 (0, r.__)("%1$d개 중 %2$d개 통과","editnday"),u.length,h)})]}),p.map(e=>{const n=l===e.id,a="function"==typeof e.hint?e.hint(t):e.hint;return(0,f.jsxs)("div",{className:"ed-koseo__item",children:[(0,f.jsx)("span",{className:"ed-circ"+(e.issues.length?" is-warn":" is-filled"),children:e.issues.length?"!":(0,f.jsx)(j,{})}),(0,f.jsxs)("span",{className:"ed-koseo__body",children:[(0,f.jsxs)("button",{type:"button",className:"ed-koseo__head ed-textcheck__head","aria-expanded":n,disabled:!e.issues.length,onClick:()=>c(n?null:e.id),children:[(0,f.jsx)("span",{className:"ed-koseo__label",children:e.label}),(0,f.jsx)("span",{className:"ed-koseo__who",children:e.issues.length?(0,r.sprintf)(/* translators: %s: it.issues.length */ /* translators: %s: it.issues.length */(0,r.__)("%s곳","editnday"),e.issues.length):(0,r.__)("없음","editnday")})]}),n&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("span",{className:"ed-koseo__hint",children:a}),e.issues.slice(0,5).map((e,t)=>(0,f.jsxs)("button",{type:"button",className:"ed-textcheck__sent",onClick:()=>{var t;(t=e).clientId?(0,J.dispatch)("core/block-editor").selectBlock(t.clientId):_e(t.sentence)||(0,J.dispatch)("core/notices").createWarningNotice((0,r.__)("본문에서 문장을 찾지 못했어요","editnday"),{type:"snackbar"})},title:(0,r.__)("본문에서 보기","editnday"),children:[["common_mistake","adverb_heavy","many_clauses"].includes(e.rule)&&(0,f.jsxs)("strong",{children:[e.detail," · "]}),e.sentence.length>70?`${e.sentence.slice(0,70)}…`:e.sentence]},t)),e.issues.length>5&&(0,f.jsx)("span",{className:"ed-muted",children:(0,r.sprintf)(/* translators: %d: 더 있는 곳 수 */ /* translators: %d: 더 있는 곳 수 */20 (0, r.__)("그 밖에 %d곳","editnday"),e.issues.length-5)}),(0,f.jsx)("button",{type:"button",className:"ed-link ed-muted",onClick:()=>(e=>{const t=s.includes(e)?s.filter(t=>t!==e):[...s,e];d(t),dn(t)})(e.id),children:(0,r.__)("이 항목 점검 끄기","editnday")}),y(_.checkItemActions,{item:e.id,issues:e.issues}),"number"!==e.id&&(0,f.jsx)(D,{label:(0,r.__)("AI로 고치기","editnday")})]})]})]},e.id)}),!m.length&&!a&&(0,f.jsx)("span",{className:"ed-small",children:(0,r.__)("모두 좋아요.","editnday")}),(0,f.jsx)(Qt,{result:t}),(0,f.jsxs)("div",{className:"ed-koseo__foot",children:[(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>i(!a),children:a?(0,r.__)("고칠 것만 보기","editnday"):(0,r.sprintf)(/* translators: %s: okN */ /* translators: %s: okN */(0,r.__)("통과한 것도 보기 (%s)","editnday"),h)}),s.length>0&&(0,f.jsx)("button",{type:"button",className:"ed-link ed-muted",onClick:()=>{d([]),dn([])},children:(0,r.sprintf)(/* translators: %d: 꺼 둔 항목 수 */ /* translators: %d: 꺼 둔 항목 수 */21 (0, r.__)("꺼 둔 항목 %d개 다시 켜기","editnday"),s.length)}),(0,f.jsx)("span",{className:"ed-muted",children:(0,r.__)("문장을 누르면 본문에서 보여 줘요. 맞춤법 전체가 아니라 자주 틀리는 표현만 봐요.","editnday")})]})]})}function rn(){const e=ft();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(A,{eyebrow:(0,r.__)("글 점검","editnday"),title:(0,r.__)("이 글을 점검해요","editnday"),sub:(0,r.__)("쓰는 동안 문장과 검색을 함께 봐요. 글을 고치면 잠깐 뒤 다시 점검해요.","editnday")}),(0,f.jsx)(an,{}),(0,f.jsx)(Pt,{st:e}),(0,f.jsx)(U,{})]})}function ln(){const e=(0,J.useSelect)(e=>!e("core/editor").isEditedPostEmpty(),[]),t=(0,J.useSelect)(e=>["publish","future","private"].includes(e("core/editor").getEditedPostAttribute("status")),[]),[n,s]=(0,o.useState)(null),d=[{id:"check",label:(0,r.__)("글 점검","editnday"),render:e=>(0,f.jsx)(rn,{api:e})},{id:"publish",label:(0,r.__)("발행 준비","editnday"),render:e=>(0,f.jsx)(Rt,{onNew:()=>h()?m(u.newPost):window.location.href="post-new.php",onCheck:()=>e.goTab("check")})}],a=y(_.tabs,{free:d}),i=a.length?a:d,l=(0,o.useRef)(!1),c=e=>{l.current||(l.current=!0,s(e))},p=i.some(e=>e.decides);(0,o.useEffect)(()=>{p||c(t&&e&&!(()=>{try{return!!JSON.parse((0,J.select)("core/editor").getEditedPostAttribute("meta")?._editnday_job||"null")?.id}catch(e){return!1}})()?"publish":"check")},[p,t,e]);const g=n??i[0].id,x=y(_.notice,{tab:g});return(0,f.jsxs)("div",{className:"editnday ed-body",children:[x,(0,f.jsx)(v,{tabs:i.map(e=>[e.id,e.label]),value:g,onChange:s}),i.map(e=>{const t=e.id===g;return t||e.keepMounted?(0,f.jsx)(o.Fragment,{children:e.render({active:t,goTab:s,onDecide:c})},e.id):null})]})}window.editnday=Object.freeze({...a,...i,...s,...d});const on=()=>(0,f.jsx)(x,{size:18}),cn=()=>(0,f.jsxs)("div",{className:"editnday-header",children:[(0,f.jsx)("img",{src:window.editndayConfig?.wordmark,alt:(0,r.__)("에디튼","editnday"),height:"18"}),(0,f.jsxs)("span",{className:"editnday-header__ver",children:["v",window.editndayConfig?.version]}),h()&&(0,f.jsxs)("span",{className:"editnday-header__pro",title:(0,r.__)("에디튼 프로","editnday"),children:["P",window.editndayConfig?.proVersion&&(0,f.jsx)("span",{className:"editnday-header__prover",children:window.editndayConfig.proVersion})]})]});Zt()(()=>(0,Wt.registerPlugin)("editnday",{render:()=>(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(l.PluginSidebarMoreMenuItem,{target:"editnday-sidebar",icon:(0,f.jsx)(on,{}),children:(0,r.__)("에디튼","editnday")}),(0,f.jsx)(l.PluginSidebar,{name:"editnday-sidebar",title:(0,r.__)("에디튼","editnday"),icon:(0,f.jsx)(on,{}),header:(0,f.jsx)(cn,{}),children:(0,f.jsx)(ln,{})}),(0,f.jsx)(l.PluginPrePublishPanel,{title:(0,r.__)("에디튼 발행 점검","editnday"),initialOpen:!0,icon:(0,f.jsx)(on,{}),children:(0,f.jsx)(Jt,{})})]})}))}};const t={};function n(s){const d=t[s];if(void 0!==d)return d.exports;const a=t[s]={exports:{}};return e[s](a,a.exports,n),a.exports}n.m=e,(()=>{const e=[];n.O=(t,s,d)=>{if(!s){for(var a=0;a<e.length;a++){let[s,d]=e[a],r=!0;for(var i=0;i<s.length;i++)n.O.j(s[i])?s.splice(i--,1):r=!1;if(r){e.splice(a--,1);const n=d();void 0!==n&&(t=n)}}return t}e.push([s,d])}})(),n.n=e=>{const t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var s in t)n.o(t,s)&&!n.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},n.o=(e,t)=>Object.hasOwn(e,t),n.r=e=>{Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{const e={57:0,350:0};n.O.j=t=>0===e[t];const t=(t,s)=>{let[d,a,i]=s;var r,l,o=0;if(d.some(t=>0!==e[t])){for(r in a)n.o(a,r)&&(n.m[r]=a[r]);if(i)var c=i(n)}for(t&&t(s);o<d.length;o++)l=d[o],n.o(e,l)&&e[l]&&e[l][0](),e[l]=0;return n.O(c)},s=globalThis.webpackChunk_editnday_plugin||=[];s.forEach(t.bind(null,0)),s.push=t.bind(null,s.push.bind(s))})();let s=n.O(void 0,[350],()=>n(786));s=n.O(s)})();1 (()=>{"use strict";var e={786(e,t,n){var s={};n.r(s),n.d(s,{EVENT:()=>u,SLOT:()=>_,emit:()=>m,hasPro:()=>h,slot:()=>y});var a={};n.r(a),n.d(a,{Bar:()=>M,Card:()=>w,Check:()=>j,Chip:()=>S,Cta:()=>k,Elapsed:()=>B,Ghost:()=>N,Head:()=>A,Live:()=>P,Opt:()=>I,Radio:()=>T,Req:()=>$,Stepper:()=>L,Steps:()=>E,Symbol:()=>x,Tabs:()=>v,Tag:()=>C});var d={};n.r(d),n.d(d,{CONTENT_STYLE:()=>te,applyToSentence:()=>re,bodyHeadings:()=>Q,clearEmptyStart:()=>ie,contentStyleOn:()=>ne,findSentenceBlock:()=>ce,hasSection:()=>W,insertSection:()=>X,insertSectionAfter:()=>ee,plainText:()=>ae,restoreBlocks:()=>oe,setTitle:()=>le,showSentence:()=>_e,withContentStyle:()=>se});var i={};n.r(i),n.d(i,{CategoryNoFit:()=>st,KoSeoCard:()=>Lt,PublishScreen:()=>Jt,TASKS:()=>ht,TEMPLATES:()=>kt,TPL_ASPECTS:()=>vt,TPL_LAYOUTS:()=>St,closestSentence:()=>ct,contentText:()=>tt,decode:()=>at,drawTemplate:()=>It,ed:()=>Ye,edit:()=>Ze,hasWord:()=>rt,insertRelated:()=>Mt,memberOnly:()=>lt,placeVisible:()=>gt,readMeta:()=>Qe,setFineKeyword:()=>xt,strip:()=>Ot,tagIds:()=>yt,templateFeatured:()=>At,templatePreview:()=>Et,titleFeatured:()=>Pt,useKoSeo:()=>qt,usePublishState:()=>ft,writeMeta:()=>et});const l=window.wp.i18n,r=window.wp.editor,o=window.wp.element,c=window.wp.hooks,_={pro:"editnday.pro",tabs:"editnday.sidebar.tabs",notice:"editnday.notice",checkItemActions:"editnday.check.itemActions",publishFieldActions:"editnday.publish.fieldActions",keywordFix:"editnday.publish.keywordFix",keywordInfo:"editnday.publish.keywordInfo",prepublishFixes:"editnday.prepublish.fixes"},u={newPost:"editnday.newPost"},h=()=>!!(0,c.applyFilters)(_.pro,null),y=(e,t={})=>{const n=(0,c.applyFilters)(e,[],t);return Array.isArray(n)?n.filter(Boolean):[]},m=(e,...t)=>(0,c.doAction)(e,...t),p=window.wp.components,g=window.wp.compose,f=window.ReactJSXRuntime,x=({size:e=16,color:t="#243235"})=>(0,f.jsx)("svg",{viewBox:"0 0 44 46.6",width:e,height:e,"aria-hidden":"true",children:(0,f.jsx)("path",{fill:t,d:"M43.22,21.083c.304-6.426-2.765-9.571-2.765-9.571-4.952-5.651-16.923-5.378-27.013-5.047-1.774,0-2.833.293-4.019.748-1.738.635-3.071,1.831-4.423,3.1-1.435,1.352-2.621,3.131-3.517,5.49C.131,19.294-.296,23.225.2,27.005c0,.003,0,.005.001.008,0,0,1.116,5.041,2.233,7.124.662,1.241,4.373,5.311,5.531,5.987,2.069,1.2,5.559,2.262,7.863,1.117-.386-.455-.814-.91-1.035-1.476-.221-.538-.221-1.228.166-1.669.11-.138.221-.262.331-.372.772.028,1.499.428,5.568.428,5.378.133,16.915,1.493,15.26-2.767-13.801-.264-20.166-.917-22.161-3.05-.475-.508-.34-1.395.13-.921,3.733,3.767,23.166,3.09,23.175,3.095,3.119.035,5.785-8.914,5.957-13.425ZM12.152,28.125c-2.019.168-3.793-2.006-2.416-3.297.971-.912,2.233-1.046,3.547.038,1.691,1.459.425,3.13-1.131,3.26Z"})}),b=()=>(0,f.jsx)("svg",{viewBox:"0 0 24 24",width:"16",height:"16",fill:"none",stroke:"#243235",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",children:(0,f.jsx)("path",{d:"M7 17L17 7M9 7h8v8"})}),j=({color:e="#fff"})=>(0,f.jsx)("svg",{viewBox:"0 0 24 24",width:"12",height:"12",fill:"none",stroke:e,strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,f.jsx)("path",{d:"M5 12.5l4.5 4.5L19 7.5"})}),w=({children:e,className:t=""})=>(0,f.jsx)("div",{className:`ed-card ${t}`,children:e}),k=({children:e,onClick:t,disabled:n})=>(0,f.jsxs)("button",{type:"button",className:"ed-cta",onClick:t,disabled:n,children:[(0,f.jsx)("span",{children:e}),(0,f.jsx)("span",{className:"ed-cta__dot",children:(0,f.jsx)(b,{})})]}),N=({children:e,onClick:t,disabled:n})=>(0,f.jsx)("button",{type:"button",className:"ed-ghost",onClick:t,disabled:n,children:e}),v=({tabs:e,value:t,onChange:n})=>(0,f.jsx)("div",{className:"ed-tabs",role:"tablist",children:e.map(([e,s])=>(0,f.jsx)("button",{type:"button",role:"tab","aria-selected":t===e,className:"ed-tab"+(t===e?" is-on":""),onClick:()=>n(e),children:s},e))}),S=({children:e,on:t,lav:n,onClick:s})=>(0,f.jsx)("button",{type:"button",className:`ed-chip${t?" is-on":""}${n?" is-lav":""}`,onClick:s,"aria-pressed":!!t,children:e}),C=({children:e,tone:t})=>(0,f.jsx)("span",{className:"ed-tag"+(t?` is-${t}`:""),children:e}),$=()=>(0,f.jsx)("span",{className:"ed-req",role:"img","aria-label":(0,l.__)("필수","editnday")}),I=()=>(0,f.jsx)("span",{className:"ed-opt",children:(0,l.__)("선택","editnday")}),A=({eyebrow:e,title:t,sub:n})=>(0,f.jsxs)("div",{className:"ed-head",children:[e&&(0,f.jsx)("span",{className:"ed-eyebrow",children:e}),(0,f.jsx)("h2",{className:"ed-h",children:t}),n&&(0,f.jsx)("p",{className:"ed-sub",children:n})]}),E=({steps:e})=>(0,f.jsx)("div",{className:"ed-steps",children:e.map(e=>(0,f.jsxs)("div",{className:`ed-step is-${e.state}`,children:[(0,f.jsx)("span",{className:"ed-circ",children:"done"===e.state&&(0,f.jsx)(j,{})}),(0,f.jsx)("span",{className:"ed-step__label",children:e.label}),e.meta&&(0,f.jsx)("span",{className:"ed-muted ed-step__meta",children:e.meta})]},e.label))});function B({since:e}){const[t,n]=(0,o.useState)(Date.now());(0,o.useEffect)(()=>{const e=setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(e)},[]);const s=Math.max(0,Math.round((t-e)/1e3));return(0,f.jsx)("span",{className:"ed-muted ed-elapsed",children:s>=60?(0,l.sprintf)(/* translators: %1$s: Math.floor( s / 60 ), %2$s: s % 60 */ /* translators: %1$s: Math.floor( s / 60 ), %2$s: s % 60 */(0,l.__)("%1$s분 %2$s초째","editnday"),Math.floor(s/60),s%60):(0,l.sprintf)(/* translators: %s: s */ /* translators: %s: s */(0,l.__)("%s초째","editnday"),s)})}const P=({text:e,since:t})=>(0,f.jsxs)("div",{className:"ed-live",children:[(0,f.jsx)("span",{className:"ed-pulse"}),(0,f.jsx)("span",{className:"ed-live__t",children:e}),(0,f.jsx)(B,{since:t})]}),M=({ratio:e,busy:t})=>(0,f.jsxs)("div",{className:"ed-bar"+(t?" is-busy":""),role:"progressbar","aria-valuenow":Math.round(100*e),"aria-valuemin":0,"aria-valuemax":100,children:[(0,f.jsx)("div",{className:"ed-bar__fill",style:{width:`${Math.max(4,100*e)}%`}}),(0,f.jsx)("div",{className:"ed-bar__hatch"})]}),T=({checked:e,onChange:t,children:n})=>{const s=`ed-radio-${(0,g.useInstanceId)(T)}`;return(0,f.jsxs)("label",{htmlFor:s,className:"ed-radio"+(e?" is-on":""),children:[(0,f.jsx)("input",{id:s,type:"radio",checked:e,onChange:t}),(0,f.jsx)("span",{className:"ed-rdot"}),(0,f.jsx)("span",{children:n})]})},O={start:[0,-1,""],research:[0,0,(0,l.__)("에디튼이 자료를 모으는 중 · 1~2분","editnday")],plan:[1,-1,""],writing:[1,1,(0,l.__)("다 쓰면 확인할 곳을 보여 드려요 · 2~3분","editnday")],review:[2,-1,(0,l.__)("확인할 곳을 정하면 발행 준비로 넘어가요","editnday")],done:[2,-1,""]},F=[(0,l.__)("주제·메모","editnday"),(0,l.__)("구성안 고르기","editnday"),(0,l.__)("확인·발행","editnday")],q=[(0,l.__)("자료 조사","editnday"),(0,l.__)("본문 쓰기","editnday")];function L({stage:e}){const t=O[e];if(!t)return null;const[n,s,a]=t,d=s>=0?s:n-1;return(0,f.jsxs)("div",{className:"ed-stepper","aria-label":(0,l.sprintf)(/* translators: 1: 지금 단계 번호, 2: 진행 중인 일 (예: ", 구성안 만드는 중") */ /* translators: 1: 지금 단계 번호, 2: 진행 중인 일 (예: ", 구성안 만드는 중") */(0,l.__)("작가가 할 일 3단계 중 %1$s단계%2$s","editnday"),n+1,s>=0?(0,l.sprintf)(/* translators: %s: 진행 중인 일 */ /* translators: %s: 진행 중인 일 */ 2 (0,l.__)(", %s 중","editnday"),q[s]):""),children:[(0,f.jsx)("div",{className:"ed-stepper__flow",children:F.map((e,t)=>{const a=t<=d,i=!a&&t===n&&s<0;return[(0,f.jsxs)("div",{className:`ed-stepper__st${a?" is-done":""}${i?" is-now":""}`,children:[(0,f.jsx)("span",{className:"ed-stepper__dot",children:a?(0,f.jsx)(j,{}):t+1}),(0,f.jsx)("span",{className:"ed-stepper__lbl",children:e})]},e),t<q.length&&(0,f.jsxs)("div",{className:`ed-stepper__link${t===s?" is-run":""}${t<d||t<n&&s<0?" is-done":""}`,children:[(0,f.jsx)("span",{className:"ed-stepper__line"}),(0,f.jsxs)("em",{children:[q[t],t===s?(0,l.__)("중","editnday"):""]})]},q[t])]})}),a&&(0,f.jsx)("span",{className:"ed-stepper__note",children:a})]})}const R="editnday_pro_card_off";function D({onClose:e}){return(0,f.jsxs)(p.Modal,{title:(0,l.__)("에디튼 프로","editnday"),onRequestClose:e,className:"ed-proinfo",size:"medium",children:[(0,f.jsx)("p",{children:(0,l.__)("에디튼 프로는 지금 쓰는 에디튼에 AI를 더해요. 무료 기능은 그대로이고, 같은 사이드바에 버튼과 [새 글 쓰기] 탭이 생겨요.","editnday")}),(0,f.jsxs)("ul",{children:[(0,f.jsx)("li",{children:(0,l.__)("새 글 쓰기: 주제와 메모로 자료 조사 → 구성안 → 내 문체의 초안 → 확인할 곳까지 (글 1편 10크레딧 안팎)","editnday")}),(0,f.jsx)("li",{children:(0,l.__)("글 점검에서 찾은 문장을 AI로 고치기, 줄이기, 다시 쓰기","editnday")}),(0,f.jsx)("li",{children:(0,l.__)("발행 준비 칸 채우기: 발췌문·태그·카테고리·영문 주소·SEO 제목과 설명·요약·질문답 (한 번에)","editnday")}),(0,f.jsx)("li",{children:(0,l.__)("대표 이미지 만들기(1장 1크레딧)와 ALT, 단락 더 쓰기(1크레딧)","editnday")})]}),(0,f.jsx)("p",{className:"ed-muted",children:(0,l.__)("프로를 설치하고 라이선스를 넣으면 바로 쓸 수 있어요. 지금 이 화면의 기능은 프로 없이도 계속 무료예요.","editnday")}),(0,f.jsx)("p",{children:(0,f.jsx)("a",{className:"components-button is-primary",href:"https://editn.day/",target:"_blank",rel:"noopener noreferrer",children:(0,l.__)("에디튼 프로 알아보기","editnday")})})]})}function K({label:e}){const[t,n]=(0,o.useState)(!1);return h()?null:(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("button",{type:"button",className:"ed-prohint",onClick:()=>n(!0),children:[e," ",(0,f.jsx)("span",{className:"ed-prohint__tag",title:(0,l.__)("프로","editnday"),children:"P"})]}),t&&(0,f.jsx)(D,{onClose:()=>n(!1)})]})}const H=()=>{try{return"1"===window.localStorage.getItem(R)}catch(e){return!1}};function z(){const[e,t]=(0,o.useState)(H),[n,s]=(0,o.useState)(!1);return h()||e?null:(0,f.jsxs)(w,{className:"ed-procard",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsxs)("span",{className:"ed-lbl",children:[(0,l.__)("초안도 써 드려요","editnday")," ",(0,f.jsx)("span",{className:"ed-prohint__tag",title:(0,l.__)("프로","editnday"),children:"P"})]}),(0,f.jsx)("button",{type:"button",className:"ed-link ed-muted",onClick:()=>{t(!0);try{window.localStorage.setItem(R,"1")}catch(e){}},"aria-label":(0,l.__)("이 안내 닫기","editnday"),children:(0,l.__)("닫기","editnday")})]}),(0,f.jsx)("span",{className:"ed-small",children:(0,l.__)("에디튼 프로는 주제와 메모만으로 자료를 찾아 내 문체의 초안을 쓰고, 여기서 찾은 문장도 AI로 고쳐요.","editnday")}),(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>s(!0),children:(0,l.__)("자세히 보기","editnday")}),n&&(0,f.jsx)(D,{onClose:()=>s(!1)})]})}const U=window.wp.apiFetch;var J=n.n(U);const V=window.wp.blocks,G=window.wp.data;function W(e){return(0,G.select)("core/block-editor").getBlocks().some(t=>"core/heading"===t.name&&t.attributes?.metadata?.editnday===e)}function X({id:e,heading:t,text:n}){if(e&&W(e))return!1;const s=[(0,V.createBlock)("core/heading",{level:2,content:ue(t),metadata:{editnday:e}})],a=(0,V.pasteHandler)({plainText:String(n).replace(/~/g,"\\~"),mode:"BLOCKS"});return s.push(...(Array.isArray(a)?a:[]).map(se)),(0,G.dispatch)("core/block-editor").insertBlocks(s),!0}const Y=e=>String(e.attributes?.content??"").replace(/<[^>]+>/g,"").trim(),Z=e=>"faq"===e.attributes?.metadata?.editnday;function Q(){return(0,G.select)("core/block-editor").getBlocks().filter(e=>"core/heading"===e.name&&2===(e.attributes.level??2)&&Y(e)).map(Y)}function ee({heading:e,text:t,afterHeading:n}){const s=(0,G.select)("core/block-editor").getBlocks(),a=e=>"core/heading"===e.name&&2===(e.attributes.level??2),d=s.findIndex(Z),i=d>=0?d:s.length,l=s.findIndex(e=>a(e)&&Y(e)===n);let r=i;if(l>=0&&l<i){const e=s.findIndex((e,t)=>t>l&&a(e));r=e>=0&&e<i?e:i}const o=(0,V.pasteHandler)({plainText:String(t).replace(/~/g,"\\~"),mode:"BLOCKS"}),c=[(0,V.createBlock)("core/heading",{level:2,content:ue(e),metadata:{editnday:`extra-${Date.now()}`}}),...(Array.isArray(o)?o:[]).map(se)];return(0,G.dispatch)("core/block-editor").insertBlocks(c,r),c.map(e=>e.clientId)}const te="is-style-editnday",ne=()=>"off"!==window.editndayConfig?.contentStyle;function se(e){if("core/list"!==e?.name&&"core/table"!==e?.name||!ne())return e;const t=e.attributes.className||"";return/\bis-style-/.test(t)||(e.attributes.className=`${t} ${te}`.trim()),e}const ae=e=>String(e).replace(/\[([^\]]+)\]\([^)]*\)/g,"$1"),de=e=>String(e).replace(/\[([^\]]+)\]\(([^)\s]+)\)/g,'<a href="$2">$1</a>');function ie(){const e=(0,G.select)("core/block-editor").getBlocks();1!==e.length||"core/paragraph"!==e[0].name||e[0].attributes.content||(0,G.dispatch)("core/block-editor").removeBlocks([e[0].clientId])}function le(e){(0,G.dispatch)("core/editor").editPost({title:e})}function re(e,t){const n=(0,G.select)("core/block-editor"),s=n=>{for(const a of n){if("core/paragraph"===a.name||"core/list-item"===a.name){const n=String(a.attributes.content??""),s=[e,de(e),ae(e)].find(e=>n.includes(e)),d=s?n.indexOf(s):-1;if(d>=0){const e=(n.slice(0,d)+de(t??"")+n.slice(d+s.length)).replace(/\s{2,}/g," ").trim();return(0,G.dispatch)("core/block-editor").updateBlockAttributes(a.clientId,{content:e}),{clientId:a.clientId,before:n}}}const n=!!a.innerBlocks?.length&&s(a.innerBlocks);if(n)return n}return!1};return s(n.getBlocks())}function oe(e){const t=(0,G.select)("core/block-editor");for(const n of[...e].reverse())t.getBlock(n.clientId)&&(0,G.dispatch)("core/block-editor").updateBlockAttributes(n.clientId,{content:n.before})}function ce(e){const t=[e,de(e),ae(e)],n=e=>{for(const s of e){const e=String(s.attributes?.content??"");if(e&&t.some(t=>e.includes(t)))return s.clientId;const a=s.innerBlocks?.length&&n(s.innerBlocks);if(a)return a}return null};return n((0,G.select)("core/block-editor").getBlocks())}function _e(e){const t=ce(e);if(!t)return!1;const n=document.querySelector('iframe[name="editor-canvas"]')?.contentDocument||document,s=n.querySelector(`[data-block="${t}"]`),a=n.defaultView,d=s&&function(e,t){const n=e.ownerDocument,s=n.createTreeWalker(e,4),a=[];let d="";for(let e=s.nextNode();e;e=s.nextNode())a.push({n:e,start:d.length}),d+=e.nodeValue;const i=e=>e.replace(/\s+/g," "),l=i(d).indexOf(i(t).trim());if(l<0)return null;const r=[];for(let e=0,t=!1;e<d.length;e++){const n=/\s/.test(d[e]);n&&t||r.push(e),t=n}const o=r[l],c=(r[l+i(t).trim().length-1]??d.length-1)+1,_=e=>{const t=a.findLastIndex(t=>t.start<=e),n=a[Math.max(0,t)];return[n.n,Math.min(e-n.start,n.n.nodeValue.length)]},u=n.createRange();return u.setStart(..._(o)),u.setEnd(..._(c)),u}(s,ae(e));if(!d||!a?.CSS?.highlights||"function"!=typeof a.Highlight)return(0,G.dispatch)("core/block-editor").selectBlock(t),(0,G.dispatch)("core/block-editor").flashBlock?.(t),!0;(d.startContainer.parentElement||s).scrollIntoView({behavior:"smooth",block:"center"});let i=n.getElementById("editnday-mark-style");i||(i=n.createElement("style"),i.id="editnday-mark-style",n.head.appendChild(i)),a.CSS.highlights.set("editnday-mark",new a.Highlight(d));const l=Date.now();return clearInterval(_e.timer),_e.timer=setInterval(()=>{const e=Date.now()-l,t=e<2500?.75:Math.max(0,.75*(1-(e-2500)/1500));i.textContent=`::highlight(editnday-mark){background-color:rgba(211,183,241,${t.toFixed(3)});color:inherit}`,0===t&&(clearInterval(_e.timer),a.CSS.highlights.delete("editnday-mark"))},50),!0}const ue=e=>String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),he=(e,t,n="낱말")=>({re:new RegExp(`(?<![가-힣])${e}`,"g"),fix:t,kind:n}),ye=(e,t)=>({re:new RegExp(e,"g"),fix:t,kind:"어미"}),me=[he("몇 ?일(?!본|반|부|정|자리|손|꾼|요일|단|등|대|원|차)","며칠"),he("웬지","왠지"),he("왠만","웬만"),he("왠일","웬일"),he("왠걸","웬걸"),he("왠 (?=[가-힣])","웬 "),he("금새","금세"),he("일일히","일일이"),he("깨끗히","깨끗이"),he("틈틈히","틈틈이"),he("곰곰히","곰곰이"),he("번번히","번번이"),he("일찌기","일찍이"),he("오랫만","오랜만"),he("오랜동안","오랫동안"),he("설겆이","설거지"),he("희안","희한"),he("어의없","어이없"),he("역활","역할"),he("되물림","대물림"),he("구지(?= |[.,])","굳이"),he("어짜피","어차피"),he("어줍잖","어쭙잖"),he("널부러","널브러"),he("닥달","닦달"),he("짜집기","짜깁기"),he("설레임","설렘"),he("설레이","설레"),he("헤매이","헤매"),he("되뇌이","되뇌"),he("애시당초","애당초"),he("무릎쓰","무릅쓰"),he("뒤치닥거리","뒤치다꺼리"),he("개거품","게거품"),he("칠흙","칠흑"),he("희노애락","희로애락"),he("인권비","인건비"),he("뇌졸증","뇌졸중"),he("숫가락","숟가락"),he("육계장","육개장"),{re:/찌게(?! ?(하|해|했|되|만들))/g,fix:"찌개",kind:"낱말"},he("떡볶기","떡볶이"),he("윗층","위층"),he("윗쪽","위쪽"),he("아랫층","아래층"),he("가르키","가리키(가리킬 때)·가르치(알려 줄 때)"),he("모자르","모자라"),he("들어나(?=[다고는면서지])","드러나"),he("들어났","드러났"),he("어떡게","어떻게"),he("어떻해","어떡해"),ye("되요","돼요"),ye("되서(?![가-힣])","돼서"),ye("되야","돼야"),ye("됬","됐"),ye("떄","때"),ye("됀","된"),ye("뵈요","봬요"),ye("뵜","뵀"),ye("(?<=[가-힣])이예요","이에요"),ye("아니예요","아니에요"),ye("있슴(?![가-힣])","있음"),ye("없슴(?![가-힣])","없음"),ye("알맞는","알맞은"),ye("걸맞는","걸맞은"),ye("치뤄","치러"),ye("치뤘","치렀"),ye("잠궈","잠가"),ye("잠궜","잠갔"),ye("담궈","담가"),ye("담궜","담갔"),ye("삼가해","삼가"),ye("(?<![가-힣])할려고","하려고"),ye("(?<![가-힣])할려면","하려면"),ye("(?<![가-힣])볼려고","보려고"),ye("(?<![가-힣])먹을려고","먹으려고"),ye("(?<![가-힣])될려고","되려고"),ye("안절부절(?=하|했|한)","안절부절못"),{re:/않(?= ?(하|해|했|된|되|돼))/g,fix:"안",kind:"어미"},{re:/(?<=지 )안(?=[아았는을])/g,fix:"않",kind:"어미"},{re:/가능한 (?=빨리|많이|빠르게|일찍|자주|정확하게|짧게)/g,fix:"가능한 한 ",kind:"표현"},{re:/(?<=답을 )맞(?=추|춰|췄)/g,fix:"맞히(정답을 맞히다)",kind:"표현"},{re:/(?<=사단이 )(났|나)/g,fix:"'사달이 났다'",kind:"표현"},{re:/(?<=(?:하기|하시기|되기|되시기|가기|오기)를 )바래/g,fix:"바라",kind:"표현"},{re:/(?<=(?:하길|되길|가길|오길) )바래/g,fix:"바라",kind:"표현"},he("컨텐츠","콘텐츠","외래어"),he("메세지","메시지","외래어"),he("악세사리","액세서리","외래어"),he("악세서리","액세서리","외래어"),he("리더쉽","리더십","외래어"),he("멤버쉽","멤버십","외래어"),he("파트너쉽","파트너십","외래어"),he("스폰서쉽","스폰서십","외래어"),he("타겟","타깃","외래어"),he("비지니스","비즈니스","외래어"),he("워크샵","워크숍","외래어"),he("스케쥴","스케줄","외래어"),he("쥬스","주스","외래어"),he("초콜렛","초콜릿","외래어"),he("케익","케이크","외래어"),he("카페트","카펫","외래어"),he("부페","뷔페","외래어"),he("렌트카","렌터카","외래어"),he("프로포즈","프러포즈","외래어"),he("로보트","로봇","외래어"),he("앙케이트","앙케트","외래어"),he("엑세스","액세스","외래어"),he("어플리케이션","애플리케이션","외래어"),he("싸이트","사이트","외래어"),he("화이팅","파이팅","외래어"),he("데이타","데이터","외래어"),he("컨셉","콘셉트","외래어"),he("팜플렛","팸플릿","외래어")],pe=e=>(e.charCodeAt(0)-44032)%28,ge=e=>!!e&&e>="가"&&e<="힣";function fe(e){const t=[];for(const n of e.matchAll(/([가-힣])(께|껄)(?=요|[\s.,!?~]|$)/g))8===pe(n[1])&&t.push({wrong:n[0],fix:`${n[1]}${"께"===n[2]?"게":"걸"}`});return t}function xe(e){const t=[];for(const n of e.matchAll(/([가-힣])(율|률)/g)){if(!ge(n[1]))continue;const e=pe(n[1]),s=0===e||4===e?"율":"률";n[2]!==s&&t.push({wrong:n[0],fix:`${n[1]}${s}`})}return t}function be(e){const t=[];for(const n of je(e.text)){const s=[];for(const e of me)for(const t of n.matchAll(e.re))s.push({wrong:t[0].trim(),fix:e.fix.trim()});s.push(...fe(n),...xe(n));const a=new Set;for(const d of s)a.has(d.wrong)||(a.add(d.wrong),t.push({sectionId:e.id,rule:"common_mistake",severity:"warn",detail:`"${d.wrong}" → "${d.fix}"`,sentence:n}))}return t}function je(e){return function(e){return e.replace(/\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/https?:\/\/\S+/g,"")}(e).replace(/\n+/g,"\n").split(/(?<=[.!?。])\s+|\n/).map(e=>e.replace(/^[#>\-*\s|]+/,"").trim()).filter(e=>e.length>3&&!e.startsWith("|"))}function we(e){const t=je(e).map(e=>e.length),n=t.length||1;return{chars:e.replace(/^#.*$/gm,"").trim().length,sentences:t.length,sentenceAvg:Math.round(t.reduce((e,t)=>e+t,0)/n*10)/10,long100:Math.round(t.filter(e=>e>=100).length/n*1e3)/10,short25:Math.round(t.filter(e=>e<25).length/n*1e3)/10}}const ke=[{re:/완벽한|압도적인|독보적인|특별한 경험/,label:"상투 극찬"},{re:/이상으로 .{0,10}(살펴|알아)/,label:"요약형 맺음"},{re:/(이번 글|이 글)에서(는)? .{0,30}(살펴보|알아보|따라가|다루|정리해)/,label:"메타 서술"},{re:/결론적으로|요약하자면|정리하자면|^정리하면|^요컨대|^종합하면/,label:"정리형 연결어"},{re:/(앞으로|다음에는?|이제부터).{0,40}(보게|하게|찾게|쓰게|되게) 될 것 같다/,label:"작가 행동을 지어냈을 수 있음"},{re:/(기준|대상)[이가과은는]?.{0,12}(다르|달라).{0,20}(겹쳐|합쳐|곧바로|하나로|그대로).{0,8}(읽|비교|보)/,label:"정형 문장 (기준이 달라 합쳐 읽기 어렵다)"}];function Ne(e,t=[]){const n=[];for(const s of je(e.text)){for(const t of ke)t.re.test(s)&&n.push({sectionId:e.id,rule:"banned_phrase",severity:"warn",detail:t.label,sentence:s});for(const a of t)a&&s.includes(a)&&n.push({sectionId:e.id,rule:"banned_phrase",severity:"block",detail:`금지 표현 "${a}"`,sentence:s})}return n}const ve=/[\u3040-\u30ff\u31f0-\u31ff\uff66-\uff9f]/,Se=/[\u3400-\u4dbf\u4e00-\u9fff]/g;function Ce(e,t=100){return je(e.text).filter(e=>e.length>t).map(n=>({sectionId:e.id,rule:"long_sentence",severity:"warn",detail:`${n.length}자 문장 (${t}자 넘음)`,sentence:n}))}const $e=/^(또한|그리고|하지만|그러나|그런데|또|특히|이처럼|따라서|즉|게다가|물론|결국)[\s,]/;function Ie(e){const t=je(e.text),n=t.map(e=>e.split(/[\s,]/)[0]??""),s=[];for(let a=1;a<t.length;a++){const d=n[a];if(d.length<2||d!==n[a-1])continue;const i=$e.test(t[a])&&$e.test(t[a-1]),l=a>=2&&n[a-2]===d;(i||l)&&s.push({sectionId:e.id,rule:"same_start",severity:"warn",detail:`"${d}"(으)로 시작하는 문장이 이어짐`,sentence:t[a]})}return s}const Ae=new RegExp(`(?:^|[\\s"'(“‘])(${["정말","정말로","진짜","진짜로","너무","너무나","아주","매우","완전","엄청","굉장히","상당히","꽤","좀","조금","약간","거의","솔직히","사실","항상","늘","자주","무척","되게","많이","훨씬","딱","전혀","결코","절대","분명","확실히","당연히","역시","그냥","막","가장","제일","특히"].join("|")})(?=[\\s,.!?)”’]|$)`,"g");function Ee(e,t=1){return je(e.text).flatMap(n=>{const s=[...n.matchAll(Ae)].map(e=>e[1]??"");return s.length>t?[{sectionId:e.id,rule:"adverb_heavy",severity:"warn",detail:`부사 ${s.length}개: ${s.join("·")}`,sentence:n}]:[]})}const Be=/(?:고|는데|ㄴ데|은데|지만|며|면서|거나|니까|므로|어서|아서|해서|라서|려고|더니|다가)(?=[,\s])/g,Pe=/(?:^|\s)(그리고|그런데|그래서|그러나|하지만|그러면서|그러니까|그러므로|그렇지만|그러다가)(?=[,\s])/g;function Me(e,t=3){return je(e.text).flatMap(n=>{const s=(n.replace(Pe," ").match(Be)??[]).length+1;return s>t?[{sectionId:e.id,rule:"many_clauses",severity:"warn",detail:`절 ${s}개`,sentence:n}]:[]})}function Te(e){const t=e.map(e=>e.text).join("\n");if(!/\d{1,3}(,\d{3})+/.test(t))return[];const n=[];for(const t of e)for(const e of je(t.text))for(const s of e.matchAll(/(?<![\d,.])(\d{4,})(?![\d,])/g)){const a=Number(s[1]),d=e.slice(s.index+s[1].length),i=e.slice(0,s.index);4===s[1].length&&(a>=1900&&a<=2099||/^\s*(년|~)/.test(d)||/~\s*$/.test(i))||n.push({sectionId:t.id,rule:"number_format",severity:"warn",detail:`"${s[1]}" — 다른 곳은 쉼표를 썼어요 (${Number(a).toLocaleString("en-US")})`,sentence:e})}return n}function Oe(e){const t=e.evidence.join(" ");return je(e.text).filter(e=>[...e.match(new RegExp(ve.source,"g"))??[],...e.replace(/\([^()]*\)/g,"").match(Se)??[]].some(e=>!t.includes(e))).map(t=>({sectionId:e.id,rule:"foreign_script",severity:"warn",detail:"한국어가 아닌 글자(일본어·한자)가 섞였어요",sentence:t}))}const Fe={da:"-다",yo:"-요",sumnida:"-습니다"};function qe(e,t="da"){const n=je(e.text).map(e=>({sent:e,t:e.replace(/[.!?"'”’)\]\s]+$/,"")}));return"da"===t?n.filter(({sent:e})=>/([어아여해에예지네]요|죠|(?<!아)니다)[.!]?$/.test(e)).map(({sent:t})=>({sectionId:e.id,rule:"ending_mixed",severity:"warn",detail:"평서체('-다') 글에 다른 어미",sentence:t})):n.filter(({t:e})=>/다$/.test(e)&&!/(니다|니까)$/.test(e)).map(({sent:n})=>({sectionId:e.id,rule:"ending_mixed",severity:"warn",detail:`존댓말('${Fe[t]}') 글에 평서체('-다') 문장`,sentence:n}))}function Le(e){const t=new Map;for(const n of e)for(const e of je(n.text)){const s=e.split(/\s+/);for(let a=0;a+3<=s.length;a++){const d=s.slice(a,a+3).join(" ");if(d.length<8)continue;const i=t.get(d)??{n:0,sectionId:n.id,sentence:e};i.n++,t.set(d,i)}}return[...t.entries()].filter(([,e])=>e.n>=3).map(([e,t])=>({sectionId:t.sectionId,rule:"repetition",severity:"warn",detail:`"${e}" ${t.n}회 반복`,sentence:t.sentence}))}const Re=e=>{const t=e.replace(/\s+/g,""),n=new Set;for(let e=0;e+2<=t.length;e++)n.add(t.slice(e,e+2));return n};function De(e,t=.4){const n=e.flatMap(e=>je(e.text).filter(e=>e.length>=20).map(t=>({id:e.id,x:t,g:Re(t)}))),s=[],a=new Set;for(let e=0;e<n.length;e++)for(let d=e+1;d<n.length;d++){const i=n[e],l=n[d];if(i.id===l.id||a.has(l.x))continue;let r=0;i.g.forEach(e=>l.g.has(e)&&r++),r/(i.g.size+l.g.size-r)<t||(a.add(l.x),s.push({sectionId:l.id,rule:"repeated_sentence",severity:"warn",detail:`앞에서 거의 같은 말을 했어요: "${i.x.length>60?`${i.x.slice(0,60)}…`:i.x}"`,sentence:l.x}))}return s}const Ke=["core/paragraph","core/heading","core/list-item","core/quote","core/pullquote","core/verse"],He=e=>String(e??"").replace(/<br\s*\/?>/gi,"\n").replace(/<[^>]+>/g,"").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/�?39;/g,"'").replace(/&#(\d+);/g,(e,t)=>String.fromCodePoint(Number(t))).replace(/&#x([0-9a-f]+);/gi,(e,t)=>String.fromCodePoint(parseInt(t,16))).trim(),ze=e=>["summary","faq"].includes(e?.attributes?.metadata?.editnday)||/\beditnday-(summary|faq|related)/.test(e?.attributes?.className||"");function Ue(e){const t=[],n=e=>{for(const s of e||[])if(!ze(s)){if("core/paragraph"===s.name){const e=He(s.attributes?.content);e.length>500&&t.push({rule:"long_paragraph",detail:(0,l.sprintf)(/* translators: %s: t.length */ /* translators: %s: t.length */(0,l.__)("%s자 단락","editnday"),e.length),sentence:`${e.slice(0,40)}…`,clientId:s.clientId})}"core/image"!==s.name||String(s.attributes?.alt??"").trim()||t.push({rule:"image_alt",detail:(0,l.__)("대체 텍스트 없음","editnday"),sentence:(0,l.sprintf)(/* translators: %s: String( b.attributes?.url ?? '' ) .split( '/' ) .pop() || '' */ /* translators: %s: String( b.attributes?.url ?? '' ) .split( '/' ) .pop() || '' */(0,l.__)("이미지 %s","editnday"),String(s.attributes?.url??"").split("/").pop()||"").trim(),clientId:s.clientId}),n(s.innerBlocks)}};return n(e),t}function Je(e){const t=function(e){const t=[];let n={id:"s0",heading:"",lines:[],blockIds:[]},s=0;const a=e=>{for(const d of e||[])if(!ze(d))if("core/heading"===d.name&&(d.attributes?.level??2)<=2)(n.lines.length||n.heading)&&t.push(n),n={id:"s"+ ++s,heading:He(d.attributes?.content),lines:[],blockIds:[d.clientId]};else{if(Ke.includes(d.name)){const e=He(d.attributes?.content??d.attributes?.value??d.attributes?.citation);e&&(n.lines.push(e),n.blockIds.push(d.clientId))}a(d.innerBlocks)}};return a(e),(n.lines.length||n.heading)&&t.push(n),t.map(e=>({id:e.id,heading:e.heading,text:e.lines.join("\n"),evidence:[],blockIds:e.blockIds}))}(e),n=t.map(e=>e.text).join("\n"),s=function(e){const t={da:0,yo:0,sumnida:0};for(const n of je(e)){const e=n.replace(/[.!?"'”’)\]\s]+$/,"");/(니다|니까)$/.test(e)?t.sumnida++:/([어아여해에예지네]요|죠)$/.test(e)?t.yo++:/다$/.test(e)&&t.da++}return t.da+t.yo+t.sumnida<4?null:Object.entries(t).sort((e,t)=>t[1]-e[1])[0][0]}(n),a=[...t.flatMap(e=>[...Ne(e),...be(e),...s?qe(e,s):[],...Oe(e),...Ce(e),...Ee(e),...Me(e),...Ie(e)]),...De(t),...Le(t),...Te(t),...Ue(e)];return{sections:t,ending:s,issues:a,metrics:we(n)}}const Ve=[(0,l.__)("에서부터","editnday"),(0,l.__)("이라는","editnday"),(0,l.__)("이라고","editnday"),(0,l.__)("으로는","editnday"),(0,l.__)("에서는","editnday"),(0,l.__)("에서도","editnday"),(0,l.__)("으로서","editnday"),(0,l.__)("으로써","editnday"),(0,l.__)("이에요","editnday"),(0,l.__)("입니다","editnday"),(0,l.__)("에게","editnday"),(0,l.__)("에서","editnday"),(0,l.__)("한테","editnday"),(0,l.__)("으로","editnday"),(0,l.__)("까지","editnday"),(0,l.__)("부터","editnday"),(0,l.__)("처럼","editnday"),(0,l.__)("보다","editnday"),(0,l.__)("이나","editnday"),(0,l.__)("이란","editnday"),(0,l.__)("이라","editnday"),(0,l.__)("이랑","editnday"),(0,l.__)("이다","editnday"),(0,l.__)("인데","editnday"),(0,l.__)("이고","editnday"),(0,l.__)("이며","editnday"),(0,l.__)("이죠","editnday"),(0,l.__)("이야","editnday"),(0,l.__)("로서","editnday"),(0,l.__)("로써","editnday"),(0,l.__)("로는","editnday"),(0,l.__)("에는","editnday"),(0,l.__)("에도","editnday"),(0,l.__)("와는","editnday"),(0,l.__)("과는","editnday"),(0,l.__)("라는","editnday"),(0,l.__)("라고","editnday"),(0,l.__)("마다","editnday"),(0,l.__)("조차","editnday"),(0,l.__)("밖에","editnday"),(0,l.__)("예요","editnday"),(0,l.__)("은","editnday"),(0,l.__)("는","editnday"),(0,l.__)("이","editnday"),(0,l.__)("가","editnday"),(0,l.__)("을","editnday"),(0,l.__)("를","editnday"),(0,l.__)("의","editnday"),(0,l.__)("에","editnday"),(0,l.__)("께","editnday"),(0,l.__)("로","editnday"),(0,l.__)("와","editnday"),(0,l.__)("과","editnday"),(0,l.__)("도","editnday"),(0,l.__)("만","editnday"),(0,l.__)("나","editnday"),(0,l.__)("란","editnday"),(0,l.__)("라","editnday"),(0,l.__)("랑","editnday"),(0,l.__)("다","editnday"),(0,l.__)("인","editnday"),(0,l.__)("고","editnday"),(0,l.__)("며","editnday"),(0,l.__)("죠","editnday"),(0,l.__)("야","editnday"),(0,l.__)("뿐","editnday")],Ge=e=>!!e&&/[\p{L}\p{N}]/u.test(e);function We(e,t){const n=String(t||"").toLowerCase().replace(/\s+/g,""),s=String(e||"").toLowerCase();if(!n||!s)return 0;const a=[];let d="";for(let e=0;e<s.length;e++)/\s/.test(s[e])||(a.push(e),d+=s[e]);let i=0,l=0;for(;;){const e=d.indexOf(n,l);if(e<0)break;l=e+1;const t=a[e],r=a[e+n.length-1]+1;if(Ge(s[t-1]))continue;const o=s.slice(r);if(!Ge(o[0])){i++;continue}const c=Ve.find(e=>o.startsWith(e));c&&!Ge(o[c.length])&&i++}return i}const Xe=(e,t="")=>(e.find(([e])=>e)||[null,t])[1],Ye=()=>(0,G.select)("core/editor"),Ze=e=>(0,G.dispatch)("core/editor").editPost(e),Qe=e=>{try{return JSON.parse(Ye().getEditedPostAttribute("meta")?.[e]||"{}")||{}}catch(e){return{}}},et=(e,t)=>Ze({meta:{[e]:JSON.stringify(t)}}),tt=()=>String(Ye().getEditedPostContent()).replace(/<!--[\s\S]*?-->/g,"").replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim();function nt({near:e=[]}){const{all:t,chosen:n}=(0,G.useSelect)(e=>({all:e("core").getEntityRecords("taxonomy","category",{per_page:100,hide_empty:!1,_fields:"id,name"})||[],chosen:e("core/editor").getEditedPostAttribute("categories")||[]}),[]);return(0,f.jsx)("span",{className:"ed-chips",children:t.filter(e=>e.id!==it()).map(t=>(0,f.jsxs)(S,{on:n.includes(t.id),lav:!n.includes(t.id)&&e.includes(at(t.name)),onClick:()=>(e=>{const t=n.includes(e)?n.filter(t=>t!==e):[...n.filter(e=>e!==it()),e];Ze({categories:t.length?t:[it()]})})(t.id),children:[at(t.name),lt(t.id)&&(0,f.jsx)("span",{className:"ed-chip__lock",title:(0,l.sprintf)(/* translators: %s: memberOnly( c.id ).join( ', ' ) */ /* translators: %s: memberOnly( c.id ).join( ', ' ) */(0,l.__)("SureMembers 회원 전용: %s","editnday"),lt(t.id).join(", ")),children:(0,l.__)("회원 전용","editnday")})]},t.id))})}function st({panel:e,onDone:t}){const[n,s]=(0,o.useState)(null),[a,d]=(0,o.useState)(!1),[i,r]=(0,o.useState)(null);return(0,f.jsxs)("div",{className:"ed-redo",children:[(0,f.jsxs)("span",{className:"ed-small",children:[(0,l.__)("딱 맞는 카테고리가 없어요.","editnday")," ",e.near?.length?(0,l.__)("보라색이 그나마 가까운 곳이에요.","editnday"):"",(0,l.__)("골라 주세요.","editnday")]}),(0,f.jsx)(nt,{near:e.near||[]}),null===n?(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>s(e.suggest||""),children:(0,l.__)("+ 새 카테고리 만들기","editnday")}):(0,f.jsxs)("div",{className:"ed-row ed-gap6",children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,placeholder:(0,l.__)("새 카테고리 이름","editnday"),value:n,onChange:s}),(0,f.jsx)("button",{type:"button",className:"ed-mini",disabled:a||!n.trim(),onClick:async()=>{d(!0),r(null);try{const e=await J()({path:"/wp/v2/categories",method:"POST",data:{name:n.trim()}}).catch(async e=>"term_exists"===e?.code?{id:e.data?.term_id}:Promise.reject(e));e?.id&&Ze({categories:[e.id]}),t?.()}catch(e){r((0,l.__)("카테고리를 만들지 못했어요. 권한을 확인해 주세요.","editnday"))}finally{d(!1)}},children:(0,l.__)("만들기","editnday")})]}),i&&(0,f.jsx)("span",{className:"ed-small is-error",children:i})]})}const at=e=>{const t=document.createElement("textarea");return t.innerHTML=e,t.value},dt=e=>{try{return decodeURIComponent(e||"")}catch(t){return e||""}},it=()=>window.editndayConfig?.defaultCategory,lt=e=>window.editndayConfig?.memberCategories?.[e]||null,rt=(e,t)=>{const n=String(t||"").trim();if(!n)return!1;const s=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`(^|[^\\p{L}\\p{N}])${s}($|[^\\p{L}\\p{N}])`,"iu").test(String(e||""))},ot=/(에서|으로|부터|까지|에게|처럼|보다|의|은|는|이|가|을|를|와|과|로|에|도|만)$/;function ct(e){const t=e.split(/\s+/).map(e=>e.replace(ot,"").toLowerCase()).filter(Boolean);let n=null;const s=e=>{for(const a of e){if("core/paragraph"===a.name||"core/list-item"===a.name){const e=He(String(a.attributes.content??""));for(const s of e.split(/(?<=[.!?。])\s+/)){const e=s.trim();if(e.length<8)continue;const a=e.toLowerCase(),d=t.filter(e=>a.includes(e)).length;d&&(!n||d>n.score)&&(n={sentence:e,score:d})}}a.innerBlocks?.length&&s(a.innerBlocks)}};return s((0,G.select)("core/block-editor").getBlocks()),n?.sentence??null}function _t({keyword:e}){const t=(0,G.useSelect)(e=>e("core/block-editor").getBlocks(),[]),n=(0,o.useMemo)(()=>ct(e),[e,t]);return n?(0,f.jsxs)("span",{className:"ed-kwplace",children:[(0,f.jsx)("span",{className:"ed-muted",children:(0,l.sprintf)(/* translators: %s: Fine Keyword */ /* translators: %s: Fine Keyword */ 3 (0,l.__)('이 문장에 "%s"를 그대로 넣으면 돼요:',"editnday"),e)}),(0,f.jsx)("span",{className:"ed-quote",children:n}),(0,f.jsxs)("span",{className:"ed-row ed-gap6",children:[(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>_e(n),children:(0,l.__)("본문에서 보기","editnday")}),y(_.keywordFix,{keyword:e,sentence:n})]})]}):(0,f.jsx)("span",{className:"ed-muted ed-kwplace",children:(0,l.sprintf)(/* translators: %s: Fine Keyword */ /* translators: %s: Fine Keyword */ 4 (0,l.__)('본문 첫 단락에 "%s"를 그대로 한 번 넣어 보세요 (바로 뒤에 조사 없이).',"editnday"),e)})}function ut({keyword:e,seo:t}){const[n,s]=(0,o.useState)(!1),a=window.editndayConfig?.seoPlugin;if(!e?.trim()||!a)return null;const d=[!rt(tt(),e)&&(0,l.__)("본문","editnday"),!rt(t.title,e)&&(0,l.__)("제목","editnday"),!rt(t.description,e)&&(0,l.__)("설명","editnday")].filter(Boolean);return d.length?(0,f.jsxs)("span",{className:"ed-small is-warn",children:[(0,l.sprintf)(/* translators: 1: SEO 플러그인 이름, 2: 키워드를 못 찾은 곳 (예: 본문·제목) */ /* translators: 1: SEO 플러그인 이름, 2: 키워드를 못 찾은 곳 (예: 본문·제목) */ 5 (0,l.__)("%1$s 점수로는 %2$s에서 못 찾아요","editnday"),a,d.join("·"))," ",(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>s(!n),children:n?(0,l.__)("닫기","editnday"):(0,l.__)("왜?","editnday")}),n&&(0,f.jsx)("span",{className:"ed-muted ed-koseo__hint",children:(0,l.__)("조사가 붙거나('코스피는') 띄어쓰기가 다르면 다른 말로 봐요. 구글·네이버는 같은 말로 보니 점수만의 문제예요.","editnday")}),!rt(tt(),e)&&(0,f.jsx)(_t,{keyword:e})]}):(0,f.jsx)("span",{className:"ed-small",children:(0,l.sprintf)(/* translators: %s: SEO 플러그인 이름 */ /* translators: %s: SEO 플러그인 이름 */ 6 (0,l.__)("%s 키워드 점검 통과","editnday"),a)})}const ht=[["excerpt",(0,l.__)("발췌문","editnday")],["tags",(0,l.__)("태그","editnday"),(0,l.__)("있는 태그 우선","editnday")],["category",(0,l.__)("카테고리","editnday"),(0,l.__)("있는 것 중에서","editnday")],["slug",(0,l.__)("영문 주소","editnday")],["seo",(0,l.__)("SEO 제목·설명","editnday"),(0,l.__)("Fine Keyword 포함","editnday")],["aeo","AEO",(0,l.__)("질문·답","editnday")],["geo","GEO",(0,l.__)("AI 인용용 요약","editnday")]];async function yt(e){const t=[];for(const n of e){const e=(await J()({path:`/wp/v2/tags?search=${encodeURIComponent(n)}&per_page=20&_fields=id,name`})).find(e=>e.name===n);t.push(e?e.id:(await J()({path:"/wp/v2/tags",method:"POST",data:{name:n}})).id)}return t}const mt=e=>String(e??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),pt=(0,l.__)("한눈에 보는 질문과 답","editnday");function gt({summary:e,faq:t},n=["summary","faq"]){const s=(0,G.select)("core/block-editor").getBlocks().filter(e=>n.includes(e.attributes?.metadata?.editnday)),a=String(s.find(e=>"faq"===e.attributes.metadata.editnday)?.innerBlocks.find(e=>"core/heading"===e.name)?.attributes.content||"").trim(),d=s.map(e=>e.clientId);d.length&&(0,G.dispatch)("core/block-editor").removeBlocks(d,!1),t=n.includes("faq")?(t||[]).filter(e=>e.question?.trim()&&e.answer?.trim()):[],e?.trim()&&n.includes("summary")&&(0,G.dispatch)("core/block-editor").insertBlocks((0,V.createBlock)("core/group",{metadata:{editnday:"summary",name:(0,l.__)("요약","editnday")},className:"editnday-box editnday-box--summary"},[(0,V.createBlock)("core/paragraph",{content:(0,l.sprintf)(/* translators: %s: asText( summary ) */ /* translators: %s: asText( summary ) */(0,l.__)("<strong>요약</strong> %s","editnday"),mt(e))})]),0),t?.length&&(0,G.dispatch)("core/block-editor").insertBlocks((0,V.createBlock)("core/group",{metadata:{editnday:"faq",name:(0,l.__)("질문과 답","editnday")},className:"editnday-box editnday-box--faq"},[(0,V.createBlock)("core/heading",{level:2,content:a&&"자주 묻는 질문"!==a?a:pt}),...t.map((e,t)=>(0,V.createBlock)("core/details",{summary:mt(e.question),showContent:0===t},[(0,V.createBlock)("core/paragraph",{content:mt(e.answer)})]))]))}function ft(){return(0,G.useSelect)(e=>{const t=e("core/editor"),n=t.getEditedPostAttribute("featured_media"),s=n?e("core").getMedia(n):null;return{postId:t.getCurrentPostId(),title:t.getEditedPostAttribute("title"),excerpt:t.getEditedPostAttribute("excerpt"),slug:t.getEditedPostAttribute("slug"),tags:t.getEditedPostAttribute("tags")||[],categories:(t.getEditedPostAttribute("categories")||[]).filter(e=>e!==it()),categoryNames:(t.getEditedPostAttribute("categories")||[]).filter(e=>e!==it()).map(t=>e("core").getEntityRecord("taxonomy","category",t)?.name).filter(Boolean),memberCategoryNames:(t.getEditedPostAttribute("categories")||[]).filter(e=>lt(e)).map(t=>e("core").getEntityRecord("taxonomy","category",t)?.name).filter(Boolean),featured:n||0,featuredAlt:s?.alt_text??"",featuredUrl:s?.media_details?.sizes?.medium?.source_url??s?.source_url,seo:(()=>{try{return JSON.parse(t.getEditedPostAttribute("meta")?._editnday_seo||"{}")||{}}catch(e){return{}}})(),schema:(()=>{try{return JSON.parse(t.getEditedPostAttribute("meta")?._editnday_schema||"{}")||{}}catch(e){return{}}})()}},[])}function xt(e){et("_editnday_seo",{...Qe("_editnday_seo"),keyword:String(e).slice(0,40)})}const bt='EditndayTitle, "Pretendard Variable", Pretendard, "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif';let jt=null;const wt=()=>{const e=window.editndayConfig?.titleFont;return jt||(jt=e&&window.FontFace?new window.FontFace("EditndayTitle",`url(${e})`,{weight:"100 900"}).load().then(e=>document.fonts.add(e)).catch(()=>null):Promise.resolve()),jt},kt=[["ink",(0,l.__)("먹색","editnday"),["#1f2a2c"],"#ffffff"],["cream",(0,l.__)("크림","editnday"),["#f4eee3"],"#243235"],["lavender",(0,l.__)("라벤더","editnday"),["#a988e0","#6c48b5"],"#ffffff"],["ocean",(0,l.__)("바다","editnday"),["#0f4c75","#3a8fc9"],"#ffffff"],["sunset",(0,l.__)("노을","editnday"),["#ff9a8b","#f0627f"],"#ffffff"],["forest",(0,l.__)("숲","editnday"),["#134e5e","#5fa77a"],"#ffffff"]];async function Nt(e,t){let n;try{n=await new Promise(t=>e.toBlob(t,"image/jpeg",.9))}catch(e){n=null}if(!n)throw new Error((0,l.__)("이 사이트의 이미지 주소 설정 때문에 그림에 글자를 넣지 못했어요.","editnday"));const s=new window.FormData;s.append("postId",Ye().getCurrentPostId()),Object.entries(t).forEach(([e,t])=>s.append(e,t)),s.append("image",n,"featured-title.jpg");const a=await J()({path:"/editnday/v1/publish/image-title",method:"POST",body:s});return Ze({featured_media:a.id}),(0,G.dispatch)("core").invalidateResolution("getMedia",[a.id]),a}const vt=[["og",(0,l.__)("공유 1.91:1","editnday"),1200,630],["16:9",(0,l.__)("가로 16:9","editnday"),1600,900],["4:3",(0,l.__)("가로 4:3","editnday"),1440,1080],["3:4",(0,l.__)("세로 3:4","editnday"),1080,1440],["9:16",(0,l.__)("세로 9:16","editnday"),1080,1920]],St=[["center",(0,l.__)("가운데","editnday")],["magazine",(0,l.__)("잡지형","editnday")],["band",(0,l.__)("아래 띠","editnday")]];function Ct(e){const t=/^#?([0-9a-f]{6})$/i.exec(e||"");if(!t)return"#ffffff";const[n,s,a]=[0,2,4].map(e=>parseInt(t[1].slice(e,e+2),16)/255),d=e=>e<=.03928?e/12.92:((e+.055)/1.055)**2.4;return.2126*d(n)+.7152*d(s)+.0722*d(a)>.45?"#1f2a2c":"#ffffff"}function $t(e,t,n,s,a,d=3){for(let i=s;i>a;i-=4)if(e.font=`800 ${i}px ${bt}`,Bt(e,t,n,1/0).length<=d)return{size:i,lines:Bt(e,t,n,d)};return e.font=`800 ${a}px ${bt}`,{size:a,lines:Bt(e,t,n,d)}}function It({text:e,template:t="ink",color:n="",layout:s="center",aspect:a="og",scale:d=1}){const i="custom"===t&&/^#[0-9a-f]{6}$/i.test(n),[,,l,r]=i?["custom","",[n],Ct(n)]:kt.find(e=>e[0]===t)||kt[0],[,,o,c]=vt.find(e=>e[0]===a)||vt[0],_=Math.round(o*d),u=Math.round(c*d),h=document.createElement("canvas");h.width=_,h.height=u;const y=h.getContext("2d");y.fillStyle=(()=>{if(l.length>1){const e=y.createLinearGradient(0,0,_,u);return e.addColorStop(0,l[0]),e.addColorStop(1,l[1]),e}return l[0]})(),y.fillRect(0,0,_,u);const m=Math.min(_,u),p=Math.round(.1*m),g=String(window.editndayConfig?.siteName||"").trim().slice(0,40),f=Math.round(.042*m);if(y.textBaseline="alphabetic","band"===s){const t=Math.round(u*(u>_?.34:.4));y.fillStyle=r,y.fillRect(0,u-t,_,t);const{size:n,lines:s}=$t(y,e,_-2*p,Math.round(.12*m),Math.round(.06*m),2);y.font=`800 ${n}px ${bt}`,y.fillStyle=(l.length,l[0]),y.textAlign="left";const a=Math.round(1.25*n),d=n+(s.length-1)*a,i=u-t+(t-d)/2+.85*n;return s.forEach((e,t)=>y.fillText(e,p,i+t*a)),g&&(y.font=`700 ${f}px ${bt}`,y.fillStyle=r,y.globalAlpha=.75,y.fillText(g,p,p+f),y.globalAlpha=1),h}if("magazine"===s){y.fillStyle=r,y.textAlign="left",g&&(y.font=`700 ${f}px ${bt}`,y.globalAlpha=.8,y.fillText(g,p,p+f),y.globalAlpha=1);const{size:t,lines:n}=$t(y,e,_-2*p,Math.round(.14*m),Math.round(.07*m),u>_?4:3);y.font=`800 ${t}px ${bt}`;const s=Math.round(1.22*t),a=u-p-(n.length-1)*s;return y.fillRect(p,a-t-Math.round(.05*m),Math.round(.09*m),Math.max(3,Math.round(.012*m))),n.forEach((e,t)=>y.fillText(e,p,a+t*s)),h}const{size:x,lines:b}=$t(y,e,_-2*p,Math.round(.14*m),Math.round(.07*m),u>_?4:3);y.font=`800 ${x}px ${bt}`,y.fillStyle=r,y.textAlign="center";const j=Math.round(1.28*x),w=(b.length-1)*j,k=(u-w)/2+.35*x-.4*f;return b.forEach((e,t)=>y.fillText(e,_/2,k+t*j)),g&&(y.font=`700 ${f}px ${bt}`,y.globalAlpha=.72,y.fillText(g,_/2,u-.9*p),y.globalAlpha=1),h}async function At(e,t="ink",n={}){return e.trim()?(await wt(),Nt(It({text:e,template:t,...n}),{template:"custom"===t?`custom-${String(n.color||"").replace("#","")}`:t,alt:e.trim()})):null}async function Et(e){return e.text?.trim()?(await wt(),It({...e,scale:.3}).toDataURL("image/jpeg",.8)):""}function Bt(e,t,n,s=3){const a=[];let d="";return t.trim().split(/\s+/).forEach(t=>(t=>{const s=d?d+" "+t:t;if(e.measureText(s).width<=n)d=s;else if(d&&(a.push(d),d=""),e.measureText(t).width<=n)d=t;else for(const s of t)e.measureText(d+s).width>n&&(a.push(d),d=""),d+=s})(t)),d&&a.push(d),a.length>s&&(a.length=s,a[s-1]=a[s-1].replace(/.$/,"…")),a}async function Pt(e,t="bottom",n="title"){const s=Ye().getEditedPostAttribute("featured_media");if(!s||!e.trim())return null;await wt();const a=await J()({path:`/editnday/v1/publish/image-source?id=${s}`}),d=await new Promise((e,t)=>{const n=new window.Image;n.crossOrigin="anonymous",n.onload=()=>e(n),n.onerror=()=>t(new Error((0,l.__)("그림을 불러오지 못했어요.","editnday"))),n.src=a.url}),i=Math.min(d.naturalWidth,1600),r=Math.round(d.naturalHeight*i/d.naturalWidth),o=document.createElement("canvas");o.width=i,o.height=r;const c=o.getContext("2d");c.drawImage(d,0,0,i,r);const _="caption"===n;if("center"===t)c.fillStyle=_?"rgba(0,0,0,0.18)":"rgba(0,0,0,0.42)",c.fillRect(0,0,i,r);else{const e="top"===t,n=_?.2:.65,s=c.createLinearGradient(0,e?r*n:r*(1-n),0,e?0:r);s.addColorStop(0,"rgba(0,0,0,0)"),s.addColorStop(1,_?"rgba(0,0,0,0.45)":"rgba(0,0,0,0.74)"),c.fillStyle=s,c.fillRect(0,e?0:r*(1-n),i,r*n)}const u=_?Math.max(12,Math.round(.011*i)):Math.round(.064*i);c.font=`${_?700:800} ${u}px ${bt}`,c.fillStyle="#fff",c.textBaseline="alphabetic",c.shadowColor="rgba(0,0,0,0.45)",c.shadowBlur=.25*u;const h=Math.round(i*(_?.03:.06)),y=Bt(c,e,i-h*(_?4:2)),m=Math.round(1.28*u),p=(y.length-1)*m;let g=r-h-p;return"top"===t?g=h+.85*u:"center"===t&&(g=(r-p)/2+.35*u),c.textAlign="center",y.forEach((e,t)=>c.fillText(e,i/2,g+t*m)),Nt(o,{sourceId:a.id})}function Mt(e){const t=(0,G.select)("core/block-editor"),n=`<a href="${encodeURI(e.url)}">${String(e.title).replace(/&/g,"&").replace(/</g,"<")}</a>`,s=(0,V.createBlock)("core/list-item",{content:n}),a=t.getBlocks().find(e=>"core/list"===e.name&&String(e.attributes.className||"").includes("editnday-related"));a?(0,G.dispatch)("core/block-editor").insertBlock(s,a.innerBlocks.length,a.clientId):(0,G.dispatch)("core/block-editor").insertBlocks([(0,V.createBlock)("core/paragraph",{content:(0,l.__)("<strong>함께 읽으면 좋은 글</strong>","editnday"),className:"editnday-related-title"}),(0,V.createBlock)("core/list",{className:"editnday-related"},[s])],t.getBlockCount())}const Tt=(e,t)=>({excerpt:!!e.excerpt,tags:e.tags.length>0,category:e.categories.length>0,slug:/^[a-z0-9]+(-[a-z0-9]+)*$/.test(e.slug||"")&&!/^\d+$/.test(e.slug),seo:!!e.seo.description,aeo:!!e.schema.faq?.some(e=>e.question?.trim()&&e.answer?.trim()),geo:!!e.schema.summary?.trim(),featured:!!e.featured,alt:!!e.featuredAlt}[t]),Ot=e=>String(e??"").replace(/<[^>]+>/g," ").replace(/ /g," ").replace(/\s+/g," ").trim();function Ft(e){const t=[];let n="",s=0;const a=e=>{for(const d of e){const e=d.attributes?.metadata?.editnday;"core/heading"===d.name?t.push(Ot(d.attributes.content)):"core/paragraph"===d.name&&!n&&"summary"!==e&&Ot(d.attributes.content)?n=Ot(d.attributes.content):"core/image"===d.name&&d.attributes.url&&s++,"summary"!==e&&"faq"!==e&&d.innerBlocks?.length&&a(d.innerBlocks)}};a(e);const d=String(Ye().getEditedPostContent());return{headings:t,firstPara:n,images:s,links:(d.match(/<a\s[^>]*href=/gi)||[]).length,body:tt()}}function qt(e){const t=(0,G.useSelect)(e=>e("core/block-editor").getBlocks(),[]),n=e.seo.kept||{};return function(e){const t=String(e.keyword||"").trim(),n=e=>[...String(e||"").trim()].length,s=[],a=(e,t,n,a,d)=>s.push({id:e,ok:t,label:n,hint:t?"":a,who:d});if(t){const s=e=>We(e,t)>0;a("title",s(e.title),s(e.title)?(0,l.__)("제목에 Fine Keyword","editnday"):(0,l.__)("제목에 Fine Keyword가 없어요","editnday"),(0,l.__)("검색 결과 제목 앞쪽에 넣으면 검색어와 바로 맞물려요","editnday"),(0,l.__)("구글·네이버","editnday")),a("first",s(e.firstPara),s(e.firstPara)?(0,l.__)("첫 단락에 Fine Keyword","editnday"):(0,l.__)("첫 단락에 Fine Keyword가 없어요","editnday"),(0,l.__)("무엇에 관한 글인지 첫 단락에서 밝히면 검색엔진과 AI가 주제를 잡기 쉬워요","editnday"),(0,l.__)("구글·네이버·AI","editnday"));const d=e.headings.some(s);a("heading",d,d?(0,l.__)("소제목에 Fine Keyword","editnday"):(0,l.__)("소제목에 Fine Keyword가 없어요","editnday"),(0,l.sprintf)(/* translators: %s: o.headings.length */ /* translators: %s: o.headings.length */(0,l.__)("소제목 %s개 중 하나에 넣으면 글의 짜임이 검색어와 이어져요","editnday"),e.headings.length),(0,l.__)("구글·네이버","editnday"));const i=We(e.body,t),r=n(e.body)?1e3*i/n(e.body):0;a("repeat",i>=1&&r<=6,Xe([[0===i,(0,l.__)("본문에 Fine Keyword가 없어요","editnday")],[r>6,(0,l.sprintf)(/* translators: %s: times */ /* translators: %s: times */(0,l.__)("본문에 Fine Keyword %s번 (많아요)","editnday"),i)]],(0,l.sprintf)(/* translators: %s: times */ /* translators: %s: times */(0,l.__)("본문에 Fine Keyword %s번","editnday"),i)),Xe([[0===i,(0,l.__)("본문에 실제로 쓰는 표기와 같은지 확인해 주세요 (예: 볼보EX60 / VolvoEX60)","editnday")]],(0,l.__)("같은 말을 너무 자주 되풀이하면 구글·네이버 모두 낮게 봐요. 대명사나 다른 표현으로 바꿔 보세요","editnday")),(0,l.__)("구글·네이버","editnday")),n(e.description)&&a("desc",s(e.description),s(e.description)?(0,l.__)("설명에 Fine Keyword","editnday"):(0,l.__)("설명에 Fine Keyword가 없어요","editnday"),(0,l.__)("순위와는 상관없지만, 검색어가 설명에 있으면 검색 결과에서 굵게 보여 눈에 띄어요","editnday"),(0,l.__)("구글·네이버","editnday"))}const d=n(e.title);a("titleLen",d>0&&d<=40,d?(0,l.sprintf)(/* translators: %s: tl */ /* translators: %s: tl */(0,l.__)("검색 결과 제목 %s자","editnday"),d):(0,l.__)("검색 결과 제목이 없어요","editnday"),Xe([[d>40,(0,l.__)("40자를 넘으면 검색 결과에서 잘려요","editnday")]],(0,l.__)("제목을 넣어 주세요","editnday")),(0,l.__)("구글·네이버","editnday"));const i=n(e.description);return a("descLen",i>=40&&i<=110,i?(0,l.sprintf)(/* translators: %s: dl */ /* translators: %s: dl */(0,l.__)("검색 결과 설명 %s자","editnday"),i):(0,l.__)("검색 결과 설명이 없어요","editnday"),Xe([[0===i,(0,l.__)("SEO 설명을 만들어 보세요. 없으면 검색엔진이 본문에서 아무 문장이나 가져가요","editnday")],[i<40,(0,l.__)("너무 짧으면 검색엔진이 본문에서 다른 문장을 가져가요","editnday")]],(0,l.__)("110자를 넘으면 잘려요","editnday")),(0,l.__)("구글·네이버","editnday")),a("headings",e.headings.length>=2,(0,l.sprintf)(/* translators: %s: o.headings.length */ /* translators: %s: o.headings.length */(0,l.__)("소제목 %s개","editnday"),e.headings.length),(0,l.__)("소제목으로 나누면 검색엔진이 단락별 주제를, AI가 답할 부분을 찾기 쉬워요","editnday"),(0,l.__)("구글·네이버·AI","editnday")),a("answer",!!e.summary||e.faq>0,Xe([[e.summary&&e.faq>0,(0,l.sprintf)(/* translators: %s: o.faq */ /* translators: %s: o.faq */(0,l.__)("요약과 질문답 %s개","editnday"),e.faq)],[e.summary,(0,l.__)("요약 있음","editnday")],[e.faq>0,(0,l.sprintf)(/* translators: %s: o.faq */ /* translators: %s: o.faq */(0,l.__)("질문답 %s개","editnday"),e.faq)]],(0,l.__)("요약·질문답이 없어요","editnday")),(0,l.__)("발행 준비의 AEO·GEO로 만들면 AI 답변에 인용되기 쉬워요","editnday"),"AI"),a("links",e.links>0,e.links?(0,l.sprintf)(/* translators: %s: o.links */ /* translators: %s: o.links */(0,l.__)("출처·관련 링크 %s개","editnday"),e.links):(0,l.__)("링크가 없어요","editnday"),(0,l.__)("출처가 보이면 믿을 만한 글로 보고, AI도 근거로 인용해요","editnday"),(0,l.__)("구글·네이버·AI","editnday")),a("images",e.images>0,e.images?(0,l.sprintf)(/* translators: %s: o.images */ /* translators: %s: o.images */(0,l.__)("본문 이미지 %s개","editnday"),e.images):(0,l.__)("본문 이미지가 없어요 (대표 이미지만)","editnday"),(0,l.__)("본문에 사진·도표가 있으면 이미지 검색과 네이버 노출에 도움이 돼요","editnday"),(0,l.__)("구글·네이버","editnday")),s}({keyword:e.seo.keyword,title:n.title||e.seo.title||e.title||"",description:n.description||e.seo.description||"",summary:!!e.schema.summary,faq:e.schema.faq?.length||0,...Ft(t)})}function Lt({st:e}){const[t,n]=(0,o.useState)(!1),s=qt(e),a=s.filter(e=>e.ok).length,d=s.filter(e=>!e.ok),[i,r]=(0,o.useState)("");return(0,f.jsxs)(w,{className:"ed-koseo",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("검색·AI 점검","editnday")}),(0,f.jsx)("span",{className:"ed-koseo__score"+(d.length?"":" is-ok"),children:(0,l.sprintf)(/* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */ /* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */ 7 (0,l.__)("%1$d개 중 %2$d개 통과","editnday"),s.length,a)})]}),!e.seo.keyword?.trim()&&(0,f.jsxs)("div",{className:"ed-koseo__kw",children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,placeholder:(0,l.__)("예: 노벨문학상","editnday"),value:i,onChange:r,onKeyDown:e=>"Enter"===e.key&&i.trim()&&xt(i.trim())}),(0,f.jsx)(N,{disabled:!i.trim(),onClick:()=>xt(i.trim()),children:(0,l.__)("정하기","editnday")}),(0,f.jsx)("span",{className:"ed-muted",children:(0,l.__)("정하면 제목·설명·본문에 키워드가 있는지도 봐요.","editnday")})]}),(t?s:d).map(e=>(0,f.jsxs)("div",{className:"ed-koseo__item",children:[(0,f.jsx)("span",{className:"ed-circ"+(e.ok?" is-filled":" is-warn"),children:e.ok?(0,f.jsx)(j,{}):"!"}),(0,f.jsxs)("span",{className:"ed-koseo__body",children:[(0,f.jsxs)("span",{className:"ed-koseo__head",children:[(0,f.jsx)("span",{className:"ed-koseo__label",children:e.label}),(0,f.jsx)("span",{className:"ed-koseo__who",children:e.who})]}),e.hint&&(0,f.jsx)("span",{className:"ed-koseo__hint",children:e.hint})]})]},e.id)),!d.length&&!t&&(0,f.jsx)("span",{className:"ed-small",children:(0,l.__)("모두 좋아요.","editnday")}),(0,f.jsxs)("div",{className:"ed-koseo__foot",children:[(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>n(!t),children:t?(0,l.__)("고칠 것만 보기","editnday"):(0,l.sprintf)(/* translators: %s: okN */ /* translators: %s: okN */(0,l.__)("통과한 것도 보기 (%s)","editnday"),a)}),(0,f.jsx)("span",{className:"ed-muted",children:(0,l.__)("조사·띄어쓰기가 달라도 같은 말로 봐요 (구글·네이버 기준)","editnday")})]})]})}function Rt({st:e}){const[t,n]=(0,o.useState)("google"),s=e.seo.kept||{},a=s.title||e.seo.title||e.title||"",d=s.description||e.seo.description||e.excerpt||"",i=window.editndayConfig?.seoPlugin,r=window.location.host,c=(e,t,n)=>e<t?(0,l.__)("짧음","editnday"):e>n?(0,l.__)("김","editnday"):(0,l.__)("적정","editnday");return(0,f.jsxs)(w,{children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("검색 결과 미리보기","editnday")}),(0,f.jsxs)("span",{className:"ed-chips",children:[(0,f.jsx)(S,{on:"google"===t,onClick:()=>n("google"),children:(0,l.__)("구글","editnday")}),(0,f.jsx)(S,{on:"naver"===t,onClick:()=>n("naver"),children:(0,l.__)("네이버","editnday")})]})]}),(0,f.jsxs)("div",{className:`ed-serp is-${t}`,children:[(0,f.jsxs)("span",{className:"ed-serp__u",children:[r," › ",dt(e.slug)||"…"]}),(0,f.jsx)("span",{className:"ed-serp__t",children:a||(0,l.__)("제목 없음","editnday")}),(0,f.jsx)("span",{className:"ed-serp__d",children:d||(0,l.__)("설명이 없어요. SEO 설명을 만들어 보세요.","editnday")})]}),(0,f.jsx)("span",{className:"ed-muted",children:(0,l.sprintf)(/* translators: 1: 제목 글자 수, 2: 제목 길이 판정(짧음·적정·김), 3: 설명 글자 수, 4: 설명 길이 판정 */ /* translators: 1: 제목 글자 수, 2: 제목 길이 판정(짧음·적정·김), 3: 설명 글자 수, 4: 설명 길이 판정 */ 8 (0,l.__)("제목 %1$d자 (%2$s) · 설명 %3$d자 (%4$s)","editnday"),a.length,c(a.length,20,45),d.length,c(d.length,60,110))}),i&&(0,f.jsx)("span",{className:"ed-muted",children:s.title||s.description?(0,l.sprintf)(/* translators: 1: SEO 플러그인 이름, 2: 직접 쓴 칸 (제목·설명), 3: SEO 플러그인 이름 */ /* translators: 1: SEO 플러그인 이름, 2: 직접 쓴 칸 (제목·설명), 3: SEO 플러그인 이름 */(0,l.__)("%1$s에 직접 쓴 %2$s이 있어 그 값이 나가요. 에디튼 값을 쓰려면 %3$s에서 그 칸을 비워 주세요.","editnday"),i,[s.title&&(0,l.__)("제목","editnday"),s.description&&(0,l.__)("설명","editnday")].filter(Boolean).join("·"),i):(0,l.sprintf)(/* translators: %s: plugin */ /* translators: %s: plugin */(0,l.__)("저장하면 %s 칸에도 들어가요.","editnday"),i)})]})}function Dt(e,t){return t?(0,l.__)("닫기","editnday"):e?(0,l.__)("다시","editnday"):(0,l.__)("만들기","editnday")}function Kt(){const e=window.editndayConfig?.siteOpen;return e?.blocking?.length?(0,f.jsxs)(w,{className:"ed-ask ed-siteopen",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("검색에 나오지 않을 수 있어요","editnday")}),(0,f.jsx)("span",{className:"ed-small",children:(0,l.sprintf)(/* translators: %s: 안 된 워드프레스 설정 목록 */ /* translators: %s: 안 된 워드프레스 설정 목록 */ 9 (0,l.__)("워드프레스 설정에서 %s이(가) 아직 안 됐어요. 이대로 발행하면 검색엔진이 이 글을 찾지 못하거나 늦게 찾아요.","editnday"),e.blocking.join(", "))}),e.canManage&&(0,f.jsx)("a",{className:"ed-link",href:e.url,children:(0,l.__)("에디튼 → 사이트 오픈에서 확인하기","editnday")})]}):null}function Ht(){const e=window.editndayConfig?.seoMode||{},t=(0,G.useSelect)(e=>"1"===e("core/editor").getEditedPostAttribute("meta")?._editnday_noindex,[]);return"with"===e.mode?(0,f.jsx)("p",{className:"ed-muted ed-seomode",children:(0,l.sprintf)(/* translators: %s: 함께 쓰는 SEO 플러그인 이름 (두 번 나옴) */ /* translators: %s: 함께 쓰는 SEO 플러그인 이름 (두 번 나옴) */ 10 (0,l.__)("%1$s와 함께 쓰는 중이에요. 검색엔진이 읽는 머리말(제목·설명·공유 미리보기)은 %1$s가 내고, 에디튼은 값을 채우고 점검해요.","editnday"),e.plugin)}):(0,f.jsxs)(w,{className:"ed-seomode",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("검색엔진·공유 머리말","editnday")}),(0,f.jsx)("span",{className:"ed-small",children:(0,l.__)("SEO 플러그인 없이 쓰는 중이라 에디튼이 직접 내요: SEO 제목·설명, 카카오톡·페이스북 공유 미리보기, 글 구조화 데이터.","editnday")}),(0,f.jsx)(p.CheckboxControl,{__nextHasNoMarginBottom:!0,label:(0,l.__)("이 글은 검색 결과에 보이지 않게","editnday"),checked:t,onChange:e=>(0,G.dispatch)("core/editor").editPost({meta:{_editnday_noindex:e?"1":""}})})]})}function zt({st:e}){const[t,n]=(0,o.useState)(!1),s=(0,G.useSelect)(e=>e("core/block-editor").getBlocks(),[]),a=(0,G.useSelect)(e=>{const t=e("core/editor");return"auto-draft"===t.getEditedPostAttribute("status")?null:t.getEditedPostAttribute("modified")||null},[]),d=Ft(s),i=String(Ye().getEditedPostContent()),r=window.location.host;let c=0,_=0;for(const e of i.matchAll(/<a\s[^>]*href=["']([^"']+)["']/gi))try{const t=new URL(e[1],window.location.href);if(!/^https?:$/.test(t.protocol))continue;t.host===r?c++:_++}catch{}const u=window.editndayConfig?.aiReady||{},{score:h,items:y}=function(e){const t=String(e.body||""),n=t.split(/(?<=[.!?。])\s+|\n+/).filter(e=>/\d/.test(e)).length,s=[...t.replace(/\s+/g,"")].length,a=!e.modified||(e.now??Date.now())-new Date(e.modified).getTime()<31536e6,d=[],i=(e,t,n,s,a,i)=>d.push({part:e,id:t,points:n,ok:!!s,label:a,hint:s?"":i}),r=(0,l.__)("형식","editnday"),o=(0,l.__)("내용","editnday");return i(r,"lead",12,e.summaryVisible,(0,l.__)("결론 먼저 (글 앞 요약)","editnday"),(0,l.__)('GEO 요약을 "본문에 보이게"로 넣으면 AI가 첫 단락에서 답을 가져가요',"editnday")),i(r,"headings",8,e.headings>=3,(0,l.sprintf)(/* translators: %d: 소제목 수 */ /* translators: %d: 소제목 수 */(0,l.__)("소제목 %d개","editnday"),e.headings),(0,l.__)("소제목을 3개 이상으로 나누면 AI가 질문마다 답할 부분을 찾아요","editnday")),i(r,"faq",8,e.faq>=2,(0,l.sprintf)(/* translators: %d: 질문답 수 */ /* translators: %d: 질문답 수 */(0,l.__)("질문답 %d개","editnday"),e.faq),(0,l.__)("AEO 질문답을 2개 이상 넣어요","editnday")),i(r,"identity",6,e.identity,(0,l.__)("내 블로그 정체성","editnday"),(0,l.__)("사이트 오픈 4단계에서 한 줄 소개·다른 곳 주소를 넣으면 AI가 누가 쓴 글인지 알아봐요","editnday")),i(r,"internal",8,e.internal>=1,(0,l.sprintf)(/* translators: %d: 내부 링크 수 */ /* translators: %d: 내부 링크 수 */(0,l.__)("내 글 링크 %d개","editnday"),e.internal),(0,l.__)('이어지는 내 글을 하나 이상 연결해요 (발행 준비의 "이어지는 내 글")',"editnday")),i(r,"bots",8,!1!==e.bots,!1===e.bots?(0,l.__)("AI 검색 봇이 막힘","editnday"):(0,l.__)("AI 검색 봇 허용","editnday"),(0,l.__)("사이트 오픈 4단계에서 robots.txt·방화벽을 확인해요","editnday")),i(o,"numbers",12,n>=3,(0,l.sprintf)(/* translators: %d: 숫자 문장 수 */ /* translators: %d: 숫자 문장 수 */(0,l.__)("숫자가 든 문장 %d개","editnday"),n),(0,l.__)("통계·가격·날짜처럼 확인할 수 있는 숫자를 3문장 이상에 넣으면 AI가 근거로 써요","editnday")),i(o,"sources",12,e.external>=2,(0,l.sprintf)(/* translators: %d: 출처 링크 수 */ /* translators: %d: 출처 링크 수 */(0,l.__)("출처 링크 %d개","editnday"),e.external),(0,l.__)("숫자·주장의 출처를 2곳 이상 링크로 밝혀요","editnday")),i(o,"author",8,e.authorBio,(0,l.__)("저자 소개","editnday"),(0,l.__)("[사용자 → 프로필]의 자기소개를 채우면 누가 썼는지(전문성)가 보여요","editnday")),i(o,"fresh",8,a,a?(0,l.__)("1년 안에 고친 글","editnday"):(0,l.__)("1년 넘게 고치지 않은 글","editnday"),(0,l.__)("AI는 최신 정보를 인용해요. 숫자를 다시 확인하고 고쳐 주세요","editnday")),i(o,"length",10,s>=1500,(0,l.sprintf)(/* translators: %s: 글자 수 */ /* translators: %s: 글자 수 */(0,l.__)("본문 %s자","editnday"),s.toLocaleString("ko-KR")),(0,l.__)("1,500자 이상이면 AI가 인용할 근거가 충분해요","editnday")),{score:d.reduce((e,t)=>e+(t.ok?t.points:0),0),items:d}}({summaryVisible:s.some(e=>"summary"===e.attributes?.metadata?.editnday),headings:d.headings.length,faq:e.schema.faq?.length||0,identity:!!u.identity,internal:c,external:_,bots:u.bots??null,body:d.body,authorBio:!!u.authorBio,modified:a}),m=y.filter(e=>!e.ok).sort((e,t)=>t.points-e.points),p=h>=80?"is-ok":h>=60?"is-warn":"is-bad";return(0,f.jsxs)(w,{className:"ed-aicite",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("AI 인용 준비","editnday")}),(0,f.jsx)("span",{className:`ed-aicite__score ${p}`,children:(0,l.sprintf)(/* translators: %d: 점수 */ /* translators: %d: 점수 */ 11 (0,l.__)("%d / 100","editnday"),h)})]}),(0,f.jsx)("div",{className:"ed-aicite__bar","aria-hidden":"true",children:(0,f.jsx)("span",{className:p,style:{width:`${h}%`}})}),(0,f.jsx)("p",{className:"ed-muted ed-small",children:h>=80?(0,l.__)("ChatGPT·구글 AI 개요·네이버 AI 브리핑이 인용하기 좋은 글이에요.","editnday"):(0,l.__)("80점이 넘으면 AI 답변에 인용되기 좋은 글이에요. 점수가 큰 것부터 채워 보세요.","editnday")}),m.slice(0,t?m.length:3).map(e=>(0,f.jsxs)("div",{className:"ed-aicite__item",children:[(0,f.jsxs)("span",{className:"ed-aicite__pts",children:["+",e.points]}),(0,f.jsxs)("span",{children:[(0,f.jsx)("strong",{children:e.label}),(0,f.jsxs)("span",{className:"ed-muted ed-small",children:[" ",e.hint]})]})]},e.id)),m.length>3&&(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>n(!t),children:t?(0,l.__)("접기","editnday"):(0,l.sprintf)(/* translators: %d: 남은 항목 수 */ /* translators: %d: 남은 항목 수 */ 12 (0,l.__)("빠진 것 %d개 더 보기","editnday"),m.length-3)})]})}function Ut({st:e,onCheck:t}){const n=qt(e),s=n.filter(e=>e.ok).length;return(0,f.jsxs)(w,{className:"ed-koseo-line",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("검색·AI 점검","editnday")}),(0,f.jsx)("span",{className:"ed-small",children:(0,l.sprintf)(/* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */ /* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */ 13 (0,l.__)("%1$d개 중 %2$d개 통과","editnday"),n.length,s)})]}),t&&(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:t,children:(0,l.__)("글 점검에서 자세히 보기","editnday")})]})}function Jt({onNew:e,onCheck:t}){const n=ft(),[s,a]=(0,o.useState)(null),[d,i]=(0,o.useState)(null),[r,c]=(0,o.useState)(null),[u,m]=(0,o.useState)(n.schema.mode||"visible"),[g,x]=(0,o.useState)(!1),[b,v]=(0,o.useState)(0),[C,$]=(0,o.useState)(null),[I,E]=(0,o.useState)(""),[P,M]=(0,o.useState)("bottom"),[O,F]=(0,o.useState)("title"),[q,L]=(0,o.useState)(()=>{try{return{tpl:"ink",layout:"center",aspect:"og",color:"#2F5D50",...JSON.parse(window.localStorage.getItem("editndayTpl")||"{}")}}catch{return{tpl:"ink",layout:"center",aspect:"og",color:"#2F5D50"}}}),R=e=>L(t=>{const n={...t,...e};try{window.localStorage.setItem("editndayTpl",JSON.stringify(n))}catch{}return n}),D=q.tpl,[H,z]=(0,o.useState)(""),U=I.trim()||n.title?.trim()||"";(0,o.useEffect)(()=>{let e=!1;const t=setTimeout(()=>{Et({text:U,template:q.tpl,color:q.color,layout:q.layout,aspect:q.aspect}).then(t=>!e&&z(t)).catch(()=>!e&&z(""))},150);return()=>{e=!0,clearTimeout(t)}},[U,q]);const[V,W]=(0,o.useState)(null),X=Qe("_editnday_indexed"),Y=(0,G.useSelect)(e=>["publish","future","private"].includes(e("core/editor").getEditedPostAttribute("status")),[]),Z=(0,G.useSelect)(e=>e("core/editor").isSavingPost(),[]),Q=(0,G.useSelect)(e=>{const t=e("core/editor");return"future"===t.getEditedPostAttribute("status")?t.getEditedPostAttribute("date"):null},[]),ee=e=>!!s&&s.split(",").includes(e),te=async(e,t)=>{a(e),v(Date.now()),i(null);try{await t()}catch(e){i(e?.message&&!e.message.includes("<")?e.message:(0,l.__)("만들지 못했어요. 잠시 뒤 다시 해 주세요.","editnday"))}finally{a(null)}},ne={st:n,busy:s,isBusy:ee,run:te,since:b,aeoMode:u,setCatPanel:$,setRedo:x,onImage:I,titlePos:P,titleKind:O},se=(e,t={})=>y(_.publishFieldActions,{...ne,key:e,...t}),ae=()=>(0,f.jsxs)("span",{className:"ed-busy",children:[(0,f.jsx)("span",{className:"ed-pulse"}),(0,l.__)("만드는 중","editnday")," ",(0,f.jsx)(B,{since:b})]});return(0,f.jsxs)(f.Fragment,{children:[Q?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(A,{eyebrow:(0,l.__)("예약한 글","editnday"),title:(0,l.__)("예약한 글 다듬기","editnday"),sub:(0,l.__)("발행되기 전까지 대표 이미지, 검색 설정, 요약과 질문·답을 다시 만들거나 고칠 수 있어요.","editnday")}),(0,f.jsx)("div",{className:"ed-note",children:(0,o.createInterpolateElement)((0,l.sprintf)(/* translators: %s: 예약 발행 시각. <b>…</b>는 굵게 (버튼 이름) */ /* translators: %s: 예약 발행 시각. <b>…</b>는 굵게 (버튼 이름) */ 14 (0,l.__)("<b>%s</b>에 발행돼요. 여기서 바꾼 내용은 맨 아래 <b>[바뀐 내용 저장]</b>을 눌러야 예약된 글에 들어가요. 시간은 오른쪽 위 <b>[예약됨]</b>에서 바꿔요.","editnday"),Gt(Q)),{b:(0,f.jsx)("strong",{})})})]}):Y?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(A,{eyebrow:(0,l.__)("발행한 글","editnday"),title:(0,l.__)("발행한 글 다듬기","editnday"),sub:(0,l.__)("대표 이미지, 검색 설정, 요약과 질문·답을 다시 만들거나 고칠 수 있어요.","editnday")}),(0,f.jsx)("div",{className:"ed-note",children:(0,o.createInterpolateElement)(/* translators: <b>…</b>는 굵게 (버튼 이름) */ /* translators: <b>…</b>는 굵게 (버튼 이름) */ 15 (0,l.__)("이미 공개된 글이에요. 여기서 바꾼 내용은 맨 아래 <b>[바뀐 내용 사이트에 반영]</b>을 눌러야 사이트에 반영돼요.","editnday"),{b:(0,f.jsx)("strong",{})})})]}):(0,f.jsx)(A,{eyebrow:(0,l.__)("발행 준비","editnday"),title:(0,l.__)("발행 전에 다듬을 것","editnday"),sub:(0,l.__)("하나씩 하거나 한 번에 해요. 만든 값은 고칠 수 있어요.","editnday")}),d&&(0,f.jsx)("div",{className:"ed-note is-error",children:d}),(0,f.jsxs)(w,{className:"ed-tasks",children:[(0,f.jsxs)("div",{className:"ed-cardhead",children:[(0,f.jsxs)("span",{className:"ed-cardhead__t",children:[(0,l.__)("할 일","editnday")," ",(0,f.jsx)("span",{className:"ed-tag",children:(0,l.sprintf)(/* translators: 1: 된 것, 2: 전체 */ /* translators: 1: 된 것, 2: 전체 */ 16 (0,l.__)("%1$d / %2$d 됨","editnday"),ht.filter(([e])=>Tt(n,e)).length+(n.featured?1:0)+(n.featuredAlt?1:0),ht.length+2)})]}),se("all",{place:"head"})]}),se("all",{place:"live"}),ht.map(([e,t,s])=>{const a=se(e,{place:"row"}),d=!h()&&["seo","aeo","geo"].includes(e);return(0,f.jsxs)("div",{className:"ed-taskwrap",children:[(0,f.jsxs)("div",{className:"ed-task",children:[(0,f.jsx)("span",{className:`ed-circ${Tt(n,e)?" is-filled":""}${ee(e)?" is-busy":""}`,children:Tt(n,e)&&(0,f.jsx)(j,{})}),(0,f.jsxs)("span",{className:"ed-task__t",children:[t," ",s&&(0,f.jsxs)("span",{className:"ed-muted",children:["(",s,")"]})]}),ee(e)&&(0,f.jsx)(ae,{}),!ee(e)&&Tt(n,e)&&(0,f.jsx)("button",{type:"button",className:"ed-mini is-done",onClick:()=>c(r===e?null:e),children:r===e?(0,l.__)("닫기","editnday"):(0,l.__)("보기","editnday")}),!ee(e)&&!Tt(n,e)&&(0,f.jsx)("button",{type:"button",className:"ed-mini is-plain",onClick:()=>c(r===e?null:e),children:r===e?(0,l.__)("닫기","editnday"):a.length?(0,l.__)("직접","editnday"):(0,l.__)("직접 쓰기","editnday")}),!ee(e)&&!Tt(n,e)&&a]}),!Tt(n,e)&&d&&(0,f.jsx)("div",{className:"ed-prohint-row",children:(0,f.jsx)(K,{label:(0,l.__)("AI로 만들기","editnday")})}),"category"===e&&C&&!Tt(n,e)&&(0,f.jsx)(st,{panel:C,onDone:()=>$(null)}),r===e&&(0,f.jsx)(Yt,{k:e,st:n,mode:u,extra:se(e,{place:"editor"}),below:se(e,{place:"below"})})]},e)}),(0,f.jsxs)("div",{className:"ed-taskwrap",children:[(0,f.jsxs)("div",{className:"ed-task",children:[(0,f.jsx)("span",{className:"ed-circ"+(n.featured?" is-filled":""),children:!!n.featured&&(0,f.jsx)(j,{})}),(0,f.jsx)("span",{className:"ed-task__t",children:(0,l.__)("대표 이미지","editnday")}),"featured"===s?(0,f.jsx)(ae,{}):(0,f.jsx)("button",{type:"button",className:"ed-mini",disabled:!!s,onClick:()=>x(!g),children:Dt(n.featured,g)})]}),n.featuredUrl&&(0,f.jsx)("img",{className:"ed-thumb",src:n.featuredUrl,alt:n.featuredAlt}),n.featuredUrl&&(0,f.jsx)(Qt,{url:n.featuredUrl,title:n.seo.kept?.title||n.seo.title||n.title||"",description:n.seo.kept?.description||n.seo.description||""}),g&&(0,f.jsxs)("div",{className:"ed-redo",children:[se("featured"),(0,f.jsx)(K,{label:(0,l.__)("AI로 그림 만들기","editnday")}),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0,label:(0,l.__)("그림에 넣을 제목 (선택)","editnday"),placeholder:(0,l.__)("비워 두면 글자 없는 그림","editnday"),value:I,onChange:E}),(0,f.jsxs)("div",{className:"ed-redo__title",children:[(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>E(n.title||""),children:(0,l.__)("글 제목 그대로 넣기","editnday")}),!!I.trim()&&(0,f.jsx)("span",{className:"ed-chips",children:[["title",(0,l.__)("제목형","editnday")],["caption",(0,l.__)("캡션형","editnday")]].map(([e,t])=>(0,f.jsx)(S,{on:O===e,onClick:()=>F(e),children:t},e))}),!!I.trim()&&(0,f.jsx)("span",{className:"ed-chips",children:[["top",(0,l.__)("위","editnday")],["center",(0,l.__)("가운데","editnday")],["bottom",(0,l.__)("아래","editnday")]].map(([e,t])=>(0,f.jsx)(S,{on:P===e,onClick:()=>M(e),children:t},e))})]}),(0,f.jsx)("div",{className:"ed-redo__actions",children:!!n.featured&&(0,f.jsx)(N,{disabled:!!s||!I.trim(),onClick:()=>te("featured",async()=>(await Pt(I,P,O),x(!1))),children:(0,l.__)("지금 그림에 제목만 넣기","editnday")})})]}),(0,f.jsxs)("div",{className:"ed-tpl",children:[(0,f.jsx)("span",{className:"ed-small ed-strong",children:(0,l.__)("AI 없이 배경 틀로 만들기","editnday")}),(0,f.jsxs)("div",{className:"ed-tpl__row",children:[(0,f.jsx)("span",{className:"ed-tpl__label",children:(0,l.__)("색","editnday")}),(0,f.jsxs)("span",{className:"ed-tpl__swatches",children:[kt.map(([e,t,n,s])=>(0,f.jsx)("button",{type:"button",className:"ed-tpl__sw"+(D===e?" is-on":""),style:{background:n.length>1?`linear-gradient(135deg, ${n[0]}, ${n[1]})`:n[0],color:s},"aria-pressed":D===e,title:t,onClick:()=>R({tpl:e}),children:(0,l.__)("가","editnday")},e)),(0,f.jsx)("button",{type:"button",className:"ed-tpl__sw ed-tpl__sw--custom"+("custom"===D?" is-on":""),style:"custom"===D?{background:q.color}:void 0,"aria-pressed":"custom"===D,title:(0,l.__)("직접 고른 색","editnday"),onClick:()=>R({tpl:"custom"}),children:"custom"===D?"":"+"})]})]}),"custom"===D&&(0,f.jsxs)("div",{className:"ed-tpl__row",children:[(0,f.jsx)("span",{className:"ed-tpl__label"}),(0,f.jsxs)("span",{className:"ed-tpl__color",children:[(0,f.jsx)("input",{type:"color","aria-label":(0,l.__)("바탕색 고르기","editnday"),value:/^#[0-9a-f]{6}$/i.test(q.color)?q.color:"#2F5D50",onChange:e=>R({color:e.target.value})}),(0,f.jsx)("input",{type:"text","aria-label":(0,l.__)("바탕색 hex","editnday"),value:q.color,maxLength:7,spellCheck:!1,onChange:e=>{const t=e.target.value.trim();R({color:t.startsWith("#")?t:"#"+t})}})]})]}),(0,f.jsxs)("div",{className:"ed-tpl__row",children:[(0,f.jsx)("span",{className:"ed-tpl__label",children:(0,l.__)("배치","editnday")}),(0,f.jsx)("span",{className:"ed-chips",children:St.map(([e,t])=>(0,f.jsx)(S,{on:q.layout===e,onClick:()=>R({layout:e}),children:t},e))})]}),(0,f.jsxs)("div",{className:"ed-tpl__row",children:[(0,f.jsx)("span",{className:"ed-tpl__label",children:(0,l.__)("비율","editnday")}),(0,f.jsx)("span",{className:"ed-chips",children:vt.map(([e,t])=>(0,f.jsx)(S,{on:q.aspect===e,onClick:()=>R({aspect:e}),children:t},e))})]}),H?(0,f.jsx)("img",{className:"ed-tpl__preview",src:H,alt:(0,l.__)("배경 틀 미리보기","editnday")}):(0,f.jsx)("span",{className:"ed-muted",children:(0,l.__)("제목을 쓰면 여기에 미리보기가 나와요.","editnday")}),(0,f.jsx)(N,{disabled:!!s||!U||"custom"===D&&!/^#[0-9a-f]{6}$/i.test(q.color),onClick:()=>te("featured",async()=>(await At(U,D,{color:q.color,layout:q.layout,aspect:q.aspect}),x(!1))),children:(0,l.__)("배경 틀로 만들기","editnday")}),(0,f.jsx)("span",{className:"ed-muted",children:(0,l.__)('위 "그림에 넣을 제목"을, 비워 두면 글 제목을 넣어요. AI·서버 없이 이 컴퓨터에서 바로 그려요.',"editnday")})]}),(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>{const e=window.wp?.media?.({title:(0,l.__)("대표 이미지 고르기","editnday"),library:{type:"image"},multiple:!1,button:{text:(0,l.__)("대표 이미지로","editnday")}});e&&(e.on("select",()=>{const t=e.state().get("selection").first()?.toJSON();t?.id&&Ze({featured_media:t.id}),x(!1)}),e.open())},children:(0,l.__)("미디어 라이브러리에서 고르기","editnday")})]})]}),(0,f.jsxs)("div",{className:"ed-task",children:[(0,f.jsx)("span",{className:"ed-circ"+(n.featuredAlt?" is-filled":""),children:n.featuredAlt&&(0,f.jsx)(j,{})}),(0,f.jsx)("span",{className:"ed-task__t",children:(0,l.__)("대표 이미지 ALT","editnday")}),"alt"===s?(0,f.jsx)(ae,{}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("button",{type:"button",className:"ed-mini is-plain",disabled:!n.featured,onClick:()=>c("alt"===r?null:"alt"),children:"alt"===r?(0,l.__)("닫기","editnday"):(0,l.__)("직접 쓰기","editnday")}),se("alt")]})]}),n.featuredAlt&&"alt"!==r&&(0,f.jsx)("p",{className:"ed-alttext",children:n.featuredAlt}),"alt"===r&&!!n.featured&&(0,f.jsx)(Xt,{id:n.featured,alt:n.featuredAlt,onDone:()=>c(null)})]}),se("all"),(0,f.jsx)(Rt,{st:n}),(0,f.jsx)(Kt,{}),(0,f.jsx)(Ht,{}),(0,f.jsx)(zt,{st:n}),(0,f.jsx)(Ut,{st:n,onCheck:t}),(0,f.jsxs)(w,{children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("AEO·GEO 넣는 방식","editnday")}),(0,f.jsxs)(T,{checked:"visible"===u,onChange:()=>{m("visible"),et("_editnday_schema",{...Qe("_editnday_schema"),mode:"visible"}),gt(Qe("_editnday_schema"))},children:[(0,l.__)("본문에 보이게","editnday")," ",(0,f.jsx)("span",{className:"ed-muted",children:(0,l.__)("· 글 앞 요약, 글 끝 자주 묻는 질문","editnday")})]}),(0,f.jsxs)(T,{checked:"structured"===u,onChange:()=>{m("structured"),et("_editnday_schema",{...Qe("_editnday_schema"),mode:"structured"}),gt({})},children:[(0,l.__)("구조화 데이터로만","editnday")," ",(0,f.jsx)("span",{className:"ed-muted",children:(0,l.__)("· 본문 내용 그대로, 검색봇·AI가 읽는 형식","editnday")})]})]}),(0,f.jsxs)(w,{className:"ed-related",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("strong",{children:(0,l.__)("이어지는 내 글","editnday")}),(0,f.jsx)("button",{type:"button",className:"ed-mini",disabled:!!s,onClick:()=>te("related",async()=>{const e=await J()({path:"/editnday/v1/publish/related",method:"POST",data:{postId:n.postId,title:n.title,tags:n.tags,categories:n.categories,content:Ye().getEditedPostContent()}});W(e.items||[])}),children:V?(0,l.__)("다시 찾기","editnday"):(0,l.__)("찾기","editnday")})]}),null===V&&(0,f.jsx)("div",{className:"ed-muted",children:(0,l.__)("이 글과 태그·제목이 겹치는 내 공개 글을 찾아 본문 끝에 링크로 넣을 수 있어요.","editnday")}),V&&!V.length&&(0,f.jsx)("div",{className:"ed-muted",children:(0,l.__)("이어 붙일 만한 글을 찾지 못했어요. 태그를 먼저 달면 더 잘 찾아요.","editnday")}),(V||[]).map(e=>(0,f.jsxs)("div",{className:"ed-row ed-between ed-related__item",children:[(0,f.jsxs)("span",{children:[e.title," ",(0,f.jsx)("span",{className:"ed-muted",children:e.date})]}),(0,f.jsx)("button",{type:"button",className:"ed-mini",disabled:e.added,onClick:()=>{Mt(e),W(t=>t.map(t=>t.id===e.id?{...t,added:!0}:t))},children:e.added?(0,l.__)("넣었어요","editnday"):(0,l.__)("넣기","editnday")})]},e.id))]}),Y&&!Q&&X.at&&(0,f.jsxs)("div",{className:"ed-muted ed-indexed",children:[(0,l.__)("검색엔진에 알림:","editnday")," ",new Date(X.at).toLocaleString("ko-KR",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"}),Object.entries(X.results||{}).map(([e,t])=>` · ${"naver"===e?(0,l.__)("네이버","editnday"):(0,l.__)("Bing 등","editnday")} ${t>=200&&t<300?"✓":"✕"}`)]}),(0,f.jsx)(Vt,{}),(0,f.jsx)(Wt,{live:Y,scheduled:!!Q}),(0,f.jsxs)("div",{className:"ed-foot",children:[Q?(0,f.jsx)(k,{disabled:!!Z,onClick:async()=>{await(0,G.dispatch)("core/editor").savePost(),(0,G.dispatch)("core/notices").createSuccessNotice((0,l.__)("저장했어요. 예약한 시간에 이 내용으로 발행돼요.","editnday"),{type:"snackbar"})},children:Z?(0,l.__)("저장하는 중…","editnday"):(0,l.__)("바뀐 내용 저장","editnday")}):Y?(0,f.jsx)(k,{disabled:!!Z,onClick:async()=>{await(0,G.dispatch)("core/editor").savePost(),(0,G.dispatch)("core/notices").createSuccessNotice((0,l.__)("바뀐 내용을 사이트에 반영했어요.","editnday"),{type:"snackbar"})},children:Z?(0,l.__)("반영하는 중…","editnday"):(0,l.__)("바뀐 내용 사이트에 반영","editnday")}):(0,f.jsx)(k,{onClick:()=>(0,G.dispatch)("core/editor").openPublishSidebar?.(),children:(0,l.__)("공개 전 점검하고 발행","editnday")}),(0,f.jsx)(N,{onClick:e,children:(0,l.__)("새 글 시작","editnday")})]})]})}function Vt(){const e=window.editndayConfig?.indexnow,[t,n]=(0,o.useState)(e?.state),[s,a]=(0,o.useState)(!1);if("unset"!==t||!e?.canManage||e?.blocked)return null;const d=async t=>{a(!0);try{const s=await J()({path:"/editnday/v1/indexnow",method:"POST",data:{on:t}});e.state=s.state,window.editndayConfig.autoSend&&(window.editndayConfig.autoSend.indexnow=!!s.available),n(s.state),(0,G.dispatch)("core/notices").createSuccessNotice(t?(0,l.__)("검색엔진에 알리기를 켰어요. 에디튼 → 설정에서 언제든 끌 수 있어요.","editnday"):(0,l.__)("켜지 않았어요. 에디튼 → 설정에서 언제든 켤 수 있어요.","editnday"),{type:"snackbar"})}catch(e){(0,G.dispatch)("core/notices").createErrorNotice(e?.message||(0,l.__)("저장하지 못했어요.","editnday"),{type:"snackbar"})}finally{a(!1)}};return(0,f.jsxs)(w,{className:"ed-ask",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("발행하면 검색엔진에 알릴까요?","editnday")}),(0,f.jsx)("span",{className:"ed-small",children:(0,l.__)("글을 발행하거나 고치면 그 글의 주소를 네이버·Bing 등에 바로 알려서, 새 글을 더 빨리 찾게 해요 (IndexNow). 글 주소만 보내고, 비공개 글은 보내지 않아요. 구글은 이 방식을 받지 않아요.","editnday")}),(0,f.jsxs)("div",{className:"ed-row ed-gap6",children:[(0,f.jsx)(N,{disabled:s,onClick:()=>d(!0),children:(0,l.__)("켜기","editnday")}),(0,f.jsx)(N,{disabled:s,onClick:()=>d(!1),children:(0,l.__)("지금은 안 함","editnday")})]})]})}function Gt(e){const t=new Date(e);return Number.isNaN(t.getTime())?String(e):t.toLocaleString("ko-KR",{month:"long",day:"numeric",weekday:"short",hour:"numeric",minute:"2-digit"})}function Wt({live:e,scheduled:t}){const n=window.editndayConfig?.autoSend||{},s=!e||t,a=[s&&n.published&&(0,l.__)("고친 내용을 에디튼에 보내 초안과 비교해요","editnday"),n.indexnow&&(s?(0,l.__)("글 주소를 Bing·네이버에 바로 알려요","editnday"):(0,l.__)("반영하면 글 주소를 검색엔진에 다시 알려요","editnday"))].filter(Boolean);if(!a.length)return null;let d="";return t?d=(0,l.__)("예약 시간에 발행되면 자동으로:","editnday"):e||(d=(0,l.__)("발행하면 자동으로:","editnday")),(0,f.jsxs)("p",{className:"ed-muted ed-autosend",children:[d,a.join(" · "),"."," ",(0,f.jsx)("a",{href:window.editndayConfig?.settingsUrl,target:"_blank",rel:"noreferrer",children:(0,l.__)("설정에서 끄기","editnday")})]})}function Xt({id:e,alt:t,onDone:n}){const[s,a]=(0,o.useState)(t||""),[d,i]=(0,o.useState)(!1);return(0,f.jsxs)("div",{className:"ed-taskedit",children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0,label:(0,l.__)("대표 이미지 ALT","editnday"),help:(0,l.__)("그림에 무엇이 보이는지 한 문장으로. 검색엔진과 화면 읽기 프로그램이 읽어요.","editnday"),value:s,onChange:a}),(0,f.jsx)(N,{disabled:d||!s.trim(),onClick:async()=>{i(!0);try{await(0,G.dispatch)("core").saveEntityRecord("postType","attachment",{id:e,alt_text:s.trim()}),n()}catch(e){(0,G.dispatch)("core/notices").createErrorNotice(e?.message||(0,l.__)("저장하지 못했어요.","editnday"),{type:"snackbar"})}finally{i(!1)}},children:d?(0,l.__)("저장 중…","editnday"):(0,l.__)("저장","editnday")})]})}function Yt({k:e,st:t,mode:n,extra:s=[],below:a=[]}){const d=(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(Zt,{k:e,st:t,mode:n,extra:s}),a]});return["geo","aeo"].includes(e)||!s.length?d:(0,f.jsxs)(f.Fragment,{children:[d,(0,f.jsx)("div",{className:"ed-row",children:s})]})}function Zt({k:e,st:t,mode:n,extra:s}){if("excerpt"===e)return(0,f.jsx)(p.TextareaControl,{__nextHasNoMarginBottom:!0,rows:3,value:t.excerpt,onChange:e=>Ze({excerpt:e})});if("slug"===e)return(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,value:dt(t.slug),onChange:e=>Ze({slug:e})});if("seo"===e)return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,label:"Fine Keyword",help:(0,l.__)("저장하면 SEO 플러그인 키워드 칸으로 옮겨요","editnday"),value:t.seo.keyword||"",onChange:e=>et("_editnday_seo",{...t.seo,keyword:e})}),y(_.keywordInfo,{keyword:t.seo.keyword||"",setKeyword:e=>et("_editnday_seo",{...t.seo,keyword:e})}),(0,f.jsx)(ut,{keyword:t.seo.keyword,seo:t.seo}),(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,label:(0,l.__)("SEO 제목","editnday"),value:t.seo.title||"",onChange:e=>et("_editnday_seo",{...t.seo,title:e})}),(0,f.jsx)(p.TextareaControl,{__nextHasNoMarginBottom:!0,label:(0,l.__)("SEO 설명","editnday"),rows:3,value:t.seo.description||"",onChange:e=>et("_editnday_seo",{...t.seo,description:e})})]});const a="visible"===n,d=e=>et("_editnday_schema",{...t.schema,...e,mode:n}),i=e=>{gt(Qe("_editnday_schema"),[e]),(0,G.dispatch)("core/notices").createSuccessNotice("faq"===e?(0,l.__)("본문 끝 질문과 답을 바꿨어요.","editnday"):(0,l.__)("본문 앞 요약을 바꿨어요.","editnday"),{type:"snackbar"})},r=(0,f.jsx)("span",{className:"ed-muted",children:a?(0,l.__)("본문 박스를 바로 고쳐도 돼요. 여기서 고쳤다면 [본문에 반영]을 눌러야 본문이 바뀌어요.","editnday"):(0,l.__)("본문에는 안 보여요. 본문에 있는 내용만 남겨 주세요.","editnday")});if("geo"===e)return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(p.TextareaControl,{__nextHasNoMarginBottom:!0,label:a?(0,l.__)("글 앞 요약","editnday"):(0,l.__)("검색봇·AI가 읽는 요약","editnday"),help:(0,l.__)("글 전체를 두세 문장으로. 검색 결과와 AI 답변에 인용되기 좋아요.","editnday"),rows:4,value:t.schema.summary||"",onChange:e=>d({summary:e})}),!a&&window.editndayConfig?.seoPlugin?(0,f.jsx)("span",{className:"ed-muted",children:(0,l.sprintf)(/* translators: %s: window.editndayConfig.seoPlugin */ /* translators: %s: window.editndayConfig.seoPlugin */(0,l.__)('%s가 글 정보를 이미 내고 있어, 같은 글이 두 번 잡히지 않게 요약은 구조화 데이터에 넣지 않아요. AI 인용에 쓰이게 하려면 "본문에 보이게"를 고르세요.',"editnday"),window.editndayConfig.seoPlugin)}):r,(0,f.jsxs)("div",{className:"ed-row",children:[a&&(0,f.jsx)(N,{disabled:!t.schema.summary?.trim(),onClick:()=>i("summary"),children:(0,l.__)("본문에 반영","editnday")}),s]})]});if("aeo"===e){const e=t.schema.faq?.length?t.schema.faq:[{question:"",answer:""}],n=(t,n)=>d({faq:e.map((e,s)=>s===t?{...e,...n}:e)});return(0,f.jsxs)("div",{className:"ed-faq",children:[e.map((t,s)=>(0,f.jsxs)("div",{className:"ed-faq__item is-edit",children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,label:(0,l.sprintf)(/* translators: %s: i + 1 */ /* translators: %s: i + 1 */(0,l.__)("질문 %s","editnday"),s+1),placeholder:(0,l.__)("독자가 검색창에 칠 만한 질문","editnday"),value:t.question,onChange:e=>n(s,{question:e})}),(0,f.jsx)(p.TextareaControl,{__nextHasNoMarginBottom:!0,label:(0,l.__)("답","editnday"),rows:3,value:t.answer,onChange:e=>n(s,{answer:e})}),e.length>1&&(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>d({faq:e.filter((e,t)=>t!==s)}),children:(0,l.__)("이 질문 빼기","editnday")})]},s)),r,(0,f.jsxs)("div",{className:"ed-row",children:[e.length<6&&(0,f.jsx)(N,{onClick:()=>d({faq:[...e,{question:"",answer:""}]}),children:(0,l.__)("질문 더하기","editnday")}),a&&(0,f.jsx)(N,{disabled:!e.some(e=>e.question?.trim()&&e.answer?.trim()),onClick:()=>i("faq"),children:(0,l.__)("본문에 반영","editnday")}),s]})]})}return"category"===e?(0,f.jsx)(nt,{}):"tags"===e?(0,f.jsx)("span",{className:"ed-muted",children:t.tags.length?(0,l.__)("워드프레스 태그 칸에 넣었어요. 오른쪽 ‘글’ 설정에서 고칠 수 있어요.","editnday"):(0,l.__)("태그는 오른쪽 ‘글’ 설정의 태그 칸에서 넣어요. 이 글을 찾을 만한 낱말 3~5개면 충분해요.","editnday")}):null}function Qt({url:e,title:t,description:n}){const[s,a]=(0,o.useState)(!1);let d="";try{d=new URL(window.location.href).hostname.replace(/^www\./,"")}catch(e){}return s?(0,f.jsxs)("div",{className:"ed-share",children:[(0,f.jsxs)("div",{className:"ed-share__card",children:[(0,f.jsx)("div",{className:"ed-share__img",style:{backgroundImage:`url("${e}")`},role:"img","aria-label":(0,l.__)("1.91:1로 잘린 대표 이미지","editnday")}),(0,f.jsxs)("div",{className:"ed-share__text",children:[(0,f.jsx)("span",{className:"ed-muted",children:d}),(0,f.jsx)("strong",{children:t||(0,l.__)("(제목 없음)","editnday")}),n&&(0,f.jsx)("span",{className:"ed-share__desc",children:n})]})]}),(0,f.jsxs)("p",{className:"ed-muted",children:[(0,l.__)("카카오톡·페이스북·X 링크는 보통 가운데를 1.91:1(1200×630)로 잘라 보여요. 가장자리의 글자·얼굴이 잘리면 그림을 다시 고르거나 만들어 보세요.","editnday")," ",(0,f.jsx)("button",{type:"button",className:"ed-mini",onClick:()=>a(!1),children:(0,l.__)("닫기","editnday")})]})]}):(0,f.jsx)("button",{type:"button",className:"ed-mini",style:{margin:"6px 0 2px"},onClick:()=>a(!0),children:(0,l.__)("공유될 때 모습 보기","editnday")})}function en(){const e=ft(),t=(0,c.applyFilters)(_.prepublishFixes,null),n=qt(e),s=n.filter(e=>!e.ok),[a,d]=(0,o.useState)(!1),[i,r]=(0,o.useState)(null),u=(()=>{try{const t=JSON.parse(e&&window.wp?.data?.select("core/editor").getEditedPostAttribute("meta")?._editnday_job||"null");return t?t.reviewed?"done":"pending":"none"}catch(e){return"none"}})(),h=["none"!==u&&{ok:"done"===u,label:"done"===u?(0,l.__)("확인할 곳 처리함","editnday"):(0,l.__)("확인할 곳이 남아 있어요 (에디튼 사이드바)","editnday")},{ok:e.categories.length>0,label:e.categories.length?(0,l.sprintf)(/* translators: %s: st.categoryNames.join( ', ' ) */ /* translators: %s: st.categoryNames.join( ', ' ) */(0,l.__)("카테고리: %s","editnday"),e.categoryNames.join(", ")):(0,l.__)("카테고리를 아직 고르지 않았어요 (기본 카테고리만)","editnday"),fix:t&&(async()=>{const e=await t.text(["category"]);r(e.categories?.length?null:{near:e.nearCategories||[],suggest:e.newCategory||""})}),key:"category"},e.memberCategoryNames?.length>0&&{ok:!1,label:(0,l.sprintf)(/* translators: %s: st.memberCategoryNames.join( ', ' ) */ /* translators: %s: st.memberCategoryNames.join( ', ' ) */(0,l.__)("회원 전용 카테고리: %s — 공개해도 회원만 볼 수 있어요 (SureMembers)","editnday"),e.memberCategoryNames.join(", "))},{ok:!s.length,label:s.length?(0,l.sprintf)(/* translators: 1: 통과한 수, 2: 전체 수, 3: 안 된 항목 이름(두 개까지), 4: 더 있으면 " 등" */ /* translators: 1: 통과한 수, 2: 전체 수, 3: 안 된 항목 이름(두 개까지), 4: 더 있으면 " 등" */(0,l.__)("검색·AI 점검 %1$s/%2$s: %3$s%4$s (에디튼 사이드바 → 발행 준비)","editnday"),n.length-s.length,n.length,s.slice(0,2).map(e=>e.label).join(", "),s.length>2?(0,l.__)(" 등","editnday"):""):(0,l.sprintf)(/* translators: %1$s: ko.length, %2$s: ko.length */ /* translators: %1$s: ko.length, %2$s: ko.length */(0,l.__)("검색·AI 점검 %1$s/%2$s","editnday"),n.length,n.length)},{ok:!!e.excerpt,label:e.excerpt?(0,l.__)("발췌문 있음","editnday"):(0,l.__)("발췌문 없음","editnday"),fix:t&&(()=>t.text(["excerpt"]))},{ok:!!e.seo.description,label:e.seo.description?(0,l.__)("SEO 설명 있음","editnday"):(0,l.__)("SEO 설명 없음","editnday"),fix:t&&(()=>t.text(["seo"]))},{ok:!!e.featured,label:e.featured?(0,l.__)("대표 이미지 있음","editnday"):(0,l.__)("대표 이미지 없음","editnday"),fix:t?.featured},(e.schema.faq?.length||e.schema.summary)&&{ok:!0,label:(0,l.sprintf)(/* translators: 1: 만든 데이터 목록 (예: 요약 · 질문 3개), 2: 본문에 안 보일 때 덧붙이는 설명 */ /* translators: 1: 만든 데이터 목록 (예: 요약 · 질문 3개), 2: 본문에 안 보일 때 덧붙이는 설명 */(0,l.__)("검색봇·AI용 데이터: %1$s%2$s","editnday"),[e.schema.summary&&(0,l.__)("요약","editnday"),e.schema.faq?.length&&(0,l.sprintf)(/* translators: %d: 질문 수 */ /* translators: %d: 질문 수 */ 17 (0,l.__)("질문 %d개","editnday"),e.schema.faq.length)].filter(Boolean).join(" · "),"structured"===e.schema.mode?(0,l.__)(" (본문에 안 보임, 에디튼 사이드바에서 고침)","editnday"):"")},(window.editndayConfig?.autoSend?.published||window.editndayConfig?.autoSend?.indexnow)&&{ok:!0,label:(0,l.sprintf)(/* translators: %s: 발행 때 자동으로 하는 일 목록 */ /* translators: %s: 발행 때 자동으로 하는 일 목록 */(0,l.__)("발행되면(예약이면 그 시간에) 자동으로: %s (관리자 메뉴 에디튼에서 끌 수 있어요)","editnday"),[window.editndayConfig.autoSend.published&&(0,l.__)("고친 내용을 에디튼에 보내요","editnday"),window.editndayConfig.autoSend.indexnow&&(0,l.__)("글 주소를 검색엔진에 알려요","editnday")].filter(Boolean).join(" · "))},e.featured&&{ok:!!e.featuredAlt,label:e.featuredAlt?(0,l.__)("대표 이미지 ALT 있음","editnday"):(0,l.__)("대표 이미지 ALT 없음","editnday"),fix:t?.alt}].filter(Boolean),y=h.filter(e=>!e.ok&&e.fix);return(0,f.jsxs)("div",{className:"editnday ed-prepublish",children:[h.map(e=>(0,f.jsxs)("div",{children:[(0,f.jsxs)("div",{className:"ed-task",children:[(0,f.jsx)("span",{className:"ed-circ"+(e.ok?" is-filled":" is-warn"),children:e.ok?(0,f.jsx)(j,{}):"!"}),(0,f.jsx)("span",{className:"ed-task__t",children:e.label}),!e.ok&&e.fix&&(0,f.jsx)("button",{type:"button",className:"ed-mini",disabled:a,onClick:async()=>{d(!0);try{await e.fix()}finally{d(!1)}},children:"category"===e.key?(0,l.__)("고르기","editnday"):(0,l.__)("AI로 만들기","editnday")})]}),"category"===e.key&&i&&!e.ok&&(0,f.jsx)(st,{panel:i,onDone:()=>r(null)})]},e.label)),y.length>1&&(0,f.jsx)("button",{type:"button",className:"ed-ghost",disabled:a,onClick:async()=>{d(!0);try{const n=[!e.categories.length&&"category",!e.excerpt&&"excerpt",!e.seo.description&&"seo"].filter(Boolean);if(n.length){const e=await t.text(n);n.includes("category")&&!e.categories?.length&&r({near:e.nearCategories||[],suggest:e.newCategory||""})}e.featured||await t.featured(),await t.alt().catch(()=>{})}finally{d(!1)}},children:a?(0,l.__)("만드는 중…","editnday"):(0,l.__)("남은 것 모두 하기","editnday")})]})}const tn=window.wp.plugins,nn=window.wp.domReady;var sn=n.n(nn);const an=()=>"undefined"!=typeof window&&window.speechSynthesis?window.speechSynthesis:null;function dn({result:e}){const[t,n]=(0,o.useState)(!1),[s,a]=(0,o.useState)(null);if((0,o.useEffect)(()=>()=>an()?.cancel(),[]),!t)return(0,f.jsx)("button",{type:"button",className:"ed-link ed-sentences__toggle",onClick:()=>n(!0),children:(0,l.__)("문장별로 보기","editnday")});const d=new Set(e.issues.filter(e=>["long_sentence","many_clauses","adverb_heavy"].includes(e.rule)).map(e=>e.sentence));return(0,f.jsxs)("div",{className:"ed-sentences",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("문장별로 보기","editnday")}),(0,f.jsx)("button",{type:"button",className:"ed-link ed-muted",onClick:()=>{an()?.cancel(),a(null),n(!1)},children:(0,l.__)("접기","editnday")})]}),(0,f.jsx)("span",{className:"ed-small",children:(0,l.__)("한 줄에 한 문장이에요. 한 호흡(60자)을 넘으면 노랑, 100자를 넘으면 빨강. 소리 내어 읽어 어색하면 나눠요.","editnday")}),e.sections.map(e=>{const t=je(e.text);return t.length?(0,f.jsxs)("div",{className:"ed-sentences__sec",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsxs)("strong",{className:"ed-sentences__h",children:[e.heading||(0,l.__)("도입","editnday"),(0,f.jsxs)("span",{className:"ed-muted",children:[" · ",(0,l.sprintf)(/* translators: %d: 문장 수 */ /* translators: %d: 문장 수 */ 18 (0,l.__)("%d문장","editnday"),t.length)]})]}),an()&&(0,f.jsx)("button",{type:"button",className:"ed-mini",onClick:()=>(e=>{const t=an();if(!t)return;if(s===e.id)return t.cancel(),void a(null);t.cancel();const n=new window.SpeechSynthesisUtterance((e.heading?e.heading+". ":"")+je(e.text).join(" "));n.lang="ko-KR",n.rate=1,n.onend=()=>a(null),n.onerror=()=>a(null),a(e.id),t.speak(n)})(e),"aria-pressed":s===e.id,children:s===e.id?(0,l.__)("멈추기","editnday"):(0,l.__)("읽어 주기","editnday")})]}),t.map((e,t)=>{let n="";return e.length>100?n=" is-long":e.length>60&&(n=" is-breath"),(0,f.jsxs)("button",{type:"button",className:`ed-sentences__s${n}${d.has(e)?" is-flag":""}`,onClick:()=>_e(e),title:(0,l.__)("본문에서 보기","editnday"),children:[(0,f.jsx)("span",{className:"ed-sentences__n",children:e.length}),(0,f.jsx)("span",{children:e})]},t)})]},e.id):null})]})}const ln={da:(0,l.__)("-다","editnday"),yo:(0,l.__)("-요","editnday"),sumnida:(0,l.__)("-습니다","editnday")},rn=[{id:"ai",rules:["banned_phrase"],label:(0,l.__)("AI가 쓴 티가 나는 표현","editnday"),hint:(0,l.__)('상투적인 칭찬, 글을 소개하는 문장, "결론적으로" 같은 정리 말은 빼거나 내 말로 바꿔요.',"editnday")},{id:"spell",rules:["common_mistake"],label:(0,l.__)("자주 틀리는 표현","editnday"),hint:(0,l.__)("몇일 → 며칠, 되요 → 돼요, 컨텐츠 → 콘텐츠처럼 자주 틀리는 표현을 표준 표기로 고쳐요. 맞춤법 전체를 보지는 않아요.","editnday")},{id:"ending",rules:["ending_mixed"],label:(0,l.__)("어미 섞임","editnday"),hint:e=>e.ending?(0,l.sprintf)(/* translators: %s: ENDING_LABEL[ r.ending ] */ /* translators: %s: ENDING_LABEL[ r.ending ] */(0,l.__)("이 글은 대부분 '%s'로 끝나요. 다른 어미로 끝난 문장을 맞춰요.","editnday"),ln[e.ending]):(0,l.__)("문장이 더 쌓이면 어미를 봐요.","editnday")},{id:"similar",rules:["repeated_sentence"],label:(0,l.__)("닮은 문장","editnday"),hint:(0,l.__)("앞에서 한 말을 다시 하고 있어요. 한 곳만 남기거나 다르게 써요.","editnday")},{id:"repeat",rules:["repetition"],label:(0,l.__)("같은 표현 되풀이","editnday"),hint:(0,l.__)("같은 말이 세 번 넘게 나와요. 몇 곳은 다른 말로 바꿔요.","editnday")},{id:"start",rules:["same_start"],label:(0,l.__)("같은 말로 시작하는 문장","editnday"),hint:(0,l.__)('"또한 … 또한 …"처럼 이어지면 단조로워요. 접속어를 빼거나 순서를 바꿔요.',"editnday")},{id:"long",rules:["long_sentence"],label:(0,l.__)("긴 문장","editnday"),hint:(0,l.__)("100자가 넘는 문장은 모바일에서 읽기 힘들어요. 둘로 나눠요.","editnday")},{id:"adverb",rules:["adverb_heavy"],label:(0,l.__)("부사 몰림","editnday"),hint:(0,l.__)("한 문장에 정말·너무·아주 같은 부사가 둘 넘게 있어요. 빼도 뜻이 바뀌지 않으면 빼요. 부사가 빠질수록 담백해져요.","editnday")},{id:"clauses",rules:["many_clauses"],label:(0,l.__)("이어 붙인 문장","editnday"),hint:(0,l.__)("'-고, -는데, -지만'으로 절이 네 개 넘게 이어졌어요. 정보 하나에 문장 하나로 나누면 읽는 사람이 놓치지 않아요.","editnday")},{id:"para",rules:["long_paragraph"],label:(0,l.__)("긴 단락","editnday"),hint:(0,l.__)("한 단락이 500자를 넘으면 화면이 글자로 가득해요. 나눠요.","editnday")},{id:"number",rules:["number_format"],label:(0,l.__)("숫자 표기","editnday"),hint:(0,l.__)("큰 수를 쉼표 있게도 없게도 썼어요. 한 가지로 맞춰요.","editnday")},{id:"foreign",rules:["foreign_script"],label:(0,l.__)("일본어·한자 섞임","editnday"),hint:(0,l.__)("한국어 글에 일본어나 한자가 섞였어요.","editnday")},{id:"alt",rules:["image_alt"],label:(0,l.__)("대체 텍스트 없는 이미지","editnday"),hint:(0,l.__)("검색엔진과 화면 읽기 프로그램이 그림을 이해하게 대체 텍스트(ALT)를 적어요.","editnday")}],on="editnday_textcheck_off",cn=()=>{try{return JSON.parse(window.localStorage.getItem(on)||"[]")}catch(e){return[]}},un=e=>{try{window.localStorage.setItem(on,JSON.stringify(e))}catch(e){}};function hn(){const e=(0,G.useSelect)(e=>e("core/block-editor").getBlocks(),[]),[t,n]=(0,o.useState)(()=>Je(e));(0,o.useEffect)(()=>{const t=setTimeout(()=>n(Je(e)),800);return()=>clearTimeout(t)},[e]);const[s,a]=(0,o.useState)(cn),[d,i]=(0,o.useState)(!1),[r,c]=(0,o.useState)(null);if(t.metrics.chars<50)return(0,f.jsxs)(w,{className:"ed-koseo",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("한국어 글 점검","editnday")}),(0,f.jsx)("span",{className:"ed-small",children:(0,l.__)("본문을 쓰면 여기서 바로 점검해요.","editnday")})]});const u=rn.filter(e=>!s.includes(e.id)).map(e=>({...e,issues:t.issues.filter(t=>e.rules.includes(t.rule))})),h=u.filter(e=>!e.issues.length).length,m=u.filter(e=>e.issues.length),p=d?u:m;return(0,f.jsxs)(w,{className:"ed-koseo ed-textcheck",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("한국어 글 점검","editnday")}),(0,f.jsx)("span",{className:"ed-koseo__score"+(m.length?"":" is-ok"),children:(0,l.sprintf)(/* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */ /* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */ 19 (0,l.__)("%1$d개 중 %2$d개 통과","editnday"),u.length,h)})]}),p.map(e=>{const n=r===e.id,d="function"==typeof e.hint?e.hint(t):e.hint;return(0,f.jsxs)("div",{className:"ed-koseo__item",children:[(0,f.jsx)("span",{className:"ed-circ"+(e.issues.length?" is-warn":" is-filled"),children:e.issues.length?"!":(0,f.jsx)(j,{})}),(0,f.jsxs)("span",{className:"ed-koseo__body",children:[(0,f.jsxs)("button",{type:"button",className:"ed-koseo__head ed-textcheck__head","aria-expanded":n,disabled:!e.issues.length,onClick:()=>c(n?null:e.id),children:[(0,f.jsx)("span",{className:"ed-koseo__label",children:e.label}),(0,f.jsx)("span",{className:"ed-koseo__who",children:e.issues.length?(0,l.sprintf)(/* translators: %s: it.issues.length */ /* translators: %s: it.issues.length */(0,l.__)("%s곳","editnday"),e.issues.length):(0,l.__)("없음","editnday")})]}),n&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("span",{className:"ed-koseo__hint",children:d}),e.issues.slice(0,5).map((e,t)=>(0,f.jsxs)("button",{type:"button",className:"ed-textcheck__sent",onClick:()=>{var t;(t=e).clientId?(0,G.dispatch)("core/block-editor").selectBlock(t.clientId):_e(t.sentence)||(0,G.dispatch)("core/notices").createWarningNotice((0,l.__)("본문에서 문장을 찾지 못했어요","editnday"),{type:"snackbar"})},title:(0,l.__)("본문에서 보기","editnday"),children:[["common_mistake","adverb_heavy","many_clauses"].includes(e.rule)&&(0,f.jsxs)("strong",{children:[e.detail," · "]}),e.sentence.length>70?`${e.sentence.slice(0,70)}…`:e.sentence]},t)),e.issues.length>5&&(0,f.jsx)("span",{className:"ed-muted",children:(0,l.sprintf)(/* translators: %d: 더 있는 곳 수 */ /* translators: %d: 더 있는 곳 수 */ 20 (0,l.__)("그 밖에 %d곳","editnday"),e.issues.length-5)}),(0,f.jsx)("button",{type:"button",className:"ed-link ed-muted",onClick:()=>(e=>{const t=s.includes(e)?s.filter(t=>t!==e):[...s,e];a(t),un(t)})(e.id),children:(0,l.__)("이 항목 점검 끄기","editnday")}),y(_.checkItemActions,{item:e.id,issues:e.issues}),"number"!==e.id&&(0,f.jsx)(K,{label:(0,l.__)("AI로 고치기","editnday")})]})]})]},e.id)}),!m.length&&!d&&(0,f.jsx)("span",{className:"ed-small",children:(0,l.__)("모두 좋아요.","editnday")}),(0,f.jsx)(dn,{result:t}),(0,f.jsxs)("div",{className:"ed-koseo__foot",children:[(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>i(!d),children:d?(0,l.__)("고칠 것만 보기","editnday"):(0,l.sprintf)(/* translators: %s: okN */ /* translators: %s: okN */(0,l.__)("통과한 것도 보기 (%s)","editnday"),h)}),s.length>0&&(0,f.jsx)("button",{type:"button",className:"ed-link ed-muted",onClick:()=>{a([]),un([])},children:(0,l.sprintf)(/* translators: %d: 꺼 둔 항목 수 */ /* translators: %d: 꺼 둔 항목 수 */ 21 (0,l.__)("꺼 둔 항목 %d개 다시 켜기","editnday"),s.length)}),(0,f.jsx)("span",{className:"ed-muted",children:(0,l.__)("문장을 누르면 본문에서 보여 줘요. 맞춤법 전체가 아니라 자주 틀리는 표현만 봐요.","editnday")})]})]})}function yn(){const e=ft();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(A,{eyebrow:(0,l.__)("글 점검","editnday"),title:(0,l.__)("이 글을 점검해요","editnday"),sub:(0,l.__)("쓰는 동안 문장과 검색을 함께 봐요. 글을 고치면 잠깐 뒤 다시 점검해요.","editnday")}),(0,f.jsx)(hn,{}),(0,f.jsx)(Lt,{st:e}),(0,f.jsx)(z,{})]})}function mn(){const e=(0,G.useSelect)(e=>!e("core/editor").isEditedPostEmpty(),[]),t=(0,G.useSelect)(e=>["publish","future","private"].includes(e("core/editor").getEditedPostAttribute("status")),[]),[n,s]=(0,o.useState)(null),a=[{id:"check",label:(0,l.__)("글 점검","editnday"),render:e=>(0,f.jsx)(yn,{api:e})},{id:"publish",label:(0,l.__)("발행 준비","editnday"),render:e=>(0,f.jsx)(Jt,{onNew:()=>h()?m(u.newPost):window.location.href="post-new.php",onCheck:()=>e.goTab("check")})}],d=y(_.tabs,{free:a}),i=d.length?d:a,r=(0,o.useRef)(!1),c=e=>{r.current||(r.current=!0,s(e))},p=i.some(e=>e.decides);(0,o.useEffect)(()=>{p||c(t&&e&&!(()=>{try{return!!JSON.parse((0,G.select)("core/editor").getEditedPostAttribute("meta")?._editnday_job||"null")?.id}catch(e){return!1}})()?"publish":"check")},[p,t,e]);const g=n??i[0].id,x=y(_.notice,{tab:g});return(0,f.jsxs)("div",{className:"editnday ed-body",children:[x,(0,f.jsx)(v,{tabs:i.map(e=>[e.id,e.label]),value:g,onChange:s}),i.map(e=>{const t=e.id===g;return t||e.keepMounted?(0,f.jsx)(o.Fragment,{children:e.render({active:t,goTab:s,onDecide:c})},e.id):null})]})}window.editnday=Object.freeze({...d,...i,...s,...a});const pn=()=>(0,f.jsx)(x,{size:18}),gn=()=>(0,f.jsxs)("div",{className:"editnday-header",children:[(0,f.jsx)("img",{src:window.editndayConfig?.wordmark,alt:(0,l.__)("에디튼","editnday"),height:"18"}),(0,f.jsxs)("span",{className:"editnday-header__ver",children:["v",window.editndayConfig?.version]}),h()&&(0,f.jsxs)("span",{className:"editnday-header__pro",title:(0,l.__)("에디튼 프로","editnday"),children:["P",window.editndayConfig?.proVersion&&(0,f.jsx)("span",{className:"editnday-header__prover",children:window.editndayConfig.proVersion})]})]});sn()(()=>(0,tn.registerPlugin)("editnday",{render:()=>(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(r.PluginSidebarMoreMenuItem,{target:"editnday-sidebar",icon:(0,f.jsx)(pn,{}),children:(0,l.__)("에디튼","editnday")}),(0,f.jsx)(r.PluginSidebar,{name:"editnday-sidebar",title:(0,l.__)("에디튼","editnday"),icon:(0,f.jsx)(pn,{}),header:(0,f.jsx)(gn,{}),children:(0,f.jsx)(mn,{})}),(0,f.jsx)(r.PluginPrePublishPanel,{title:(0,l.__)("에디튼 발행 점검","editnday"),initialOpen:!0,icon:(0,f.jsx)(pn,{}),children:(0,f.jsx)(en,{})})]})}))}};const t={};function n(s){const a=t[s];if(void 0!==a)return a.exports;const d=t[s]={exports:{}};return e[s](d,d.exports,n),d.exports}n.m=e,(()=>{const e=[];n.O=(t,s,a)=>{if(!s){for(var d=0;d<e.length;d++){let[s,a]=e[d],l=!0;for(var i=0;i<s.length;i++)n.O.j(s[i])?s.splice(i--,1):l=!1;if(l){e.splice(d--,1);const n=a();void 0!==n&&(t=n)}}return t}e.push([s,a])}})(),n.n=e=>{const t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var s in t)n.o(t,s)&&!n.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},n.o=(e,t)=>Object.hasOwn(e,t),n.r=e=>{Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{const e={57:0,350:0};n.O.j=t=>0===e[t];const t=(t,s)=>{let[a,d,i]=s;var l,r,o=0;if(a.some(t=>0!==e[t])){for(l in d)n.o(d,l)&&(n.m[l]=d[l]);if(i)var c=i(n)}for(t&&t(s);o<a.length;o++)r=a[o],n.o(e,r)&&e[r]&&e[r][0](),e[r]=0;return n.O(c)},s=globalThis.webpackChunk_editnday_plugin||=[];s.forEach(t.bind(null,0)),s.push=t.bind(null,s.push.bind(s))})();let s=n.O(void 0,[350],()=>n(786));s=n.O(s)})(); -
editnday/tags/1.0.88/build/style-index-rtl.css
r3742866 r3747744 1 .editnday{color:#243235;font-size:12px;letter-spacing:-.01em}.editnday *{box-sizing:border-box}.editnday.ed-body{background:#f4f5f5;display:flex;flex-direction:column;gap:8px;min-height:100%;padding:12px 12px 0}.editnday .ed-head{display:flex;flex-direction:column;gap:4px;padding:2px 0}.editnday .ed-eyebrow{color:#8b9698;font-size:11px;font-weight:500}.editnday .ed-h{color:#111416;font-size:15px;font-weight:600;letter-spacing:-.02em;line-height:1.4;margin:0}.editnday .ed-sub{color:#56676a;font-size:11.5px;line-height:1.55;margin:0}.editnday .ed-card{background:#fff;border-radius:10px;display:flex;flex-direction:column;gap:7px;min-width:0;padding:10px}.editnday .ed-lbl{color:#56676a;font-size:11px;font-weight:600}.editnday .ed-muted{color:#8b9698;font-size:11px}.editnday .ed-small{font-size:12px;line-height:1.5}.editnday .ed-strong{font-weight:600}.editnday .ed-dim{color:#56676a}.editnday .ed-faint{color:#c8cfd0}.editnday .ed-row{align-items:center;display:flex;gap:8px;min-width:0}.editnday .ed-between{justify-content:space-between}.editnday .ed-gap6{gap:6px;margin-top:3px}.editnday .components-text-control__input,.editnday .components-textarea-control__input{border-color:#e1e5e5;border-radius:7px;font-size:12px}.editnday .components-base-control__label{color:#56676a;font-size:11px;font-weight:600;text-transform:none}.editnday .ed-chips{display:flex;flex-wrap:wrap;gap:6px}.editnday .ed-chip{align-items:center;background:#fff;border:1px solid #e1e5e5;border-radius:999px;color:#56676a;cursor:pointer;display:inline-flex;font:inherit;font-size:11px;gap:4px;height:24px;padding:0 9px;white-space:nowrap}.editnday .ed-chip .ed-chip__lock{background:rgba(0,0,0,.08);border-radius:999px;font-size:10px;line-height:16px;padding:0 5px}.editnday .ed-chip.is-on .ed-chip__lock{background:hsla(0,0%,100%,.22)}.editnday .ed-chip.is-lav{background:#e6d6f7;border-color:#e6d6f7}.editnday .ed-chip.is-static{cursor:default}.editnday .ed-chip.is-static b{color:#243235}.editnday .ed-tag{align-items:center;background:#f4f5f5;border-radius:999px;color:#56676a;display:inline-flex;font-size:10px;font-weight:600;height:18px;padding:0 7px;white-space:nowrap}.editnday .ed-tag.is-lav{background:#e6d6f7}.editnday .ed-cta{border:0;border-radius:999px;color:#fff;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;height:38px;position:relative;width:100%}.editnday .ed-cta:disabled{background:#c8cfd0;cursor:not-allowed}.editnday .ed-cta .ed-cta__dot{align-items:center;background:#d3b7f1;border-radius:999px;display:flex;justify-content:center;position:absolute;left:4px;top:4px}.editnday .ed-ghost{background:transparent;border:1px solid #c8cfd0;border-radius:999px;color:#243235;cursor:pointer;font:inherit;font-size:12px;font-weight:500;width:100%}.editnday .ed-iconbtn{background:transparent;border:0;color:#56676a;cursor:pointer;font-size:16px;height:24px;line-height:1;width:24px}.editnday .ed-foot{background:#f4f5f5;border-top:1px solid #e9ecec;bottom:0;display:flex;flex-direction:column;gap:8px;margin:auto -12px 0;padding:10px 12px 12px;position:sticky}.editnday .ed-steps{display:flex;flex-direction:column;gap:9px}.editnday .ed-step{align-items:center;display:flex;font-size:12px;gap:8px;min-width:0}.editnday .ed-step.is-now{font-weight:600}.editnday .ed-step.is-todo{color:#8b9698}.editnday .ed-step .ed-step__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-circ{align-items:center;background:#fff;border:1.5px solid #c8cfd0;border-radius:999px;display:flex;flex:none;height:18px;justify-content:center;width:18px}.editnday .ed-step.is-done .ed-circ{background:#243235;border-color:#243235}.editnday .ed-step.is-now .ed-circ{background:#f3ecfb;border-color:#b48fe0}.editnday .ed-bar{background:#e9ecec;border-radius:999px;display:flex;height:8px;overflow:hidden}.editnday .ed-bar .ed-bar__fill{background:#243235;border-radius:999px;transition:width .4s ease}.editnday .ed-bar .ed-bar__hatch{background:repeating-linear-gradient(-135deg,#d3b7f1 0 6px,transparent 6px 10px);flex:1}.editnday .ed-stats{display:flex;gap:8px}.editnday .ed-stat{background:#fff;border-radius:10px;display:flex;flex:1;flex-direction:column;gap:4px;min-width:0;padding:8px 9px}.editnday .ed-stat .ed-muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-stat__n{color:#111416;font-size:17px;font-weight:600;letter-spacing:-.02em}.editnday .ed-big{color:#111416;font-size:24px;font-weight:600;letter-spacing:-.03em}.editnday .ed-note{background:#fff;border-radius:10px;color:#56676a;font-size:11px;line-height:1.55;padding:8px 10px}.editnday .ed-pastpost{align-items:center;background:#f4f5f5;border-radius:8px;display:flex;gap:8px;padding:8px 10px}.editnday .ed-pastpost>div{flex:1;min-width:0}.editnday .ed-found{background:transparent;border:0;color:#243235;cursor:pointer;font:inherit;font-size:12px;padding:4px 2px;text-align:right}.editnday .ed-found:hover{background:#f4f5f5}.editnday .ed-cov{align-items:flex-start;display:flex;font-size:12px;gap:7px;line-height:1.45}.editnday .ed-cov .ed-cov__q{flex:1;min-width:0}.editnday .ed-covdot{border-radius:999px;flex:none;height:8px;margin-top:5px;width:8px}.editnday .ed-covdot.is-full{background:#243235}.editnday .ed-covdot.is-half{background:linear-gradient(-90deg,#243235 50%,#d3b7f1 0)}.editnday .ed-covdot.is-empty{border:1.5px solid #b48fe0}.editnday .ed-radio{align-items:flex-start;background:#fff;border:1px solid #e9ecec;border-radius:7px;cursor:pointer;display:flex;font-size:12px;gap:7px;line-height:1.45;padding:7px 9px}.editnday .ed-radio input{opacity:0;pointer-events:none;position:absolute}.editnday .ed-rdot{align-items:center;border:1.5px solid #c8cfd0;border-radius:999px;display:flex;flex:none;height:15px;justify-content:center;margin-top:1px;width:15px}.editnday .ed-radio.is-on .ed-rdot{border-color:#243235}.editnday .ed-radio.is-on .ed-rdot:after{background:#243235;border-radius:999px;content:"";height:7px;width:7px}.editnday .ed-sec{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;gap:8px;padding:8px 0}.editnday .ed-sec:first-of-type{border-top:0}.editnday .ed-sec .ed-sec__body{flex:1;min-width:0}.editnday .ed-num{align-items:center;background:#f4f5f5;border-radius:999px;color:#56676a;display:flex;flex:none;font-size:10px;font-weight:700;height:18px;justify-content:center;width:18px}.editnday .ed-video{border-top:1px solid #e9ecec;display:flex;flex-direction:column;gap:8px;padding:10px 0}.editnday .ed-video__head{margin-top:6px}.editnday .ed-video__bar{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between}.editnday .ed-video__actions{display:flex;flex-shrink:0;gap:12px}.editnday .ed-video .ed-link{white-space:nowrap}.editnday .ed-fact{display:flex;flex-direction:column;gap:2px;padding:6px 0 0}.editnday .ed-review__head{align-items:center;background:transparent;border:0;cursor:pointer;display:flex;font:inherit;justify-content:space-between;padding:0}.editnday .ed-quote{background:#f3ecfb;border-radius:8px;color:#111416}.editnday .ed-fix,.editnday .ed-quote{font-size:12px;line-height:1.55;padding:8px 10px}.editnday .ed-fix{border:1px dashed #b48fe0;border-radius:8px}.editnday .ed-seg{display:flex;gap:6px}.editnday .ed-segb{background:#fff;border:1px solid #e1e5e5;border-radius:999px;color:#56676a;cursor:pointer;flex:1;font:inherit;font-size:11px;height:26px}.editnday .ed-segb.is-on{background:#243235;border-color:#243235;color:#fff}.editnday.ed-wide .components-modal__content{background:#f4f5f5}.editnday.ed-wide .ed-wide__body{align-items:start;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:782px){.editnday.ed-wide .ed-wide__body{grid-template-columns:minmax(0,1fr)}}.editnday.ed-wide .ed-sections{grid-row:span 3}.editnday.ed-wide .ed-wide__foot{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.editnday.ed-wide .ed-wide__foot .ed-ghost{padding:0 20px;width:auto}.editnday.ed-wide .ed-wide__foot .ed-cta{width:280px}.editor-header button[aria-controls="editnday:editnday-sidebar"].is-pressed,.interface-pinned-items button[aria-controls="editnday:editnday-sidebar"].is-pressed{background:#243235}.editor-header button[aria-controls="editnday:editnday-sidebar"].is-pressed svg path,.interface-pinned-items button[aria-controls="editnday:editnday-sidebar"].is-pressed svg path{fill:#d3b7f1}.editnday .ed-tasks{gap:0}.editnday .ed-taskwrap{border-top:1px solid #f0f2f2;display:flex;flex-direction:column;gap:6px;padding:7px 0}.editnday .ed-taskwrap:first-child{border-top:0;padding-top:0}.editnday .ed-task{align-items:center;display:flex;font-size:12px;gap:8px;min-width:0}.editnday .ed-task .ed-task__t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.editnday .ed-task .ed-task__t>.ed-muted{display:block;font-size:11px;line-height:1.35}.editnday .ed-tasks>.ed-task{border-top:1px solid #f0f2f2;padding-top:7px}.editnday .ed-circ.is-filled{background:#243235;border-color:#243235}.editnday .ed-circ.is-warn{background:#f3ecfb;border-color:#b48fe0}.editnday .ed-mini{background:#fff;border:1px solid #c8cfd0;border-radius:999px;color:#243235;cursor:pointer;flex:none;font:inherit;font-size:11px;height:24px;padding:0 9px}.editnday .ed-mini.is-plain{border-color:transparent;text-decoration:underline}.editnday .ed-mini.is-done{background:#f3ecfb;border-color:#e6d6f7}.editnday .ed-mini:disabled{cursor:default;opacity:.5}.editnday .ed-redo{display:flex;flex-direction:column;gap:8px}.editnday .ed-redo__title{align-items:center;display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:space-between;margin-top:-2px}.editnday .ed-redo__title>.ed-link{flex-basis:100%;text-align:right}.editnday .ed-redo__title .ed-chips{flex-wrap:nowrap}.editnday .ed-redo__actions{display:flex;flex-direction:column;gap:6px}.editnday .ed-redo .ed-link{align-self:flex-start;white-space:nowrap}.editnday .ed-band{background:#f3ecfb;border-radius:8px;font-size:12px;line-height:1.5;padding:8px 10px}.editnday .ed-band.is-warn{background:#fcf0e3;color:#5c3300}.editnday .ed-band a{font-weight:600}.editnday .ed-prohint{align-self:center;background:none;border:0;color:#6c48b5;cursor:pointer;flex:none;font:inherit;font-size:11px;padding:0;white-space:nowrap}.editnday .ed-prohint:hover{text-decoration:underline}.editnday .ed-prohint__tag{background:#243235;border-radius:999px;color:#e6d6f7;display:inline-block;font-size:9px;font-weight:700;letter-spacing:.06em;line-height:14px;padding:0 5px;vertical-align:1px}.editnday .ed-prohint-row{margin:-4px 30px 6px 0}.editnday .ed-procard{border:1px dashed #d3b7f1}.editnday .ed-koseo__body>.ed-prohint,.editnday .ed-redo>.ed-prohint{align-self:flex-start}.editnday .ed-tpl{border-top:1px dashed #e0e0e0; flex-direction:column;padding-top:8px}.editnday .ed-tpl,.editnday .ed-tpl__swatches{display:flex;gap:6px}.editnday .ed-tpl__sw{border:1px solid rgba(0,0,0,.12);border-radius:8px;cursor:pointer;font-size:13px;font-weight:800;height:32px;width:32px}.editnday .ed-tpl__sw.is-on{box-shadow:0 0 0 2px #fff,0 0 0 4px #8e6bd1}.editnday .ed-tabs{background:#eef0f0;border-radius:999px;display:flex;gap:4px;margin:0 0 12px;padding:4px}.editnday .ed-tab{background:transparent;border:0;border-radius:999px;color:#5f6969;cursor:pointer;flex:1;font:inherit;font-size:12px;height:30px;padding:0 6px;white-space:nowrap}.editnday .ed-tab.is-on{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08);color:#243235;font-weight:600}.editnday .ed-tab:focus-visible{outline:2px solid #b48fe0}.editnday .ed-seomode{font-size:11px;line-height:1.5;margin:0 2px 10px}.editnday .ed-more{align-self:flex-start;margin:2px 2px 8px}.editnday .ed-autosend{font-size:11px;line-height:1.5;margin:4px 2px 0}.editnday .ed-autosend a{color:inherit}.editnday .ed-thumb{aspect-ratio:16/9;border-radius:8px;object-fit:cover;width:100%}.editnday .ed-serp{background:#fff;border:1px solid #e9ecec;border-radius:10px;display:flex;flex-direction:column;gap:3px;padding:10px}.editnday .ed-serp .ed-serp__u{color:#4d5156;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-serp .ed-serp__t{color:#1a0dab;font-size:14px;line-height:1.35}.editnday .ed-serp .ed-serp__d{color:#4d5156;font-size:11.5px;line-height:1.5}.editnday .ed-serp.is-naver .ed-serp__t{color:#001aad;font-weight:600}.editnday .ed-faq{display:flex;flex-direction:column;gap:8px}.editnday .ed-faq__item{display:flex;flex-direction:column;gap:2px}.editnday .ed-link{background:none;border:0;color:#243235;cursor:pointer;font:inherit;padding:0;text-decoration:underline}.editnday .ed-faq__item.is-edit{border-bottom:1px solid #f0f2f2;gap:6px;padding-bottom:8px}.editnday .ed-note.is-error{color:#c2463b}.editnday.ed-prepublish{display:flex;flex-direction:column;gap:8px}.interface-complementary-area:has(.editnday.ed-body),.interface-complementary-area:has(.editnday.ed-body) .components-panel{background:#f4f5f5}@keyframes ed-pulse{0%{box-shadow:0 0 0 0 rgba(180,143,224,.6)}70%{box-shadow:0 0 0 7px rgba(180,143,224,0)}to{box-shadow:0 0 0 0 rgba(180,143,224,0)}}@keyframes ed-hatch{0%{background-position:100% 0}to{background-position:right 28px top 0}}.editnday .ed-live{align-items:center;background:#f3ecfb;border-radius:10px;display:flex;font-size:11.5px;gap:8px;min-width:0;padding:8px 10px}.editnday .ed-live .ed-live__t{color:#243235;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-live .ed-elapsed{flex:none;font-variant-numeric:tabular-nums}.editnday .ed-pulse{background:#b48fe0;border-radius:999px;flex:none;height:8px;width:8px}.editnday .ed-pulse,.editnday .ed-step.is-now .ed-circ{animation:ed-pulse 1.4s ease-out infinite}.editnday .ed-bar.is-busy .ed-bar__hatch{animation:ed-hatch 1.2s linear infinite}@media(prefers-reduced-motion:reduce){.editnday .ed-bar.is-busy .ed-bar__hatch,.editnday .ed-pulse,.editnday .ed-step.is-now .ed-circ{animation:none}}.editnday-header{align-items:center;display:flex;flex:1;gap:8px;min-width:0}.editnday-header img{display:block;height:18px;width:auto}.editnday-header .editnday-header__ver{color:#8b9698;font-size:10.5px;font-variant-numeric:tabular-nums}.editnday-header .editnday-header__pro{background:#243235;border-radius:999px;color:#e6d6f7;font-size:9.5px;font-weight:700;letter-spacing:.06em;line-height:14px;margin-right:-2px;padding:1px 6px}.editnday .ed-busy{align-items:center;color:#243235;display:inline-flex;flex:none;font-size:11px;gap:6px}.editnday .ed-circ.is-busy{animation:ed-pulse 1.4s ease-out infinite;background:#f3ecfb;border-color:#b48fe0}.ed-req,.editnday .ed-req{background:#b48fe0;border-radius:50%;display:inline-block;height:5px;margin-right:4px;vertical-align:middle;width:5px}.ed-opt,.editnday .ed-opt{color:#a3acad;font-size:10px;font-weight:400;margin-right:4px}.editnday :is(.ed-lbl,.components-base-control__label):has(.ed-req){color:#111416;font-weight:700}.editnday :is(.ed-lbl,.components-base-control__label):has(.ed-opt){color:#8b9698;font-weight:500}.editnday :is(.ed-lbl,.components-base-control__label) .ed-muted{font-weight:400}.ed-hint{color:#8b9698;display:block;font-size:11px;margin-bottom:6px}.editnday .ed-small.is-warn{color:#9a5b00;display:block}.editnday .ed-textcheck .ed-textcheck__head{background:none;border:0;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:right;width:100%}.editnday .ed-textcheck .ed-textcheck__head:disabled{cursor:default}.editnday .ed-textcheck .ed-textcheck__sent{background:#f6f2fb;border:1px solid rgba(180,143,224,.45);border-radius:0;color:#3c4646;cursor:pointer;display:block;font:inherit;font-size:11px;line-height:1.5;margin:2px 0;padding:4px 8px;text-align:right;width:100%}.editnday .ed-textcheck .ed-textcheck__sent:hover{background:#efe6f8}.editnday .ed-textcheck .ed-koseo__body>.ed-link{align-self:flex-start;font-size:11px}.editnday .ed-sentences{border-top:1px solid #e1e5e5;display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px}.editnday .ed-sentences .ed-sentences__sec{display:flex;flex-direction:column;gap:2px}.editnday .ed-sentences .ed-sentences__h{color:#243235;font-size:11.5px}.editnday .ed-sentences .ed-sentences__s{align-items:flex-start;background:#fff;border:1px solid #e1e5e5;border-radius:0;color:#3c4646;cursor:pointer;display:flex;font:inherit;font-size:11px;gap:6px;line-height:1.5;margin:0;padding:3px 6px;text-align:right;width:100%}.editnday .ed-sentences .ed-sentences__s:hover{background:#f6f2fb}.editnday .ed-sentences .ed-sentences__s.is-breath{background:#fff9e8;border-color:#e9c46a}.editnday .ed-sentences .ed-sentences__s.is-long{background:#fdf0ec;border-color:#e07a5f}.editnday .ed-sentences .ed-sentences__s.is-flag .ed-sentences__n{color:#b3412a}.editnday .ed-sentences .ed-sentences__n{color:#8b9698;flex:0 0 28px;font-variant-numeric:tabular-nums;text-align:left}.editnday .ed-sentences__toggle{align-self:flex-start;font-size:11px;margin-top:6px}.editnday .ed-koseo .ed-koseo__score{background:#f3ecfb;border-radius:999px;font-size:11px;padding:2px 8px;white-space:nowrap}.editnday .ed-koseo .ed-koseo__score.is-ok{background:#f0f2f2}.editnday .ed-koseo .ed-koseo__kw{align-items:center;display:grid;gap:4px 6px;grid-template-columns:1fr auto}.editnday .ed-koseo .ed-koseo__kw .ed-ghost{padding:0 12px;width:auto}.editnday .ed-koseo .ed-koseo__kw .ed-muted{font-size:11px;grid-column:1/-1}.editnday .ed-koseo .ed-koseo__item{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;font-size:12px;gap:8px;padding-top:7px}.editnday .ed-koseo .ed-koseo__item .ed-circ{flex-shrink:0;margin-top:1px}.editnday .ed-koseo .ed-koseo__body{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.editnday .ed-koseo .ed-koseo__head{align-items:baseline;display:flex;gap:6px;justify-content:space-between}.editnday .ed-koseo .ed-koseo__who{color:#c8cfd0;flex-shrink:0;font-size:10px;white-space:nowrap}.editnday .ed-koseo .ed-koseo__hint{color:#6b7272;font-size:11px;line-height:1.5}.editnday .ed-koseo .ed-koseo__foot{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;flex-direction:column;gap:4px;padding-top:6px}.editnday .ed-koseo .ed-koseo__foot .ed-muted{font-size:11px}.editnday .ed-stepper{display:flex;flex-direction:column;gap:6px;padding:2px 0 6px}.editnday .ed-stepper__flow{align-items:flex-start;display:flex}.editnday .ed-stepper__st{align-items:center;display:flex;flex:none;flex-direction:column;gap:4px;width:64px}.editnday .ed-stepper__dot{align-items:center;background:#fff;border:1.5px solid #c8cfd0;border-radius:50%;color:#8b9698;display:flex;font-size:10px;font-weight:600;height:20px;justify-content:center;width:20px}.editnday .ed-stepper__dot svg{height:11px;width:11px}.editnday .ed-stepper__lbl{color:#8b9698;font-size:10px;line-height:1.25;text-align:center}.editnday .ed-stepper__st.is-done .ed-stepper__dot{background:#243235;border-color:#243235;color:#fff}.editnday .ed-stepper__st.is-done .ed-stepper__lbl{color:#243235}.editnday .ed-stepper__st.is-now .ed-stepper__dot{background:#b48fe0;border-color:#b48fe0;color:#fff}.editnday .ed-stepper__st.is-now .ed-stepper__lbl{color:#243235;font-weight:600}.editnday .ed-stepper__link{align-items:center;display:flex;flex:1;flex-direction:column;gap:2px;min-width:0;padding-top:9px}.editnday .ed-stepper__link .ed-stepper__line{border-top:1.5px dashed #c8cfd0;width:100%}.editnday .ed-stepper__link em{color:#a3acad;font-size:9px;font-style:normal;white-space:nowrap}.editnday .ed-stepper__link.is-done .ed-stepper__line{border-top-color:#243235;border-top-style:solid}.editnday .ed-stepper__link.is-run .ed-stepper__line{animation:ed-stepper-run 1.2s ease-in-out infinite;border-top-color:#b48fe0}.editnday .ed-stepper__link.is-run em{color:#7d55b0;font-weight:600}.editnday .ed-stepper__note{color:#56676a;font-size:11px}@keyframes ed-stepper-run{0%,to{opacity:1}50%{opacity:.35}}.editnday .ed-fold{align-items:baseline;background:none;border:0;color:inherit;cursor:pointer;display:flex;font:inherit;gap:8px;padding:0;text-align:right;width:100%}.editnday .ed-fold .ed-lbl{margin:0}.editnday .ed-fold__v{flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-fold__i{font-size:12px;opacity:.7;text-decoration:underline}.editnday .ed-fold[aria-expanded=true]{margin-bottom:10px}.editnday .ed-preset{font-size:12.5px;margin:-4px 0 10px}.editnday .ed-preset .ed-chips{margin-top:8px}.ed-proinfo ul{list-style:disc;margin:8px 20px 12px 0}.ed-proinfo li{margin-bottom:4px}.ed-proinfo,.editnday{font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Segoe UI,system-ui,sans-serif;letter-spacing:0}.ed-proinfo :not(.ed-covdot):not(.ed-rdot):not(.ed-pulse):not(.ed-cta__dot),.editnday :not(.ed-covdot):not(.ed-rdot):not(.ed-pulse):not(.ed-cta__dot){border-radius:0!important}.editnday{color:#1b1e25}.editnday.ed-body{background:#f6f7f9}.editnday .ed-h{color:#1b1e25;font-weight:650}.editnday .ed-dim,.editnday .ed-muted,.editnday .ed-sub{color:#646c7a}.editnday .ed-lbl{color:#474f5c;font-weight:650}.editnday .ed-card,.editnday .ed-live,.editnday .ed-note,.editnday .ed-pastpost,.editnday .ed-serp,.editnday .ed-stat{background:#fff;border:1px solid #dde0e6;box-shadow:none}.editnday .components-text-control__input,.editnday .components-textarea-control__input,.editnday input[type=text],.editnday input[type=url],.editnday select,.editnday textarea{border:1px solid #7c8494;box-shadow:none}.editnday .components-text-control__input:focus,.editnday .components-textarea-control__input:focus,.editnday textarea:focus{border-color:#243235;box-shadow:0 0 0 1px #243235}.editnday .ed-cta{background:#243235;font-size:13px;font-weight:650;height:36px}.editnday .ed-cta:hover:not(:disabled){background:#1a2527}.editnday .ed-cta:disabled{background:#f0f2f5;border:1px solid #dde0e6;color:#646c7a}.editnday .ed-cta .ed-cta__dot{border-radius:0!important;height:30px;left:3px;top:3px;width:30px}.editnday .ed-ghost{background:#fff;border:1px solid #7c8494;color:#1b1e25;font-weight:600;height:32px}.editnday .ed-ghost:hover:not(:disabled){background:#f0f2f5}.editnday .ed-chip{border:1px solid #7c8494;color:#474f5c;font-weight:500;height:26px}.editnday .ed-chip.is-on{background:#243235;border-color:#243235;color:#fff}.editnday .ed-chip.is-lav{background:#f3ecfb;border-color:#b48fe0;color:#243235}.editnday .ed-tag{background:#fff;border:1px solid #7c8494;color:#474f5c;font-size:10.5px;height:20px;padding:0 6px}.editnday .ed-tag.is-lav{background:#f3ecfb;border-color:#b48fe0;color:#243235}.editnday .ed-tag.is-dark{background:#243235;border-color:#243235;color:#fff}.editnday .ed-stats{background:#fff;border:1px solid #dde0e6;gap:0}.editnday .ed-stat{border:0;border-left:1px solid #dde0e6}.editnday .ed-stat:last-child{border-left:0}.editnday .ed-big,.editnday .ed-koseo__score,.editnday .ed-stat__n{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:0}.editnday .ed-circ{border-radius:0!important}.editnday .ed-bar{background:#f0f2f5}.editnday .ed-note.is-error{background:#fdecea;border:1px solid rgba(180,35,24,.4)}.editnday .ed-segb{border:1px solid #7c8494}.editnday .ed-radio{border:1px solid #dde0e6}.editnday .ed-radio.is-on{border-color:#243235;box-shadow:inset 0 0 0 1px #243235}.ed-proinfo .ed-tabs,.editnday .ed-tabs{background:#fff;border:1px solid #dde0e6;gap:0;padding:0}.ed-proinfo .ed-tab,.editnday .ed-tab{border-left:1px solid #dde0e6;color:#474f5c;height:32px}.ed-proinfo .ed-tab:last-child,.editnday .ed-tab:last-child{border-left:0}.ed-proinfo .ed-tab.is-on,.editnday .ed-tab.is-on{background:#243235;box-shadow:none;color:#fff;font-weight:650}.editnday-header__pro{border-radius:0!important}.editnday .ed-cardhead{align-items:center;background:#fff;border-bottom:1px solid #dde0e6;display:flex;gap:8px;justify-content:space-between;margin:-10px -10px 4px;padding:8px 10px}.editnday .ed-cardhead__t{align-items:center;color:#1b1e25;display:inline-flex;font-size:12.5px;font-weight:650;gap:6px}.editnday .ed-mini.is-strong{background:#243235;border-color:#243235;color:#fff}.editnday .ed-mini.is-strong:disabled{background:#f0f2f5;border-color:#dde0e6;color:#646c7a}.editnday .ed-circ.is-warn{background:#fdf3dc;border-color:#8a5300;color:#8a5300;font-size:11px;font-weight:800;line-height:1}.editnday .ed-kwplace{background:#f0f2f5;border:1px solid #dde0e6;display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:8px 10px}.editnday .ed-kwplace .ed-quote{background:#fff;border:1px solid rgba(180,143,224,.5);color:#1b1e25;display:block;font-size:12px;line-height:1.6;margin:0;padding:6px 8px}.editnday .ed-kwplace .ed-quote.is-new{border-color:rgba(11,122,75,.45)}.editnday .ed-kwfix{display:flex;flex-direction:column;gap:6px;width:100%}.editnday .ed-kwfix .ed-quote{background:#fff;border:1px solid rgba(11,122,75,.45);display:block;font-size:12px;line-height:1.6;padding:6px 8px}.editnday .ed-found.is-on{border-color:#243235;box-shadow:0 0 0 1px #243235}.editnday-header__prover{font-weight:500;letter-spacing:0;margin-right:3px}.ed-kwvol{display:grid;font-size:12px;gap:6px;margin:2px 0 10px}.ed-kwvol p{margin:0}.ed-kwvol__self{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px}.ed-kwvol__comp{border:1px solid #c3c4c7;border-radius:2px;color:#50575e;margin-right:4px;padding:0 6px}.ed-kwvol__comp.is-high{border-color:#d63638;color:#a32022}.ed-kwvol__comp.is-low{border-color:#00a32a;color:#007017}.ed-kwvol__rel{display:grid;gap:4px}.ed-kwvol__chips{display:flex;flex-wrap:wrap;gap:4px}.ed-share{display:grid;gap:6px;margin:6px 0 4px}.ed-share__card{background:#fff;border:1px solid #dcdcde;border-radius:4px;overflow:hidden}.ed-share__img{aspect-ratio:1200/630;background-position:50%;background-size:cover;max-width:100%}.ed-share__text{display:grid;font-size:12px;gap:2px;padding:8px 10px}.ed-share__text strong{font-size:13px;line-height:1.35}.ed-share__desc{color:#50575e;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ed-alttext,.interface-complementary-area .ed-alttext{background:#f6f7f7;border:1px solid #e0e0e0;border-radius:3px;color:#3c434a;font-size:12px;line-height:1.5;margin:2px 30px 8px 0;padding:6px 8px;word-break:keep-all}.ed-aicite .ed-aicite__score{font-variant-numeric:tabular-nums;font-weight:700}.ed-aicite .ed-aicite__score.is-ok{color:#1f8a4c}.ed-aicite .ed-aicite__score.is-warn{color:#996800}.ed-aicite .ed-aicite__score.is-bad{color:#b32d2e}.ed-aicite .ed-aicite__bar{background:#f0f0f1;height:6px;margin:6px 0}.ed-aicite .ed-aicite__bar span{background:#1f8a4c;display:block;height:100%}.ed-aicite .ed-aicite__bar span.is-warn{background:#dba617}.ed-aicite .ed-aicite__bar span.is-bad{background:#d63638}.ed-aicite .ed-aicite__item{align-items:baseline;display:flex;font-size:12px;gap:8px;line-height:1.5;margin:6px 0}.ed-aicite .ed-aicite__pts{color:#1f8a4c;flex:none;font-variant-numeric:tabular-nums;font-weight:700;min-width:28px}1 .editnday{color:#243235;font-size:12px;letter-spacing:-.01em}.editnday *{box-sizing:border-box}.editnday.ed-body{background:#f4f5f5;display:flex;flex-direction:column;gap:8px;min-height:100%;padding:12px 12px 0}.editnday .ed-head{display:flex;flex-direction:column;gap:4px;padding:2px 0}.editnday .ed-eyebrow{color:#8b9698;font-size:11px;font-weight:500}.editnday .ed-h{color:#111416;font-size:15px;font-weight:600;letter-spacing:-.02em;line-height:1.4;margin:0}.editnday .ed-sub{color:#56676a;font-size:11.5px;line-height:1.55;margin:0}.editnday .ed-card{background:#fff;border-radius:10px;display:flex;flex-direction:column;gap:7px;min-width:0;padding:10px}.editnday .ed-lbl{color:#56676a;font-size:11px;font-weight:600}.editnday .ed-muted{color:#8b9698;font-size:11px}.editnday .ed-small{font-size:12px;line-height:1.5}.editnday .ed-strong{font-weight:600}.editnday .ed-dim{color:#56676a}.editnday .ed-faint{color:#c8cfd0}.editnday .ed-row{align-items:center;display:flex;gap:8px;min-width:0}.editnday .ed-between{justify-content:space-between}.editnday .ed-gap6{gap:6px;margin-top:3px}.editnday .components-text-control__input,.editnday .components-textarea-control__input{border-color:#e1e5e5;border-radius:7px;font-size:12px}.editnday .components-base-control__label{color:#56676a;font-size:11px;font-weight:600;text-transform:none}.editnday .ed-chips{display:flex;flex-wrap:wrap;gap:6px}.editnday .ed-chip{align-items:center;background:#fff;border:1px solid #e1e5e5;border-radius:999px;color:#56676a;cursor:pointer;display:inline-flex;font:inherit;font-size:11px;gap:4px;height:24px;padding:0 9px;white-space:nowrap}.editnday .ed-chip .ed-chip__lock{background:rgba(0,0,0,.08);border-radius:999px;font-size:10px;line-height:16px;padding:0 5px}.editnday .ed-chip.is-on .ed-chip__lock{background:hsla(0,0%,100%,.22)}.editnday .ed-chip.is-lav{background:#e6d6f7;border-color:#e6d6f7}.editnday .ed-chip.is-static{cursor:default}.editnday .ed-chip.is-static b{color:#243235}.editnday .ed-tag{align-items:center;background:#f4f5f5;border-radius:999px;color:#56676a;display:inline-flex;font-size:10px;font-weight:600;height:18px;padding:0 7px;white-space:nowrap}.editnday .ed-tag.is-lav{background:#e6d6f7}.editnday .ed-cta{border:0;border-radius:999px;color:#fff;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;height:38px;position:relative;width:100%}.editnday .ed-cta:disabled{background:#c8cfd0;cursor:not-allowed}.editnday .ed-cta .ed-cta__dot{align-items:center;background:#d3b7f1;border-radius:999px;display:flex;justify-content:center;position:absolute;left:4px;top:4px}.editnday .ed-ghost{background:transparent;border:1px solid #c8cfd0;border-radius:999px;color:#243235;cursor:pointer;font:inherit;font-size:12px;font-weight:500;width:100%}.editnday .ed-iconbtn{background:transparent;border:0;color:#56676a;cursor:pointer;font-size:16px;height:24px;line-height:1;width:24px}.editnday .ed-foot{background:#f4f5f5;border-top:1px solid #e9ecec;bottom:0;display:flex;flex-direction:column;gap:8px;margin:auto -12px 0;padding:10px 12px 12px;position:sticky}.editnday .ed-steps{display:flex;flex-direction:column;gap:9px}.editnday .ed-step{align-items:center;display:flex;font-size:12px;gap:8px;min-width:0}.editnday .ed-step.is-now{font-weight:600}.editnday .ed-step.is-todo{color:#8b9698}.editnday .ed-step .ed-step__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-circ{align-items:center;background:#fff;border:1.5px solid #c8cfd0;border-radius:999px;display:flex;flex:none;height:18px;justify-content:center;width:18px}.editnday .ed-step.is-done .ed-circ{background:#243235;border-color:#243235}.editnday .ed-step.is-now .ed-circ{background:#f3ecfb;border-color:#b48fe0}.editnday .ed-bar{background:#e9ecec;border-radius:999px;display:flex;height:8px;overflow:hidden}.editnday .ed-bar .ed-bar__fill{background:#243235;border-radius:999px;transition:width .4s ease}.editnday .ed-bar .ed-bar__hatch{background:repeating-linear-gradient(-135deg,#d3b7f1 0 6px,transparent 6px 10px);flex:1}.editnday .ed-stats{display:flex;gap:8px}.editnday .ed-stat{background:#fff;border-radius:10px;display:flex;flex:1;flex-direction:column;gap:4px;min-width:0;padding:8px 9px}.editnday .ed-stat .ed-muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-stat__n{color:#111416;font-size:17px;font-weight:600;letter-spacing:-.02em}.editnday .ed-big{color:#111416;font-size:24px;font-weight:600;letter-spacing:-.03em}.editnday .ed-note{background:#fff;border-radius:10px;color:#56676a;font-size:11px;line-height:1.55;padding:8px 10px}.editnday .ed-pastpost{align-items:center;background:#f4f5f5;border-radius:8px;display:flex;gap:8px;padding:8px 10px}.editnday .ed-pastpost>div{flex:1;min-width:0}.editnday .ed-found{background:transparent;border:0;color:#243235;cursor:pointer;font:inherit;font-size:12px;padding:4px 2px;text-align:right}.editnday .ed-found:hover{background:#f4f5f5}.editnday .ed-cov{align-items:flex-start;display:flex;font-size:12px;gap:7px;line-height:1.45}.editnday .ed-cov .ed-cov__q{flex:1;min-width:0}.editnday .ed-covdot{border-radius:999px;flex:none;height:8px;margin-top:5px;width:8px}.editnday .ed-covdot.is-full{background:#243235}.editnday .ed-covdot.is-half{background:linear-gradient(-90deg,#243235 50%,#d3b7f1 0)}.editnday .ed-covdot.is-empty{border:1.5px solid #b48fe0}.editnday .ed-radio{align-items:flex-start;background:#fff;border:1px solid #e9ecec;border-radius:7px;cursor:pointer;display:flex;font-size:12px;gap:7px;line-height:1.45;padding:7px 9px}.editnday .ed-radio input{opacity:0;pointer-events:none;position:absolute}.editnday .ed-rdot{align-items:center;border:1.5px solid #c8cfd0;border-radius:999px;display:flex;flex:none;height:15px;justify-content:center;margin-top:1px;width:15px}.editnday .ed-radio.is-on .ed-rdot{border-color:#243235}.editnday .ed-radio.is-on .ed-rdot:after{background:#243235;border-radius:999px;content:"";height:7px;width:7px}.editnday .ed-sec{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;gap:8px;padding:8px 0}.editnday .ed-sec:first-of-type{border-top:0}.editnday .ed-sec .ed-sec__body{flex:1;min-width:0}.editnday .ed-num{align-items:center;background:#f4f5f5;border-radius:999px;color:#56676a;display:flex;flex:none;font-size:10px;font-weight:700;height:18px;justify-content:center;width:18px}.editnday .ed-video{border-top:1px solid #e9ecec;display:flex;flex-direction:column;gap:8px;padding:10px 0}.editnday .ed-video__head{margin-top:6px}.editnday .ed-video__bar{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between}.editnday .ed-video__actions{display:flex;flex-shrink:0;gap:12px}.editnday .ed-video .ed-link{white-space:nowrap}.editnday .ed-fact{display:flex;flex-direction:column;gap:2px;padding:6px 0 0}.editnday .ed-review__head{align-items:center;background:transparent;border:0;cursor:pointer;display:flex;font:inherit;justify-content:space-between;padding:0}.editnday .ed-quote{background:#f3ecfb;border-radius:8px;color:#111416}.editnday .ed-fix,.editnday .ed-quote{font-size:12px;line-height:1.55;padding:8px 10px}.editnday .ed-fix{border:1px dashed #b48fe0;border-radius:8px}.editnday .ed-seg{display:flex;gap:6px}.editnday .ed-segb{background:#fff;border:1px solid #e1e5e5;border-radius:999px;color:#56676a;cursor:pointer;flex:1;font:inherit;font-size:11px;height:26px}.editnday .ed-segb.is-on{background:#243235;border-color:#243235;color:#fff}.editnday.ed-wide .components-modal__content{background:#f4f5f5}.editnday.ed-wide .ed-wide__body{align-items:start;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:782px){.editnday.ed-wide .ed-wide__body{grid-template-columns:minmax(0,1fr)}}.editnday.ed-wide .ed-sections{grid-row:span 3}.editnday.ed-wide .ed-wide__foot{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.editnday.ed-wide .ed-wide__foot .ed-ghost{padding:0 20px;width:auto}.editnday.ed-wide .ed-wide__foot .ed-cta{width:280px}.editor-header button[aria-controls="editnday:editnday-sidebar"].is-pressed,.interface-pinned-items button[aria-controls="editnday:editnday-sidebar"].is-pressed{background:#243235}.editor-header button[aria-controls="editnday:editnday-sidebar"].is-pressed svg path,.interface-pinned-items button[aria-controls="editnday:editnday-sidebar"].is-pressed svg path{fill:#d3b7f1}.editnday .ed-tasks{gap:0}.editnday .ed-taskwrap{border-top:1px solid #f0f2f2;display:flex;flex-direction:column;gap:6px;padding:7px 0}.editnday .ed-taskwrap:first-child{border-top:0;padding-top:0}.editnday .ed-task{align-items:center;display:flex;font-size:12px;gap:8px;min-width:0}.editnday .ed-task .ed-task__t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.editnday .ed-task .ed-task__t>.ed-muted{display:block;font-size:11px;line-height:1.35}.editnday .ed-tasks>.ed-task{border-top:1px solid #f0f2f2;padding-top:7px}.editnday .ed-circ.is-filled{background:#243235;border-color:#243235}.editnday .ed-circ.is-warn{background:#f3ecfb;border-color:#b48fe0}.editnday .ed-mini{background:#fff;border:1px solid #c8cfd0;border-radius:999px;color:#243235;cursor:pointer;flex:none;font:inherit;font-size:11px;height:24px;padding:0 9px}.editnday .ed-mini.is-plain{border-color:transparent;text-decoration:underline}.editnday .ed-mini.is-done{background:#f3ecfb;border-color:#e6d6f7}.editnday .ed-mini:disabled{cursor:default;opacity:.5}.editnday .ed-redo{display:flex;flex-direction:column;gap:8px}.editnday .ed-redo__title{align-items:center;display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:space-between;margin-top:-2px}.editnday .ed-redo__title>.ed-link{flex-basis:100%;text-align:right}.editnday .ed-redo__title .ed-chips{flex-wrap:nowrap}.editnday .ed-redo__actions{display:flex;flex-direction:column;gap:6px}.editnday .ed-redo .ed-link{align-self:flex-start;white-space:nowrap}.editnday .ed-band{background:#f3ecfb;border-radius:8px;font-size:12px;line-height:1.5;padding:8px 10px}.editnday .ed-band.is-warn{background:#fcf0e3;color:#5c3300}.editnday .ed-band a{font-weight:600}.editnday .ed-prohint{align-self:center;background:none;border:0;color:#6c48b5;cursor:pointer;flex:none;font:inherit;font-size:11px;padding:0;white-space:nowrap}.editnday .ed-prohint:hover{text-decoration:underline}.editnday .ed-prohint__tag{background:#243235;border-radius:999px;color:#e6d6f7;display:inline-block;font-size:9px;font-weight:700;letter-spacing:.06em;line-height:14px;padding:0 5px;vertical-align:1px}.editnday .ed-prohint-row{margin:-4px 30px 6px 0}.editnday .ed-procard{border:1px dashed #d3b7f1}.editnday .ed-koseo__body>.ed-prohint,.editnday .ed-redo>.ed-prohint{align-self:flex-start}.editnday .ed-tpl{border-top:1px dashed #e0e0e0;display:flex;flex-direction:column;gap:6px;padding-top:8px}.editnday .ed-tpl__swatches{display:flex;flex-wrap:wrap;gap:6px}.editnday .ed-tpl__row{align-items:start;column-gap:8px;display:grid;grid-template-columns:34px 1fr}.editnday .ed-tpl__label{color:#50575e;font-size:11px;font-weight:600;line-height:26px}.editnday .ed-tpl__sw--custom{background:#fff;border-style:dashed;color:#50575e;font-size:16px;font-weight:500}.editnday .ed-tpl__color{align-items:center;display:inline-flex;gap:6px}.editnday .ed-tpl__color input[type=color]{background:#fff;border:1px solid #c3c4c7;border-radius:4px;cursor:pointer;height:26px;padding:2px;width:28px}.editnday .ed-tpl__color input[type=text]{border:1px solid #c3c4c7;border-radius:4px;font-family:ui-monospace,Menlo,monospace;font-size:12px;height:26px;min-height:26px;padding:0 8px;text-transform:uppercase;width:88px}.editnday .ed-tpl__preview{border:1px solid rgba(0,0,0,.1);border-radius:6px;display:block;margin:2px auto 0;max-height:220px;max-width:100%}.editnday .ed-tpl__sw{border:1px solid rgba(0,0,0,.12);border-radius:8px;cursor:pointer;font-size:13px;font-weight:800;height:32px;width:32px}.editnday .ed-tpl__sw.is-on{box-shadow:0 0 0 2px #fff,0 0 0 4px #8e6bd1}.editnday .ed-tabs{background:#eef0f0;border-radius:999px;display:flex;gap:4px;margin:0 0 12px;padding:4px}.editnday .ed-tab{background:transparent;border:0;border-radius:999px;color:#5f6969;cursor:pointer;flex:1;font:inherit;font-size:12px;height:30px;padding:0 6px;white-space:nowrap}.editnday .ed-tab.is-on{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08);color:#243235;font-weight:600}.editnday .ed-tab:focus-visible{outline:2px solid #b48fe0}.editnday .ed-seomode{font-size:11px;line-height:1.5;margin:0 2px 10px}.editnday .ed-more{align-self:flex-start;margin:2px 2px 8px}.editnday .ed-autosend{font-size:11px;line-height:1.5;margin:4px 2px 0}.editnday .ed-autosend a{color:inherit}.editnday .ed-thumb{aspect-ratio:16/9;border-radius:8px;object-fit:cover;width:100%}.editnday .ed-serp{background:#fff;border:1px solid #e9ecec;border-radius:10px;display:flex;flex-direction:column;gap:3px;padding:10px}.editnday .ed-serp .ed-serp__u{color:#4d5156;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-serp .ed-serp__t{color:#1a0dab;font-size:14px;line-height:1.35}.editnday .ed-serp .ed-serp__d{color:#4d5156;font-size:11.5px;line-height:1.5}.editnday .ed-serp.is-naver .ed-serp__t{color:#001aad;font-weight:600}.editnday .ed-faq{display:flex;flex-direction:column;gap:8px}.editnday .ed-faq__item{display:flex;flex-direction:column;gap:2px}.editnday .ed-link{background:none;border:0;color:#243235;cursor:pointer;font:inherit;padding:0;text-decoration:underline}.editnday .ed-faq__item.is-edit{border-bottom:1px solid #f0f2f2;gap:6px;padding-bottom:8px}.editnday .ed-note.is-error{color:#c2463b}.editnday.ed-prepublish{display:flex;flex-direction:column;gap:8px}.interface-complementary-area:has(.editnday.ed-body),.interface-complementary-area:has(.editnday.ed-body) .components-panel{background:#f4f5f5}@keyframes ed-pulse{0%{box-shadow:0 0 0 0 rgba(180,143,224,.6)}70%{box-shadow:0 0 0 7px rgba(180,143,224,0)}to{box-shadow:0 0 0 0 rgba(180,143,224,0)}}@keyframes ed-hatch{0%{background-position:100% 0}to{background-position:right 28px top 0}}.editnday .ed-live{align-items:center;background:#f3ecfb;border-radius:10px;display:flex;font-size:11.5px;gap:8px;min-width:0;padding:8px 10px}.editnday .ed-live .ed-live__t{color:#243235;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-live .ed-elapsed{flex:none;font-variant-numeric:tabular-nums}.editnday .ed-pulse{background:#b48fe0;border-radius:999px;flex:none;height:8px;width:8px}.editnday .ed-pulse,.editnday .ed-step.is-now .ed-circ{animation:ed-pulse 1.4s ease-out infinite}.editnday .ed-bar.is-busy .ed-bar__hatch{animation:ed-hatch 1.2s linear infinite}@media(prefers-reduced-motion:reduce){.editnday .ed-bar.is-busy .ed-bar__hatch,.editnday .ed-pulse,.editnday .ed-step.is-now .ed-circ{animation:none}}.editnday-header{align-items:center;display:flex;flex:1;gap:8px;min-width:0}.editnday-header img{display:block;height:18px;width:auto}.editnday-header .editnday-header__ver{color:#8b9698;font-size:10.5px;font-variant-numeric:tabular-nums}.editnday-header .editnday-header__pro{background:#243235;border-radius:999px;color:#e6d6f7;font-size:9.5px;font-weight:700;letter-spacing:.06em;line-height:14px;margin-right:-2px;padding:1px 6px}.editnday .ed-busy{align-items:center;color:#243235;display:inline-flex;flex:none;font-size:11px;gap:6px}.editnday .ed-circ.is-busy{animation:ed-pulse 1.4s ease-out infinite;background:#f3ecfb;border-color:#b48fe0}.ed-req,.editnday .ed-req{background:#b48fe0;border-radius:50%;display:inline-block;height:5px;margin-right:4px;vertical-align:middle;width:5px}.ed-opt,.editnday .ed-opt{color:#a3acad;font-size:10px;font-weight:400;margin-right:4px}.editnday :is(.ed-lbl,.components-base-control__label):has(.ed-req){color:#111416;font-weight:700}.editnday :is(.ed-lbl,.components-base-control__label):has(.ed-opt){color:#8b9698;font-weight:500}.editnday :is(.ed-lbl,.components-base-control__label) .ed-muted{font-weight:400}.ed-hint{color:#8b9698;display:block;font-size:11px;margin-bottom:6px}.editnday .ed-small.is-warn{color:#9a5b00;display:block}.editnday .ed-textcheck .ed-textcheck__head{background:none;border:0;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:right;width:100%}.editnday .ed-textcheck .ed-textcheck__head:disabled{cursor:default}.editnday .ed-textcheck .ed-textcheck__sent{background:#f6f2fb;border:1px solid rgba(180,143,224,.45);border-radius:0;color:#3c4646;cursor:pointer;display:block;font:inherit;font-size:11px;line-height:1.5;margin:2px 0;padding:4px 8px;text-align:right;width:100%}.editnday .ed-textcheck .ed-textcheck__sent:hover{background:#efe6f8}.editnday .ed-textcheck .ed-koseo__body>.ed-link{align-self:flex-start;font-size:11px}.editnday .ed-sentences{border-top:1px solid #e1e5e5;display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px}.editnday .ed-sentences .ed-sentences__sec{display:flex;flex-direction:column;gap:2px}.editnday .ed-sentences .ed-sentences__h{color:#243235;font-size:11.5px}.editnday .ed-sentences .ed-sentences__s{align-items:flex-start;background:#fff;border:1px solid #e1e5e5;border-radius:0;color:#3c4646;cursor:pointer;display:flex;font:inherit;font-size:11px;gap:6px;line-height:1.5;margin:0;padding:3px 6px;text-align:right;width:100%}.editnday .ed-sentences .ed-sentences__s:hover{background:#f6f2fb}.editnday .ed-sentences .ed-sentences__s.is-breath{background:#fff9e8;border-color:#e9c46a}.editnday .ed-sentences .ed-sentences__s.is-long{background:#fdf0ec;border-color:#e07a5f}.editnday .ed-sentences .ed-sentences__s.is-flag .ed-sentences__n{color:#b3412a}.editnday .ed-sentences .ed-sentences__n{color:#8b9698;flex:0 0 28px;font-variant-numeric:tabular-nums;text-align:left}.editnday .ed-sentences__toggle{align-self:flex-start;font-size:11px;margin-top:6px}.editnday .ed-koseo .ed-koseo__score{background:#f3ecfb;border-radius:999px;font-size:11px;padding:2px 8px;white-space:nowrap}.editnday .ed-koseo .ed-koseo__score.is-ok{background:#f0f2f2}.editnday .ed-koseo .ed-koseo__kw{align-items:center;display:grid;gap:4px 6px;grid-template-columns:1fr auto}.editnday .ed-koseo .ed-koseo__kw .ed-ghost{padding:0 12px;width:auto}.editnday .ed-koseo .ed-koseo__kw .ed-muted{font-size:11px;grid-column:1/-1}.editnday .ed-koseo .ed-koseo__item{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;font-size:12px;gap:8px;padding-top:7px}.editnday .ed-koseo .ed-koseo__item .ed-circ{flex-shrink:0;margin-top:1px}.editnday .ed-koseo .ed-koseo__body{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.editnday .ed-koseo .ed-koseo__head{align-items:baseline;display:flex;gap:6px;justify-content:space-between}.editnday .ed-koseo .ed-koseo__who{color:#c8cfd0;flex-shrink:0;font-size:10px;white-space:nowrap}.editnday .ed-koseo .ed-koseo__hint{color:#6b7272;font-size:11px;line-height:1.5}.editnday .ed-koseo .ed-koseo__foot{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;flex-direction:column;gap:4px;padding-top:6px}.editnday .ed-koseo .ed-koseo__foot .ed-muted{font-size:11px}.editnday .ed-stepper{display:flex;flex-direction:column;gap:6px;padding:2px 0 6px}.editnday .ed-stepper__flow{align-items:flex-start;display:flex}.editnday .ed-stepper__st{align-items:center;display:flex;flex:none;flex-direction:column;gap:4px;width:64px}.editnday .ed-stepper__dot{align-items:center;background:#fff;border:1.5px solid #c8cfd0;border-radius:50%;color:#8b9698;display:flex;font-size:10px;font-weight:600;height:20px;justify-content:center;width:20px}.editnday .ed-stepper__dot svg{height:11px;width:11px}.editnday .ed-stepper__lbl{color:#8b9698;font-size:10px;line-height:1.25;text-align:center}.editnday .ed-stepper__st.is-done .ed-stepper__dot{background:#243235;border-color:#243235;color:#fff}.editnday .ed-stepper__st.is-done .ed-stepper__lbl{color:#243235}.editnday .ed-stepper__st.is-now .ed-stepper__dot{background:#b48fe0;border-color:#b48fe0;color:#fff}.editnday .ed-stepper__st.is-now .ed-stepper__lbl{color:#243235;font-weight:600}.editnday .ed-stepper__link{align-items:center;display:flex;flex:1;flex-direction:column;gap:2px;min-width:0;padding-top:9px}.editnday .ed-stepper__link .ed-stepper__line{border-top:1.5px dashed #c8cfd0;width:100%}.editnday .ed-stepper__link em{color:#a3acad;font-size:9px;font-style:normal;white-space:nowrap}.editnday .ed-stepper__link.is-done .ed-stepper__line{border-top-color:#243235;border-top-style:solid}.editnday .ed-stepper__link.is-run .ed-stepper__line{animation:ed-stepper-run 1.2s ease-in-out infinite;border-top-color:#b48fe0}.editnday .ed-stepper__link.is-run em{color:#7d55b0;font-weight:600}.editnday .ed-stepper__note{color:#56676a;font-size:11px}@keyframes ed-stepper-run{0%,to{opacity:1}50%{opacity:.35}}.editnday .ed-fold{align-items:baseline;background:none;border:0;color:inherit;cursor:pointer;display:flex;font:inherit;gap:8px;padding:0;text-align:right;width:100%}.editnday .ed-fold .ed-lbl{margin:0}.editnday .ed-fold__v{flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-fold__i{font-size:12px;opacity:.7;text-decoration:underline}.editnday .ed-fold[aria-expanded=true]{margin-bottom:10px}.editnday .ed-preset{font-size:12.5px;margin:-4px 0 10px}.editnday .ed-preset .ed-chips{margin-top:8px}.ed-proinfo ul{list-style:disc;margin:8px 20px 12px 0}.ed-proinfo li{margin-bottom:4px}.ed-proinfo,.editnday{font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Segoe UI,system-ui,sans-serif;letter-spacing:0}.ed-proinfo :not(.ed-covdot):not(.ed-rdot):not(.ed-pulse):not(.ed-cta__dot),.editnday :not(.ed-covdot):not(.ed-rdot):not(.ed-pulse):not(.ed-cta__dot){border-radius:0!important}.editnday{color:#1b1e25}.editnday.ed-body{background:#f6f7f9}.editnday .ed-h{color:#1b1e25;font-weight:650}.editnday .ed-dim,.editnday .ed-muted,.editnday .ed-sub{color:#646c7a}.editnday .ed-lbl{color:#474f5c;font-weight:650}.editnday .ed-card,.editnday .ed-live,.editnday .ed-note,.editnday .ed-pastpost,.editnday .ed-serp,.editnday .ed-stat{background:#fff;border:1px solid #dde0e6;box-shadow:none}.editnday .components-text-control__input,.editnday .components-textarea-control__input,.editnday input[type=text],.editnday input[type=url],.editnday select,.editnday textarea{border:1px solid #7c8494;box-shadow:none}.editnday .components-text-control__input:focus,.editnday .components-textarea-control__input:focus,.editnday textarea:focus{border-color:#243235;box-shadow:0 0 0 1px #243235}.editnday .ed-cta{background:#243235;font-size:13px;font-weight:650;height:36px}.editnday .ed-cta:hover:not(:disabled){background:#1a2527}.editnday .ed-cta:disabled{background:#f0f2f5;border:1px solid #dde0e6;color:#646c7a}.editnday .ed-cta .ed-cta__dot{border-radius:0!important;height:30px;left:3px;top:3px;width:30px}.editnday .ed-ghost{background:#fff;border:1px solid #7c8494;color:#1b1e25;font-weight:600;height:32px}.editnday .ed-ghost:hover:not(:disabled){background:#f0f2f5}.editnday .ed-chip{border:1px solid #7c8494;color:#474f5c;font-weight:500;height:26px}.editnday .ed-chip.is-on{background:#243235;border-color:#243235;color:#fff}.editnday .ed-chip.is-lav{background:#f3ecfb;border-color:#b48fe0;color:#243235}.editnday .ed-tag{background:#fff;border:1px solid #7c8494;color:#474f5c;font-size:10.5px;height:20px;padding:0 6px}.editnday .ed-tag.is-lav{background:#f3ecfb;border-color:#b48fe0;color:#243235}.editnday .ed-tag.is-dark{background:#243235;border-color:#243235;color:#fff}.editnday .ed-stats{background:#fff;border:1px solid #dde0e6;gap:0}.editnday .ed-stat{border:0;border-left:1px solid #dde0e6}.editnday .ed-stat:last-child{border-left:0}.editnday .ed-big,.editnday .ed-koseo__score,.editnday .ed-stat__n{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:0}.editnday .ed-circ{border-radius:0!important}.editnday .ed-bar{background:#f0f2f5}.editnday .ed-note.is-error{background:#fdecea;border:1px solid rgba(180,35,24,.4)}.editnday .ed-segb{border:1px solid #7c8494}.editnday .ed-radio{border:1px solid #dde0e6}.editnday .ed-radio.is-on{border-color:#243235;box-shadow:inset 0 0 0 1px #243235}.ed-proinfo .ed-tabs,.editnday .ed-tabs{background:#fff;border:1px solid #dde0e6;gap:0;padding:0}.ed-proinfo .ed-tab,.editnday .ed-tab{border-left:1px solid #dde0e6;color:#474f5c;height:32px}.ed-proinfo .ed-tab:last-child,.editnday .ed-tab:last-child{border-left:0}.ed-proinfo .ed-tab.is-on,.editnday .ed-tab.is-on{background:#243235;box-shadow:none;color:#fff;font-weight:650}.editnday-header__pro{border-radius:0!important}.editnday .ed-cardhead{align-items:center;background:#fff;border-bottom:1px solid #dde0e6;display:flex;gap:8px;justify-content:space-between;margin:-10px -10px 4px;padding:8px 10px}.editnday .ed-cardhead__t{align-items:center;color:#1b1e25;display:inline-flex;font-size:12.5px;font-weight:650;gap:6px}.editnday .ed-mini.is-strong{background:#243235;border-color:#243235;color:#fff}.editnday .ed-mini.is-strong:disabled{background:#f0f2f5;border-color:#dde0e6;color:#646c7a}.editnday .ed-circ.is-warn{background:#fdf3dc;border-color:#8a5300;color:#8a5300;font-size:11px;font-weight:800;line-height:1}.editnday .ed-kwplace{background:#f0f2f5;border:1px solid #dde0e6;display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:8px 10px}.editnday .ed-kwplace .ed-quote{background:#fff;border:1px solid rgba(180,143,224,.5);color:#1b1e25;display:block;font-size:12px;line-height:1.6;margin:0;padding:6px 8px}.editnday .ed-kwplace .ed-quote.is-new{border-color:rgba(11,122,75,.45)}.editnday .ed-kwfix{display:flex;flex-direction:column;gap:6px;width:100%}.editnday .ed-kwfix .ed-quote{background:#fff;border:1px solid rgba(11,122,75,.45);display:block;font-size:12px;line-height:1.6;padding:6px 8px}.editnday .ed-found.is-on{border-color:#243235;box-shadow:0 0 0 1px #243235}.editnday-header__prover{font-weight:500;letter-spacing:0;margin-right:3px}.ed-kwvol{display:grid;font-size:12px;gap:6px;margin:2px 0 10px}.ed-kwvol p{margin:0}.ed-kwvol__self{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px}.ed-kwvol__comp{border:1px solid #c3c4c7;border-radius:2px;color:#50575e;margin-right:4px;padding:0 6px}.ed-kwvol__comp.is-high{border-color:#d63638;color:#a32022}.ed-kwvol__comp.is-low{border-color:#00a32a;color:#007017}.ed-kwvol__rel{display:grid;gap:4px}.ed-kwvol__chips{display:flex;flex-wrap:wrap;gap:4px}.ed-share{display:grid;gap:6px;margin:6px 0 4px}.ed-share__card{background:#fff;border:1px solid #dcdcde;border-radius:4px;overflow:hidden}.ed-share__img{aspect-ratio:1200/630;background-position:50%;background-size:cover;max-width:100%}.ed-share__text{display:grid;font-size:12px;gap:2px;padding:8px 10px}.ed-share__text strong{font-size:13px;line-height:1.35}.ed-share__desc{color:#50575e;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ed-alttext,.interface-complementary-area .ed-alttext{background:#f6f7f7;border:1px solid #e0e0e0;border-radius:3px;color:#3c434a;font-size:12px;line-height:1.5;margin:2px 30px 8px 0;padding:6px 8px;word-break:keep-all}.ed-aicite .ed-aicite__score{font-variant-numeric:tabular-nums;font-weight:700}.ed-aicite .ed-aicite__score.is-ok{color:#1f8a4c}.ed-aicite .ed-aicite__score.is-warn{color:#996800}.ed-aicite .ed-aicite__score.is-bad{color:#b32d2e}.ed-aicite .ed-aicite__bar{background:#f0f0f1;height:6px;margin:6px 0}.ed-aicite .ed-aicite__bar span{background:#1f8a4c;display:block;height:100%}.ed-aicite .ed-aicite__bar span.is-warn{background:#dba617}.ed-aicite .ed-aicite__bar span.is-bad{background:#d63638}.ed-aicite .ed-aicite__item{align-items:baseline;display:flex;font-size:12px;gap:8px;line-height:1.5;margin:6px 0}.ed-aicite .ed-aicite__pts{color:#1f8a4c;flex:none;font-variant-numeric:tabular-nums;font-weight:700;min-width:28px} -
editnday/tags/1.0.88/build/style-index.css
r3742866 r3747744 1 .editnday{color:#243235;font-size:12px;letter-spacing:-.01em}.editnday *{box-sizing:border-box}.editnday.ed-body{background:#f4f5f5;display:flex;flex-direction:column;gap:8px;min-height:100%;padding:12px 12px 0}.editnday .ed-head{display:flex;flex-direction:column;gap:4px;padding:2px 0}.editnday .ed-eyebrow{color:#8b9698;font-size:11px;font-weight:500}.editnday .ed-h{color:#111416;font-size:15px;font-weight:600;letter-spacing:-.02em;line-height:1.4;margin:0}.editnday .ed-sub{color:#56676a;font-size:11.5px;line-height:1.55;margin:0}.editnday .ed-card{background:#fff;border-radius:10px;display:flex;flex-direction:column;gap:7px;min-width:0;padding:10px}.editnday .ed-lbl{color:#56676a;font-size:11px;font-weight:600}.editnday .ed-muted{color:#8b9698;font-size:11px}.editnday .ed-small{font-size:12px;line-height:1.5}.editnday .ed-strong{font-weight:600}.editnday .ed-dim{color:#56676a}.editnday .ed-faint{color:#c8cfd0}.editnday .ed-row{align-items:center;display:flex;gap:8px;min-width:0}.editnday .ed-between{justify-content:space-between}.editnday .ed-gap6{gap:6px;margin-top:3px}.editnday .components-text-control__input,.editnday .components-textarea-control__input{border-color:#e1e5e5;border-radius:7px;font-size:12px}.editnday .components-base-control__label{color:#56676a;font-size:11px;font-weight:600;text-transform:none}.editnday .ed-chips{display:flex;flex-wrap:wrap;gap:6px}.editnday .ed-chip{align-items:center;background:#fff;border:1px solid #e1e5e5;border-radius:999px;color:#56676a;cursor:pointer;display:inline-flex;font:inherit;font-size:11px;gap:4px;height:24px;padding:0 9px;white-space:nowrap}.editnday .ed-chip .ed-chip__lock{background:rgba(0,0,0,.08);border-radius:999px;font-size:10px;line-height:16px;padding:0 5px}.editnday .ed-chip.is-on .ed-chip__lock{background:hsla(0,0%,100%,.22)}.editnday .ed-chip.is-lav{background:#e6d6f7;border-color:#e6d6f7}.editnday .ed-chip.is-static{cursor:default}.editnday .ed-chip.is-static b{color:#243235}.editnday .ed-tag{align-items:center;background:#f4f5f5;border-radius:999px;color:#56676a;display:inline-flex;font-size:10px;font-weight:600;height:18px;padding:0 7px;white-space:nowrap}.editnday .ed-tag.is-lav{background:#e6d6f7}.editnday .ed-cta{border:0;border-radius:999px;color:#fff;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;height:38px;position:relative;width:100%}.editnday .ed-cta:disabled{background:#c8cfd0;cursor:not-allowed}.editnday .ed-cta .ed-cta__dot{align-items:center;background:#d3b7f1;border-radius:999px;display:flex;justify-content:center;position:absolute;right:4px;top:4px}.editnday .ed-ghost{background:transparent;border:1px solid #c8cfd0;border-radius:999px;color:#243235;cursor:pointer;font:inherit;font-size:12px;font-weight:500;width:100%}.editnday .ed-iconbtn{background:transparent;border:0;color:#56676a;cursor:pointer;font-size:16px;height:24px;line-height:1;width:24px}.editnday .ed-foot{background:#f4f5f5;border-top:1px solid #e9ecec;bottom:0;display:flex;flex-direction:column;gap:8px;margin:auto -12px 0;padding:10px 12px 12px;position:sticky}.editnday .ed-steps{display:flex;flex-direction:column;gap:9px}.editnday .ed-step{align-items:center;display:flex;font-size:12px;gap:8px;min-width:0}.editnday .ed-step.is-now{font-weight:600}.editnday .ed-step.is-todo{color:#8b9698}.editnday .ed-step .ed-step__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-circ{align-items:center;background:#fff;border:1.5px solid #c8cfd0;border-radius:999px;display:flex;flex:none;height:18px;justify-content:center;width:18px}.editnday .ed-step.is-done .ed-circ{background:#243235;border-color:#243235}.editnday .ed-step.is-now .ed-circ{background:#f3ecfb;border-color:#b48fe0}.editnday .ed-bar{background:#e9ecec;border-radius:999px;display:flex;height:8px;overflow:hidden}.editnday .ed-bar .ed-bar__fill{background:#243235;border-radius:999px;transition:width .4s ease}.editnday .ed-bar .ed-bar__hatch{background:repeating-linear-gradient(135deg,#d3b7f1 0 6px,transparent 6px 10px);flex:1}.editnday .ed-stats{display:flex;gap:8px}.editnday .ed-stat{background:#fff;border-radius:10px;display:flex;flex:1;flex-direction:column;gap:4px;min-width:0;padding:8px 9px}.editnday .ed-stat .ed-muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-stat__n{color:#111416;font-size:17px;font-weight:600;letter-spacing:-.02em}.editnday .ed-big{color:#111416;font-size:24px;font-weight:600;letter-spacing:-.03em}.editnday .ed-note{background:#fff;border-radius:10px;color:#56676a;font-size:11px;line-height:1.55;padding:8px 10px}.editnday .ed-pastpost{align-items:center;background:#f4f5f5;border-radius:8px;display:flex;gap:8px;padding:8px 10px}.editnday .ed-pastpost>div{flex:1;min-width:0}.editnday .ed-found{background:transparent;border:0;color:#243235;cursor:pointer;font:inherit;font-size:12px;padding:4px 2px;text-align:left}.editnday .ed-found:hover{background:#f4f5f5}.editnday .ed-cov{align-items:flex-start;display:flex;font-size:12px;gap:7px;line-height:1.45}.editnday .ed-cov .ed-cov__q{flex:1;min-width:0}.editnday .ed-covdot{border-radius:999px;flex:none;height:8px;margin-top:5px;width:8px}.editnday .ed-covdot.is-full{background:#243235}.editnday .ed-covdot.is-half{background:linear-gradient(90deg,#243235 50%,#d3b7f1 0)}.editnday .ed-covdot.is-empty{border:1.5px solid #b48fe0}.editnday .ed-radio{align-items:flex-start;background:#fff;border:1px solid #e9ecec;border-radius:7px;cursor:pointer;display:flex;font-size:12px;gap:7px;line-height:1.45;padding:7px 9px}.editnday .ed-radio input{opacity:0;pointer-events:none;position:absolute}.editnday .ed-rdot{align-items:center;border:1.5px solid #c8cfd0;border-radius:999px;display:flex;flex:none;height:15px;justify-content:center;margin-top:1px;width:15px}.editnday .ed-radio.is-on .ed-rdot{border-color:#243235}.editnday .ed-radio.is-on .ed-rdot:after{background:#243235;border-radius:999px;content:"";height:7px;width:7px}.editnday .ed-sec{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;gap:8px;padding:8px 0}.editnday .ed-sec:first-of-type{border-top:0}.editnday .ed-sec .ed-sec__body{flex:1;min-width:0}.editnday .ed-num{align-items:center;background:#f4f5f5;border-radius:999px;color:#56676a;display:flex;flex:none;font-size:10px;font-weight:700;height:18px;justify-content:center;width:18px}.editnday .ed-video{border-top:1px solid #e9ecec;display:flex;flex-direction:column;gap:8px;padding:10px 0}.editnday .ed-video__head{margin-top:6px}.editnday .ed-video__bar{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between}.editnday .ed-video__actions{display:flex;flex-shrink:0;gap:12px}.editnday .ed-video .ed-link{white-space:nowrap}.editnday .ed-fact{display:flex;flex-direction:column;gap:2px;padding:6px 0 0}.editnday .ed-review__head{align-items:center;background:transparent;border:0;cursor:pointer;display:flex;font:inherit;justify-content:space-between;padding:0}.editnday .ed-quote{background:#f3ecfb;border-radius:8px;color:#111416}.editnday .ed-fix,.editnday .ed-quote{font-size:12px;line-height:1.55;padding:8px 10px}.editnday .ed-fix{border:1px dashed #b48fe0;border-radius:8px}.editnday .ed-seg{display:flex;gap:6px}.editnday .ed-segb{background:#fff;border:1px solid #e1e5e5;border-radius:999px;color:#56676a;cursor:pointer;flex:1;font:inherit;font-size:11px;height:26px}.editnday .ed-segb.is-on{background:#243235;border-color:#243235;color:#fff}.editnday.ed-wide .components-modal__content{background:#f4f5f5}.editnday.ed-wide .ed-wide__body{align-items:start;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:782px){.editnday.ed-wide .ed-wide__body{grid-template-columns:minmax(0,1fr)}}.editnday.ed-wide .ed-sections{grid-row:span 3}.editnday.ed-wide .ed-wide__foot{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.editnday.ed-wide .ed-wide__foot .ed-ghost{padding:0 20px;width:auto}.editnday.ed-wide .ed-wide__foot .ed-cta{width:280px}.editor-header button[aria-controls="editnday:editnday-sidebar"].is-pressed,.interface-pinned-items button[aria-controls="editnday:editnday-sidebar"].is-pressed{background:#243235}.editor-header button[aria-controls="editnday:editnday-sidebar"].is-pressed svg path,.interface-pinned-items button[aria-controls="editnday:editnday-sidebar"].is-pressed svg path{fill:#d3b7f1}.editnday .ed-tasks{gap:0}.editnday .ed-taskwrap{border-top:1px solid #f0f2f2;display:flex;flex-direction:column;gap:6px;padding:7px 0}.editnday .ed-taskwrap:first-child{border-top:0;padding-top:0}.editnday .ed-task{align-items:center;display:flex;font-size:12px;gap:8px;min-width:0}.editnday .ed-task .ed-task__t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.editnday .ed-task .ed-task__t>.ed-muted{display:block;font-size:11px;line-height:1.35}.editnday .ed-tasks>.ed-task{border-top:1px solid #f0f2f2;padding-top:7px}.editnday .ed-circ.is-filled{background:#243235;border-color:#243235}.editnday .ed-circ.is-warn{background:#f3ecfb;border-color:#b48fe0}.editnday .ed-mini{background:#fff;border:1px solid #c8cfd0;border-radius:999px;color:#243235;cursor:pointer;flex:none;font:inherit;font-size:11px;height:24px;padding:0 9px}.editnday .ed-mini.is-plain{border-color:transparent;text-decoration:underline}.editnday .ed-mini.is-done{background:#f3ecfb;border-color:#e6d6f7}.editnday .ed-mini:disabled{cursor:default;opacity:.5}.editnday .ed-redo{display:flex;flex-direction:column;gap:8px}.editnday .ed-redo__title{align-items:center;display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:space-between;margin-top:-2px}.editnday .ed-redo__title>.ed-link{flex-basis:100%;text-align:left}.editnday .ed-redo__title .ed-chips{flex-wrap:nowrap}.editnday .ed-redo__actions{display:flex;flex-direction:column;gap:6px}.editnday .ed-redo .ed-link{align-self:flex-start;white-space:nowrap}.editnday .ed-band{background:#f3ecfb;border-radius:8px;font-size:12px;line-height:1.5;padding:8px 10px}.editnday .ed-band.is-warn{background:#fcf0e3;color:#5c3300}.editnday .ed-band a{font-weight:600}.editnday .ed-prohint{align-self:center;background:none;border:0;color:#6c48b5;cursor:pointer;flex:none;font:inherit;font-size:11px;padding:0;white-space:nowrap}.editnday .ed-prohint:hover{text-decoration:underline}.editnday .ed-prohint__tag{background:#243235;border-radius:999px;color:#e6d6f7;display:inline-block;font-size:9px;font-weight:700;letter-spacing:.06em;line-height:14px;padding:0 5px;vertical-align:1px}.editnday .ed-prohint-row{margin:-4px 0 6px 30px}.editnday .ed-procard{border:1px dashed #d3b7f1}.editnday .ed-koseo__body>.ed-prohint,.editnday .ed-redo>.ed-prohint{align-self:flex-start}.editnday .ed-tpl{border-top:1px dashed #e0e0e0; flex-direction:column;padding-top:8px}.editnday .ed-tpl,.editnday .ed-tpl__swatches{display:flex;gap:6px}.editnday .ed-tpl__sw{border:1px solid rgba(0,0,0,.12);border-radius:8px;cursor:pointer;font-size:13px;font-weight:800;height:32px;width:32px}.editnday .ed-tpl__sw.is-on{box-shadow:0 0 0 2px #fff,0 0 0 4px #8e6bd1}.editnday .ed-tabs{background:#eef0f0;border-radius:999px;display:flex;gap:4px;margin:0 0 12px;padding:4px}.editnday .ed-tab{background:transparent;border:0;border-radius:999px;color:#5f6969;cursor:pointer;flex:1;font:inherit;font-size:12px;height:30px;padding:0 6px;white-space:nowrap}.editnday .ed-tab.is-on{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08);color:#243235;font-weight:600}.editnday .ed-tab:focus-visible{outline:2px solid #b48fe0}.editnday .ed-seomode{font-size:11px;line-height:1.5;margin:0 2px 10px}.editnday .ed-more{align-self:flex-start;margin:2px 2px 8px}.editnday .ed-autosend{font-size:11px;line-height:1.5;margin:4px 2px 0}.editnday .ed-autosend a{color:inherit}.editnday .ed-thumb{aspect-ratio:16/9;border-radius:8px;object-fit:cover;width:100%}.editnday .ed-serp{background:#fff;border:1px solid #e9ecec;border-radius:10px;display:flex;flex-direction:column;gap:3px;padding:10px}.editnday .ed-serp .ed-serp__u{color:#4d5156;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-serp .ed-serp__t{color:#1a0dab;font-size:14px;line-height:1.35}.editnday .ed-serp .ed-serp__d{color:#4d5156;font-size:11.5px;line-height:1.5}.editnday .ed-serp.is-naver .ed-serp__t{color:#001aad;font-weight:600}.editnday .ed-faq{display:flex;flex-direction:column;gap:8px}.editnday .ed-faq__item{display:flex;flex-direction:column;gap:2px}.editnday .ed-link{background:none;border:0;color:#243235;cursor:pointer;font:inherit;padding:0;text-decoration:underline}.editnday .ed-faq__item.is-edit{border-bottom:1px solid #f0f2f2;gap:6px;padding-bottom:8px}.editnday .ed-note.is-error{color:#c2463b}.editnday.ed-prepublish{display:flex;flex-direction:column;gap:8px}.interface-complementary-area:has(.editnday.ed-body),.interface-complementary-area:has(.editnday.ed-body) .components-panel{background:#f4f5f5}@keyframes ed-pulse{0%{box-shadow:0 0 0 0 rgba(180,143,224,.6)}70%{box-shadow:0 0 0 7px rgba(180,143,224,0)}to{box-shadow:0 0 0 0 rgba(180,143,224,0)}}@keyframes ed-hatch{0%{background-position:0 0}to{background-position:28px 0}}.editnday .ed-live{align-items:center;background:#f3ecfb;border-radius:10px;display:flex;font-size:11.5px;gap:8px;min-width:0;padding:8px 10px}.editnday .ed-live .ed-live__t{color:#243235;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-live .ed-elapsed{flex:none;font-variant-numeric:tabular-nums}.editnday .ed-pulse{background:#b48fe0;border-radius:999px;flex:none;height:8px;width:8px}.editnday .ed-pulse,.editnday .ed-step.is-now .ed-circ{animation:ed-pulse 1.4s ease-out infinite}.editnday .ed-bar.is-busy .ed-bar__hatch{animation:ed-hatch 1.2s linear infinite}@media(prefers-reduced-motion:reduce){.editnday .ed-bar.is-busy .ed-bar__hatch,.editnday .ed-pulse,.editnday .ed-step.is-now .ed-circ{animation:none}}.editnday-header{align-items:center;display:flex;flex:1;gap:8px;min-width:0}.editnday-header img{display:block;height:18px;width:auto}.editnday-header .editnday-header__ver{color:#8b9698;font-size:10.5px;font-variant-numeric:tabular-nums}.editnday-header .editnday-header__pro{background:#243235;border-radius:999px;color:#e6d6f7;font-size:9.5px;font-weight:700;letter-spacing:.06em;line-height:14px;margin-left:-2px;padding:1px 6px}.editnday .ed-busy{align-items:center;color:#243235;display:inline-flex;flex:none;font-size:11px;gap:6px}.editnday .ed-circ.is-busy{animation:ed-pulse 1.4s ease-out infinite;background:#f3ecfb;border-color:#b48fe0}.ed-req,.editnday .ed-req{background:#b48fe0;border-radius:50%;display:inline-block;height:5px;margin-left:4px;vertical-align:middle;width:5px}.ed-opt,.editnday .ed-opt{color:#a3acad;font-size:10px;font-weight:400;margin-left:4px}.editnday :is(.ed-lbl,.components-base-control__label):has(.ed-req){color:#111416;font-weight:700}.editnday :is(.ed-lbl,.components-base-control__label):has(.ed-opt){color:#8b9698;font-weight:500}.editnday :is(.ed-lbl,.components-base-control__label) .ed-muted{font-weight:400}.ed-hint{color:#8b9698;display:block;font-size:11px;margin-bottom:6px}.editnday .ed-small.is-warn{color:#9a5b00;display:block}.editnday .ed-textcheck .ed-textcheck__head{background:none;border:0;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:left;width:100%}.editnday .ed-textcheck .ed-textcheck__head:disabled{cursor:default}.editnday .ed-textcheck .ed-textcheck__sent{background:#f6f2fb;border:1px solid rgba(180,143,224,.45);border-radius:0;color:#3c4646;cursor:pointer;display:block;font:inherit;font-size:11px;line-height:1.5;margin:2px 0;padding:4px 8px;text-align:left;width:100%}.editnday .ed-textcheck .ed-textcheck__sent:hover{background:#efe6f8}.editnday .ed-textcheck .ed-koseo__body>.ed-link{align-self:flex-start;font-size:11px}.editnday .ed-sentences{border-top:1px solid #e1e5e5;display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px}.editnday .ed-sentences .ed-sentences__sec{display:flex;flex-direction:column;gap:2px}.editnday .ed-sentences .ed-sentences__h{color:#243235;font-size:11.5px}.editnday .ed-sentences .ed-sentences__s{align-items:flex-start;background:#fff;border:1px solid #e1e5e5;border-radius:0;color:#3c4646;cursor:pointer;display:flex;font:inherit;font-size:11px;gap:6px;line-height:1.5;margin:0;padding:3px 6px;text-align:left;width:100%}.editnday .ed-sentences .ed-sentences__s:hover{background:#f6f2fb}.editnday .ed-sentences .ed-sentences__s.is-breath{background:#fff9e8;border-color:#e9c46a}.editnday .ed-sentences .ed-sentences__s.is-long{background:#fdf0ec;border-color:#e07a5f}.editnday .ed-sentences .ed-sentences__s.is-flag .ed-sentences__n{color:#b3412a}.editnday .ed-sentences .ed-sentences__n{color:#8b9698;flex:0 0 28px;font-variant-numeric:tabular-nums;text-align:right}.editnday .ed-sentences__toggle{align-self:flex-start;font-size:11px;margin-top:6px}.editnday .ed-koseo .ed-koseo__score{background:#f3ecfb;border-radius:999px;font-size:11px;padding:2px 8px;white-space:nowrap}.editnday .ed-koseo .ed-koseo__score.is-ok{background:#f0f2f2}.editnday .ed-koseo .ed-koseo__kw{align-items:center;display:grid;gap:4px 6px;grid-template-columns:1fr auto}.editnday .ed-koseo .ed-koseo__kw .ed-ghost{padding:0 12px;width:auto}.editnday .ed-koseo .ed-koseo__kw .ed-muted{font-size:11px;grid-column:1/-1}.editnday .ed-koseo .ed-koseo__item{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;font-size:12px;gap:8px;padding-top:7px}.editnday .ed-koseo .ed-koseo__item .ed-circ{flex-shrink:0;margin-top:1px}.editnday .ed-koseo .ed-koseo__body{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.editnday .ed-koseo .ed-koseo__head{align-items:baseline;display:flex;gap:6px;justify-content:space-between}.editnday .ed-koseo .ed-koseo__who{color:#c8cfd0;flex-shrink:0;font-size:10px;white-space:nowrap}.editnday .ed-koseo .ed-koseo__hint{color:#6b7272;font-size:11px;line-height:1.5}.editnday .ed-koseo .ed-koseo__foot{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;flex-direction:column;gap:4px;padding-top:6px}.editnday .ed-koseo .ed-koseo__foot .ed-muted{font-size:11px}.editnday .ed-stepper{display:flex;flex-direction:column;gap:6px;padding:2px 0 6px}.editnday .ed-stepper__flow{align-items:flex-start;display:flex}.editnday .ed-stepper__st{align-items:center;display:flex;flex:none;flex-direction:column;gap:4px;width:64px}.editnday .ed-stepper__dot{align-items:center;background:#fff;border:1.5px solid #c8cfd0;border-radius:50%;color:#8b9698;display:flex;font-size:10px;font-weight:600;height:20px;justify-content:center;width:20px}.editnday .ed-stepper__dot svg{height:11px;width:11px}.editnday .ed-stepper__lbl{color:#8b9698;font-size:10px;line-height:1.25;text-align:center}.editnday .ed-stepper__st.is-done .ed-stepper__dot{background:#243235;border-color:#243235;color:#fff}.editnday .ed-stepper__st.is-done .ed-stepper__lbl{color:#243235}.editnday .ed-stepper__st.is-now .ed-stepper__dot{background:#b48fe0;border-color:#b48fe0;color:#fff}.editnday .ed-stepper__st.is-now .ed-stepper__lbl{color:#243235;font-weight:600}.editnday .ed-stepper__link{align-items:center;display:flex;flex:1;flex-direction:column;gap:2px;min-width:0;padding-top:9px}.editnday .ed-stepper__link .ed-stepper__line{border-top:1.5px dashed #c8cfd0;width:100%}.editnday .ed-stepper__link em{color:#a3acad;font-size:9px;font-style:normal;white-space:nowrap}.editnday .ed-stepper__link.is-done .ed-stepper__line{border-top-color:#243235;border-top-style:solid}.editnday .ed-stepper__link.is-run .ed-stepper__line{animation:ed-stepper-run 1.2s ease-in-out infinite;border-top-color:#b48fe0}.editnday .ed-stepper__link.is-run em{color:#7d55b0;font-weight:600}.editnday .ed-stepper__note{color:#56676a;font-size:11px}@keyframes ed-stepper-run{0%,to{opacity:1}50%{opacity:.35}}.editnday .ed-fold{align-items:baseline;background:none;border:0;color:inherit;cursor:pointer;display:flex;font:inherit;gap:8px;padding:0;text-align:left;width:100%}.editnday .ed-fold .ed-lbl{margin:0}.editnday .ed-fold__v{flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-fold__i{font-size:12px;opacity:.7;text-decoration:underline}.editnday .ed-fold[aria-expanded=true]{margin-bottom:10px}.editnday .ed-preset{font-size:12.5px;margin:-4px 0 10px}.editnday .ed-preset .ed-chips{margin-top:8px}.ed-proinfo ul{list-style:disc;margin:8px 0 12px 20px}.ed-proinfo li{margin-bottom:4px}.ed-proinfo,.editnday{font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Segoe UI,system-ui,sans-serif;letter-spacing:0}.ed-proinfo :not(.ed-covdot):not(.ed-rdot):not(.ed-pulse):not(.ed-cta__dot),.editnday :not(.ed-covdot):not(.ed-rdot):not(.ed-pulse):not(.ed-cta__dot){border-radius:0!important}.editnday{color:#1b1e25}.editnday.ed-body{background:#f6f7f9}.editnday .ed-h{color:#1b1e25;font-weight:650}.editnday .ed-dim,.editnday .ed-muted,.editnday .ed-sub{color:#646c7a}.editnday .ed-lbl{color:#474f5c;font-weight:650}.editnday .ed-card,.editnday .ed-live,.editnday .ed-note,.editnday .ed-pastpost,.editnday .ed-serp,.editnday .ed-stat{background:#fff;border:1px solid #dde0e6;box-shadow:none}.editnday .components-text-control__input,.editnday .components-textarea-control__input,.editnday input[type=text],.editnday input[type=url],.editnday select,.editnday textarea{border:1px solid #7c8494;box-shadow:none}.editnday .components-text-control__input:focus,.editnday .components-textarea-control__input:focus,.editnday textarea:focus{border-color:#243235;box-shadow:0 0 0 1px #243235}.editnday .ed-cta{background:#243235;font-size:13px;font-weight:650;height:36px}.editnday .ed-cta:hover:not(:disabled){background:#1a2527}.editnday .ed-cta:disabled{background:#f0f2f5;border:1px solid #dde0e6;color:#646c7a}.editnday .ed-cta .ed-cta__dot{border-radius:0!important;height:30px;right:3px;top:3px;width:30px}.editnday .ed-ghost{background:#fff;border:1px solid #7c8494;color:#1b1e25;font-weight:600;height:32px}.editnday .ed-ghost:hover:not(:disabled){background:#f0f2f5}.editnday .ed-chip{border:1px solid #7c8494;color:#474f5c;font-weight:500;height:26px}.editnday .ed-chip.is-on{background:#243235;border-color:#243235;color:#fff}.editnday .ed-chip.is-lav{background:#f3ecfb;border-color:#b48fe0;color:#243235}.editnday .ed-tag{background:#fff;border:1px solid #7c8494;color:#474f5c;font-size:10.5px;height:20px;padding:0 6px}.editnday .ed-tag.is-lav{background:#f3ecfb;border-color:#b48fe0;color:#243235}.editnday .ed-tag.is-dark{background:#243235;border-color:#243235;color:#fff}.editnday .ed-stats{background:#fff;border:1px solid #dde0e6;gap:0}.editnday .ed-stat{border:0;border-right:1px solid #dde0e6}.editnday .ed-stat:last-child{border-right:0}.editnday .ed-big,.editnday .ed-koseo__score,.editnday .ed-stat__n{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:0}.editnday .ed-circ{border-radius:0!important}.editnday .ed-bar{background:#f0f2f5}.editnday .ed-note.is-error{background:#fdecea;border:1px solid rgba(180,35,24,.4)}.editnday .ed-segb{border:1px solid #7c8494}.editnday .ed-radio{border:1px solid #dde0e6}.editnday .ed-radio.is-on{border-color:#243235;box-shadow:inset 0 0 0 1px #243235}.ed-proinfo .ed-tabs,.editnday .ed-tabs{background:#fff;border:1px solid #dde0e6;gap:0;padding:0}.ed-proinfo .ed-tab,.editnday .ed-tab{border-right:1px solid #dde0e6;color:#474f5c;height:32px}.ed-proinfo .ed-tab:last-child,.editnday .ed-tab:last-child{border-right:0}.ed-proinfo .ed-tab.is-on,.editnday .ed-tab.is-on{background:#243235;box-shadow:none;color:#fff;font-weight:650}.editnday-header__pro{border-radius:0!important}.editnday .ed-cardhead{align-items:center;background:#fff;border-bottom:1px solid #dde0e6;display:flex;gap:8px;justify-content:space-between;margin:-10px -10px 4px;padding:8px 10px}.editnday .ed-cardhead__t{align-items:center;color:#1b1e25;display:inline-flex;font-size:12.5px;font-weight:650;gap:6px}.editnday .ed-mini.is-strong{background:#243235;border-color:#243235;color:#fff}.editnday .ed-mini.is-strong:disabled{background:#f0f2f5;border-color:#dde0e6;color:#646c7a}.editnday .ed-circ.is-warn{background:#fdf3dc;border-color:#8a5300;color:#8a5300;font-size:11px;font-weight:800;line-height:1}.editnday .ed-kwplace{background:#f0f2f5;border:1px solid #dde0e6;display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:8px 10px}.editnday .ed-kwplace .ed-quote{background:#fff;border:1px solid rgba(180,143,224,.5);color:#1b1e25;display:block;font-size:12px;line-height:1.6;margin:0;padding:6px 8px}.editnday .ed-kwplace .ed-quote.is-new{border-color:rgba(11,122,75,.45)}.editnday .ed-kwfix{display:flex;flex-direction:column;gap:6px;width:100%}.editnday .ed-kwfix .ed-quote{background:#fff;border:1px solid rgba(11,122,75,.45);display:block;font-size:12px;line-height:1.6;padding:6px 8px}.editnday .ed-found.is-on{border-color:#243235;box-shadow:0 0 0 1px #243235}.editnday-header__prover{font-weight:500;letter-spacing:0;margin-left:3px}.ed-kwvol{display:grid;font-size:12px;gap:6px;margin:2px 0 10px}.ed-kwvol p{margin:0}.ed-kwvol__self{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px}.ed-kwvol__comp{border:1px solid #c3c4c7;border-radius:2px;color:#50575e;margin-left:4px;padding:0 6px}.ed-kwvol__comp.is-high{border-color:#d63638;color:#a32022}.ed-kwvol__comp.is-low{border-color:#00a32a;color:#007017}.ed-kwvol__rel{display:grid;gap:4px}.ed-kwvol__chips{display:flex;flex-wrap:wrap;gap:4px}.ed-share{display:grid;gap:6px;margin:6px 0 4px}.ed-share__card{background:#fff;border:1px solid #dcdcde;border-radius:4px;overflow:hidden}.ed-share__img{aspect-ratio:1200/630;background-position:50%;background-size:cover;max-width:100%}.ed-share__text{display:grid;font-size:12px;gap:2px;padding:8px 10px}.ed-share__text strong{font-size:13px;line-height:1.35}.ed-share__desc{color:#50575e;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ed-alttext,.interface-complementary-area .ed-alttext{background:#f6f7f7;border:1px solid #e0e0e0;border-radius:3px;color:#3c434a;font-size:12px;line-height:1.5;margin:2px 0 8px 30px;padding:6px 8px;word-break:keep-all}.ed-aicite .ed-aicite__score{font-variant-numeric:tabular-nums;font-weight:700}.ed-aicite .ed-aicite__score.is-ok{color:#1f8a4c}.ed-aicite .ed-aicite__score.is-warn{color:#996800}.ed-aicite .ed-aicite__score.is-bad{color:#b32d2e}.ed-aicite .ed-aicite__bar{background:#f0f0f1;height:6px;margin:6px 0}.ed-aicite .ed-aicite__bar span{background:#1f8a4c;display:block;height:100%}.ed-aicite .ed-aicite__bar span.is-warn{background:#dba617}.ed-aicite .ed-aicite__bar span.is-bad{background:#d63638}.ed-aicite .ed-aicite__item{align-items:baseline;display:flex;font-size:12px;gap:8px;line-height:1.5;margin:6px 0}.ed-aicite .ed-aicite__pts{color:#1f8a4c;flex:none;font-variant-numeric:tabular-nums;font-weight:700;min-width:28px}1 .editnday{color:#243235;font-size:12px;letter-spacing:-.01em}.editnday *{box-sizing:border-box}.editnday.ed-body{background:#f4f5f5;display:flex;flex-direction:column;gap:8px;min-height:100%;padding:12px 12px 0}.editnday .ed-head{display:flex;flex-direction:column;gap:4px;padding:2px 0}.editnday .ed-eyebrow{color:#8b9698;font-size:11px;font-weight:500}.editnday .ed-h{color:#111416;font-size:15px;font-weight:600;letter-spacing:-.02em;line-height:1.4;margin:0}.editnday .ed-sub{color:#56676a;font-size:11.5px;line-height:1.55;margin:0}.editnday .ed-card{background:#fff;border-radius:10px;display:flex;flex-direction:column;gap:7px;min-width:0;padding:10px}.editnday .ed-lbl{color:#56676a;font-size:11px;font-weight:600}.editnday .ed-muted{color:#8b9698;font-size:11px}.editnday .ed-small{font-size:12px;line-height:1.5}.editnday .ed-strong{font-weight:600}.editnday .ed-dim{color:#56676a}.editnday .ed-faint{color:#c8cfd0}.editnday .ed-row{align-items:center;display:flex;gap:8px;min-width:0}.editnday .ed-between{justify-content:space-between}.editnday .ed-gap6{gap:6px;margin-top:3px}.editnday .components-text-control__input,.editnday .components-textarea-control__input{border-color:#e1e5e5;border-radius:7px;font-size:12px}.editnday .components-base-control__label{color:#56676a;font-size:11px;font-weight:600;text-transform:none}.editnday .ed-chips{display:flex;flex-wrap:wrap;gap:6px}.editnday .ed-chip{align-items:center;background:#fff;border:1px solid #e1e5e5;border-radius:999px;color:#56676a;cursor:pointer;display:inline-flex;font:inherit;font-size:11px;gap:4px;height:24px;padding:0 9px;white-space:nowrap}.editnday .ed-chip .ed-chip__lock{background:rgba(0,0,0,.08);border-radius:999px;font-size:10px;line-height:16px;padding:0 5px}.editnday .ed-chip.is-on .ed-chip__lock{background:hsla(0,0%,100%,.22)}.editnday .ed-chip.is-lav{background:#e6d6f7;border-color:#e6d6f7}.editnday .ed-chip.is-static{cursor:default}.editnday .ed-chip.is-static b{color:#243235}.editnday .ed-tag{align-items:center;background:#f4f5f5;border-radius:999px;color:#56676a;display:inline-flex;font-size:10px;font-weight:600;height:18px;padding:0 7px;white-space:nowrap}.editnday .ed-tag.is-lav{background:#e6d6f7}.editnday .ed-cta{border:0;border-radius:999px;color:#fff;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;height:38px;position:relative;width:100%}.editnday .ed-cta:disabled{background:#c8cfd0;cursor:not-allowed}.editnday .ed-cta .ed-cta__dot{align-items:center;background:#d3b7f1;border-radius:999px;display:flex;justify-content:center;position:absolute;right:4px;top:4px}.editnday .ed-ghost{background:transparent;border:1px solid #c8cfd0;border-radius:999px;color:#243235;cursor:pointer;font:inherit;font-size:12px;font-weight:500;width:100%}.editnday .ed-iconbtn{background:transparent;border:0;color:#56676a;cursor:pointer;font-size:16px;height:24px;line-height:1;width:24px}.editnday .ed-foot{background:#f4f5f5;border-top:1px solid #e9ecec;bottom:0;display:flex;flex-direction:column;gap:8px;margin:auto -12px 0;padding:10px 12px 12px;position:sticky}.editnday .ed-steps{display:flex;flex-direction:column;gap:9px}.editnday .ed-step{align-items:center;display:flex;font-size:12px;gap:8px;min-width:0}.editnday .ed-step.is-now{font-weight:600}.editnday .ed-step.is-todo{color:#8b9698}.editnday .ed-step .ed-step__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-circ{align-items:center;background:#fff;border:1.5px solid #c8cfd0;border-radius:999px;display:flex;flex:none;height:18px;justify-content:center;width:18px}.editnday .ed-step.is-done .ed-circ{background:#243235;border-color:#243235}.editnday .ed-step.is-now .ed-circ{background:#f3ecfb;border-color:#b48fe0}.editnday .ed-bar{background:#e9ecec;border-radius:999px;display:flex;height:8px;overflow:hidden}.editnday .ed-bar .ed-bar__fill{background:#243235;border-radius:999px;transition:width .4s ease}.editnday .ed-bar .ed-bar__hatch{background:repeating-linear-gradient(135deg,#d3b7f1 0 6px,transparent 6px 10px);flex:1}.editnday .ed-stats{display:flex;gap:8px}.editnday .ed-stat{background:#fff;border-radius:10px;display:flex;flex:1;flex-direction:column;gap:4px;min-width:0;padding:8px 9px}.editnday .ed-stat .ed-muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-stat__n{color:#111416;font-size:17px;font-weight:600;letter-spacing:-.02em}.editnday .ed-big{color:#111416;font-size:24px;font-weight:600;letter-spacing:-.03em}.editnday .ed-note{background:#fff;border-radius:10px;color:#56676a;font-size:11px;line-height:1.55;padding:8px 10px}.editnday .ed-pastpost{align-items:center;background:#f4f5f5;border-radius:8px;display:flex;gap:8px;padding:8px 10px}.editnday .ed-pastpost>div{flex:1;min-width:0}.editnday .ed-found{background:transparent;border:0;color:#243235;cursor:pointer;font:inherit;font-size:12px;padding:4px 2px;text-align:left}.editnday .ed-found:hover{background:#f4f5f5}.editnday .ed-cov{align-items:flex-start;display:flex;font-size:12px;gap:7px;line-height:1.45}.editnday .ed-cov .ed-cov__q{flex:1;min-width:0}.editnday .ed-covdot{border-radius:999px;flex:none;height:8px;margin-top:5px;width:8px}.editnday .ed-covdot.is-full{background:#243235}.editnday .ed-covdot.is-half{background:linear-gradient(90deg,#243235 50%,#d3b7f1 0)}.editnday .ed-covdot.is-empty{border:1.5px solid #b48fe0}.editnday .ed-radio{align-items:flex-start;background:#fff;border:1px solid #e9ecec;border-radius:7px;cursor:pointer;display:flex;font-size:12px;gap:7px;line-height:1.45;padding:7px 9px}.editnday .ed-radio input{opacity:0;pointer-events:none;position:absolute}.editnday .ed-rdot{align-items:center;border:1.5px solid #c8cfd0;border-radius:999px;display:flex;flex:none;height:15px;justify-content:center;margin-top:1px;width:15px}.editnday .ed-radio.is-on .ed-rdot{border-color:#243235}.editnday .ed-radio.is-on .ed-rdot:after{background:#243235;border-radius:999px;content:"";height:7px;width:7px}.editnday .ed-sec{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;gap:8px;padding:8px 0}.editnday .ed-sec:first-of-type{border-top:0}.editnday .ed-sec .ed-sec__body{flex:1;min-width:0}.editnday .ed-num{align-items:center;background:#f4f5f5;border-radius:999px;color:#56676a;display:flex;flex:none;font-size:10px;font-weight:700;height:18px;justify-content:center;width:18px}.editnday .ed-video{border-top:1px solid #e9ecec;display:flex;flex-direction:column;gap:8px;padding:10px 0}.editnday .ed-video__head{margin-top:6px}.editnday .ed-video__bar{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between}.editnday .ed-video__actions{display:flex;flex-shrink:0;gap:12px}.editnday .ed-video .ed-link{white-space:nowrap}.editnday .ed-fact{display:flex;flex-direction:column;gap:2px;padding:6px 0 0}.editnday .ed-review__head{align-items:center;background:transparent;border:0;cursor:pointer;display:flex;font:inherit;justify-content:space-between;padding:0}.editnday .ed-quote{background:#f3ecfb;border-radius:8px;color:#111416}.editnday .ed-fix,.editnday .ed-quote{font-size:12px;line-height:1.55;padding:8px 10px}.editnday .ed-fix{border:1px dashed #b48fe0;border-radius:8px}.editnday .ed-seg{display:flex;gap:6px}.editnday .ed-segb{background:#fff;border:1px solid #e1e5e5;border-radius:999px;color:#56676a;cursor:pointer;flex:1;font:inherit;font-size:11px;height:26px}.editnday .ed-segb.is-on{background:#243235;border-color:#243235;color:#fff}.editnday.ed-wide .components-modal__content{background:#f4f5f5}.editnday.ed-wide .ed-wide__body{align-items:start;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:782px){.editnday.ed-wide .ed-wide__body{grid-template-columns:minmax(0,1fr)}}.editnday.ed-wide .ed-sections{grid-row:span 3}.editnday.ed-wide .ed-wide__foot{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.editnday.ed-wide .ed-wide__foot .ed-ghost{padding:0 20px;width:auto}.editnday.ed-wide .ed-wide__foot .ed-cta{width:280px}.editor-header button[aria-controls="editnday:editnday-sidebar"].is-pressed,.interface-pinned-items button[aria-controls="editnday:editnday-sidebar"].is-pressed{background:#243235}.editor-header button[aria-controls="editnday:editnday-sidebar"].is-pressed svg path,.interface-pinned-items button[aria-controls="editnday:editnday-sidebar"].is-pressed svg path{fill:#d3b7f1}.editnday .ed-tasks{gap:0}.editnday .ed-taskwrap{border-top:1px solid #f0f2f2;display:flex;flex-direction:column;gap:6px;padding:7px 0}.editnday .ed-taskwrap:first-child{border-top:0;padding-top:0}.editnday .ed-task{align-items:center;display:flex;font-size:12px;gap:8px;min-width:0}.editnday .ed-task .ed-task__t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.editnday .ed-task .ed-task__t>.ed-muted{display:block;font-size:11px;line-height:1.35}.editnday .ed-tasks>.ed-task{border-top:1px solid #f0f2f2;padding-top:7px}.editnday .ed-circ.is-filled{background:#243235;border-color:#243235}.editnday .ed-circ.is-warn{background:#f3ecfb;border-color:#b48fe0}.editnday .ed-mini{background:#fff;border:1px solid #c8cfd0;border-radius:999px;color:#243235;cursor:pointer;flex:none;font:inherit;font-size:11px;height:24px;padding:0 9px}.editnday .ed-mini.is-plain{border-color:transparent;text-decoration:underline}.editnday .ed-mini.is-done{background:#f3ecfb;border-color:#e6d6f7}.editnday .ed-mini:disabled{cursor:default;opacity:.5}.editnday .ed-redo{display:flex;flex-direction:column;gap:8px}.editnday .ed-redo__title{align-items:center;display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:space-between;margin-top:-2px}.editnday .ed-redo__title>.ed-link{flex-basis:100%;text-align:left}.editnday .ed-redo__title .ed-chips{flex-wrap:nowrap}.editnday .ed-redo__actions{display:flex;flex-direction:column;gap:6px}.editnday .ed-redo .ed-link{align-self:flex-start;white-space:nowrap}.editnday .ed-band{background:#f3ecfb;border-radius:8px;font-size:12px;line-height:1.5;padding:8px 10px}.editnday .ed-band.is-warn{background:#fcf0e3;color:#5c3300}.editnday .ed-band a{font-weight:600}.editnday .ed-prohint{align-self:center;background:none;border:0;color:#6c48b5;cursor:pointer;flex:none;font:inherit;font-size:11px;padding:0;white-space:nowrap}.editnday .ed-prohint:hover{text-decoration:underline}.editnday .ed-prohint__tag{background:#243235;border-radius:999px;color:#e6d6f7;display:inline-block;font-size:9px;font-weight:700;letter-spacing:.06em;line-height:14px;padding:0 5px;vertical-align:1px}.editnday .ed-prohint-row{margin:-4px 0 6px 30px}.editnday .ed-procard{border:1px dashed #d3b7f1}.editnday .ed-koseo__body>.ed-prohint,.editnday .ed-redo>.ed-prohint{align-self:flex-start}.editnday .ed-tpl{border-top:1px dashed #e0e0e0;display:flex;flex-direction:column;gap:6px;padding-top:8px}.editnday .ed-tpl__swatches{display:flex;flex-wrap:wrap;gap:6px}.editnday .ed-tpl__row{align-items:start;column-gap:8px;display:grid;grid-template-columns:34px 1fr}.editnday .ed-tpl__label{color:#50575e;font-size:11px;font-weight:600;line-height:26px}.editnday .ed-tpl__sw--custom{background:#fff;border-style:dashed;color:#50575e;font-size:16px;font-weight:500}.editnday .ed-tpl__color{align-items:center;display:inline-flex;gap:6px}.editnday .ed-tpl__color input[type=color]{background:#fff;border:1px solid #c3c4c7;border-radius:4px;cursor:pointer;height:26px;padding:2px;width:28px}.editnday .ed-tpl__color input[type=text]{border:1px solid #c3c4c7;border-radius:4px;font-family:ui-monospace,Menlo,monospace;font-size:12px;height:26px;min-height:26px;padding:0 8px;text-transform:uppercase;width:88px}.editnday .ed-tpl__preview{border:1px solid rgba(0,0,0,.1);border-radius:6px;display:block;margin:2px auto 0;max-height:220px;max-width:100%}.editnday .ed-tpl__sw{border:1px solid rgba(0,0,0,.12);border-radius:8px;cursor:pointer;font-size:13px;font-weight:800;height:32px;width:32px}.editnday .ed-tpl__sw.is-on{box-shadow:0 0 0 2px #fff,0 0 0 4px #8e6bd1}.editnday .ed-tabs{background:#eef0f0;border-radius:999px;display:flex;gap:4px;margin:0 0 12px;padding:4px}.editnday .ed-tab{background:transparent;border:0;border-radius:999px;color:#5f6969;cursor:pointer;flex:1;font:inherit;font-size:12px;height:30px;padding:0 6px;white-space:nowrap}.editnday .ed-tab.is-on{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08);color:#243235;font-weight:600}.editnday .ed-tab:focus-visible{outline:2px solid #b48fe0}.editnday .ed-seomode{font-size:11px;line-height:1.5;margin:0 2px 10px}.editnday .ed-more{align-self:flex-start;margin:2px 2px 8px}.editnday .ed-autosend{font-size:11px;line-height:1.5;margin:4px 2px 0}.editnday .ed-autosend a{color:inherit}.editnday .ed-thumb{aspect-ratio:16/9;border-radius:8px;object-fit:cover;width:100%}.editnday .ed-serp{background:#fff;border:1px solid #e9ecec;border-radius:10px;display:flex;flex-direction:column;gap:3px;padding:10px}.editnday .ed-serp .ed-serp__u{color:#4d5156;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-serp .ed-serp__t{color:#1a0dab;font-size:14px;line-height:1.35}.editnday .ed-serp .ed-serp__d{color:#4d5156;font-size:11.5px;line-height:1.5}.editnday .ed-serp.is-naver .ed-serp__t{color:#001aad;font-weight:600}.editnday .ed-faq{display:flex;flex-direction:column;gap:8px}.editnday .ed-faq__item{display:flex;flex-direction:column;gap:2px}.editnday .ed-link{background:none;border:0;color:#243235;cursor:pointer;font:inherit;padding:0;text-decoration:underline}.editnday .ed-faq__item.is-edit{border-bottom:1px solid #f0f2f2;gap:6px;padding-bottom:8px}.editnday .ed-note.is-error{color:#c2463b}.editnday.ed-prepublish{display:flex;flex-direction:column;gap:8px}.interface-complementary-area:has(.editnday.ed-body),.interface-complementary-area:has(.editnday.ed-body) .components-panel{background:#f4f5f5}@keyframes ed-pulse{0%{box-shadow:0 0 0 0 rgba(180,143,224,.6)}70%{box-shadow:0 0 0 7px rgba(180,143,224,0)}to{box-shadow:0 0 0 0 rgba(180,143,224,0)}}@keyframes ed-hatch{0%{background-position:0 0}to{background-position:28px 0}}.editnday .ed-live{align-items:center;background:#f3ecfb;border-radius:10px;display:flex;font-size:11.5px;gap:8px;min-width:0;padding:8px 10px}.editnday .ed-live .ed-live__t{color:#243235;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-live .ed-elapsed{flex:none;font-variant-numeric:tabular-nums}.editnday .ed-pulse{background:#b48fe0;border-radius:999px;flex:none;height:8px;width:8px}.editnday .ed-pulse,.editnday .ed-step.is-now .ed-circ{animation:ed-pulse 1.4s ease-out infinite}.editnday .ed-bar.is-busy .ed-bar__hatch{animation:ed-hatch 1.2s linear infinite}@media(prefers-reduced-motion:reduce){.editnday .ed-bar.is-busy .ed-bar__hatch,.editnday .ed-pulse,.editnday .ed-step.is-now .ed-circ{animation:none}}.editnday-header{align-items:center;display:flex;flex:1;gap:8px;min-width:0}.editnday-header img{display:block;height:18px;width:auto}.editnday-header .editnday-header__ver{color:#8b9698;font-size:10.5px;font-variant-numeric:tabular-nums}.editnday-header .editnday-header__pro{background:#243235;border-radius:999px;color:#e6d6f7;font-size:9.5px;font-weight:700;letter-spacing:.06em;line-height:14px;margin-left:-2px;padding:1px 6px}.editnday .ed-busy{align-items:center;color:#243235;display:inline-flex;flex:none;font-size:11px;gap:6px}.editnday .ed-circ.is-busy{animation:ed-pulse 1.4s ease-out infinite;background:#f3ecfb;border-color:#b48fe0}.ed-req,.editnday .ed-req{background:#b48fe0;border-radius:50%;display:inline-block;height:5px;margin-left:4px;vertical-align:middle;width:5px}.ed-opt,.editnday .ed-opt{color:#a3acad;font-size:10px;font-weight:400;margin-left:4px}.editnday :is(.ed-lbl,.components-base-control__label):has(.ed-req){color:#111416;font-weight:700}.editnday :is(.ed-lbl,.components-base-control__label):has(.ed-opt){color:#8b9698;font-weight:500}.editnday :is(.ed-lbl,.components-base-control__label) .ed-muted{font-weight:400}.ed-hint{color:#8b9698;display:block;font-size:11px;margin-bottom:6px}.editnday .ed-small.is-warn{color:#9a5b00;display:block}.editnday .ed-textcheck .ed-textcheck__head{background:none;border:0;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:left;width:100%}.editnday .ed-textcheck .ed-textcheck__head:disabled{cursor:default}.editnday .ed-textcheck .ed-textcheck__sent{background:#f6f2fb;border:1px solid rgba(180,143,224,.45);border-radius:0;color:#3c4646;cursor:pointer;display:block;font:inherit;font-size:11px;line-height:1.5;margin:2px 0;padding:4px 8px;text-align:left;width:100%}.editnday .ed-textcheck .ed-textcheck__sent:hover{background:#efe6f8}.editnday .ed-textcheck .ed-koseo__body>.ed-link{align-self:flex-start;font-size:11px}.editnday .ed-sentences{border-top:1px solid #e1e5e5;display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px}.editnday .ed-sentences .ed-sentences__sec{display:flex;flex-direction:column;gap:2px}.editnday .ed-sentences .ed-sentences__h{color:#243235;font-size:11.5px}.editnday .ed-sentences .ed-sentences__s{align-items:flex-start;background:#fff;border:1px solid #e1e5e5;border-radius:0;color:#3c4646;cursor:pointer;display:flex;font:inherit;font-size:11px;gap:6px;line-height:1.5;margin:0;padding:3px 6px;text-align:left;width:100%}.editnday .ed-sentences .ed-sentences__s:hover{background:#f6f2fb}.editnday .ed-sentences .ed-sentences__s.is-breath{background:#fff9e8;border-color:#e9c46a}.editnday .ed-sentences .ed-sentences__s.is-long{background:#fdf0ec;border-color:#e07a5f}.editnday .ed-sentences .ed-sentences__s.is-flag .ed-sentences__n{color:#b3412a}.editnday .ed-sentences .ed-sentences__n{color:#8b9698;flex:0 0 28px;font-variant-numeric:tabular-nums;text-align:right}.editnday .ed-sentences__toggle{align-self:flex-start;font-size:11px;margin-top:6px}.editnday .ed-koseo .ed-koseo__score{background:#f3ecfb;border-radius:999px;font-size:11px;padding:2px 8px;white-space:nowrap}.editnday .ed-koseo .ed-koseo__score.is-ok{background:#f0f2f2}.editnday .ed-koseo .ed-koseo__kw{align-items:center;display:grid;gap:4px 6px;grid-template-columns:1fr auto}.editnday .ed-koseo .ed-koseo__kw .ed-ghost{padding:0 12px;width:auto}.editnday .ed-koseo .ed-koseo__kw .ed-muted{font-size:11px;grid-column:1/-1}.editnday .ed-koseo .ed-koseo__item{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;font-size:12px;gap:8px;padding-top:7px}.editnday .ed-koseo .ed-koseo__item .ed-circ{flex-shrink:0;margin-top:1px}.editnday .ed-koseo .ed-koseo__body{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.editnday .ed-koseo .ed-koseo__head{align-items:baseline;display:flex;gap:6px;justify-content:space-between}.editnday .ed-koseo .ed-koseo__who{color:#c8cfd0;flex-shrink:0;font-size:10px;white-space:nowrap}.editnday .ed-koseo .ed-koseo__hint{color:#6b7272;font-size:11px;line-height:1.5}.editnday .ed-koseo .ed-koseo__foot{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;flex-direction:column;gap:4px;padding-top:6px}.editnday .ed-koseo .ed-koseo__foot .ed-muted{font-size:11px}.editnday .ed-stepper{display:flex;flex-direction:column;gap:6px;padding:2px 0 6px}.editnday .ed-stepper__flow{align-items:flex-start;display:flex}.editnday .ed-stepper__st{align-items:center;display:flex;flex:none;flex-direction:column;gap:4px;width:64px}.editnday .ed-stepper__dot{align-items:center;background:#fff;border:1.5px solid #c8cfd0;border-radius:50%;color:#8b9698;display:flex;font-size:10px;font-weight:600;height:20px;justify-content:center;width:20px}.editnday .ed-stepper__dot svg{height:11px;width:11px}.editnday .ed-stepper__lbl{color:#8b9698;font-size:10px;line-height:1.25;text-align:center}.editnday .ed-stepper__st.is-done .ed-stepper__dot{background:#243235;border-color:#243235;color:#fff}.editnday .ed-stepper__st.is-done .ed-stepper__lbl{color:#243235}.editnday .ed-stepper__st.is-now .ed-stepper__dot{background:#b48fe0;border-color:#b48fe0;color:#fff}.editnday .ed-stepper__st.is-now .ed-stepper__lbl{color:#243235;font-weight:600}.editnday .ed-stepper__link{align-items:center;display:flex;flex:1;flex-direction:column;gap:2px;min-width:0;padding-top:9px}.editnday .ed-stepper__link .ed-stepper__line{border-top:1.5px dashed #c8cfd0;width:100%}.editnday .ed-stepper__link em{color:#a3acad;font-size:9px;font-style:normal;white-space:nowrap}.editnday .ed-stepper__link.is-done .ed-stepper__line{border-top-color:#243235;border-top-style:solid}.editnday .ed-stepper__link.is-run .ed-stepper__line{animation:ed-stepper-run 1.2s ease-in-out infinite;border-top-color:#b48fe0}.editnday .ed-stepper__link.is-run em{color:#7d55b0;font-weight:600}.editnday .ed-stepper__note{color:#56676a;font-size:11px}@keyframes ed-stepper-run{0%,to{opacity:1}50%{opacity:.35}}.editnday .ed-fold{align-items:baseline;background:none;border:0;color:inherit;cursor:pointer;display:flex;font:inherit;gap:8px;padding:0;text-align:left;width:100%}.editnday .ed-fold .ed-lbl{margin:0}.editnday .ed-fold__v{flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-fold__i{font-size:12px;opacity:.7;text-decoration:underline}.editnday .ed-fold[aria-expanded=true]{margin-bottom:10px}.editnday .ed-preset{font-size:12.5px;margin:-4px 0 10px}.editnday .ed-preset .ed-chips{margin-top:8px}.ed-proinfo ul{list-style:disc;margin:8px 0 12px 20px}.ed-proinfo li{margin-bottom:4px}.ed-proinfo,.editnday{font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Segoe UI,system-ui,sans-serif;letter-spacing:0}.ed-proinfo :not(.ed-covdot):not(.ed-rdot):not(.ed-pulse):not(.ed-cta__dot),.editnday :not(.ed-covdot):not(.ed-rdot):not(.ed-pulse):not(.ed-cta__dot){border-radius:0!important}.editnday{color:#1b1e25}.editnday.ed-body{background:#f6f7f9}.editnday .ed-h{color:#1b1e25;font-weight:650}.editnday .ed-dim,.editnday .ed-muted,.editnday .ed-sub{color:#646c7a}.editnday .ed-lbl{color:#474f5c;font-weight:650}.editnday .ed-card,.editnday .ed-live,.editnday .ed-note,.editnday .ed-pastpost,.editnday .ed-serp,.editnday .ed-stat{background:#fff;border:1px solid #dde0e6;box-shadow:none}.editnday .components-text-control__input,.editnday .components-textarea-control__input,.editnday input[type=text],.editnday input[type=url],.editnday select,.editnday textarea{border:1px solid #7c8494;box-shadow:none}.editnday .components-text-control__input:focus,.editnday .components-textarea-control__input:focus,.editnday textarea:focus{border-color:#243235;box-shadow:0 0 0 1px #243235}.editnday .ed-cta{background:#243235;font-size:13px;font-weight:650;height:36px}.editnday .ed-cta:hover:not(:disabled){background:#1a2527}.editnday .ed-cta:disabled{background:#f0f2f5;border:1px solid #dde0e6;color:#646c7a}.editnday .ed-cta .ed-cta__dot{border-radius:0!important;height:30px;right:3px;top:3px;width:30px}.editnday .ed-ghost{background:#fff;border:1px solid #7c8494;color:#1b1e25;font-weight:600;height:32px}.editnday .ed-ghost:hover:not(:disabled){background:#f0f2f5}.editnday .ed-chip{border:1px solid #7c8494;color:#474f5c;font-weight:500;height:26px}.editnday .ed-chip.is-on{background:#243235;border-color:#243235;color:#fff}.editnday .ed-chip.is-lav{background:#f3ecfb;border-color:#b48fe0;color:#243235}.editnday .ed-tag{background:#fff;border:1px solid #7c8494;color:#474f5c;font-size:10.5px;height:20px;padding:0 6px}.editnday .ed-tag.is-lav{background:#f3ecfb;border-color:#b48fe0;color:#243235}.editnday .ed-tag.is-dark{background:#243235;border-color:#243235;color:#fff}.editnday .ed-stats{background:#fff;border:1px solid #dde0e6;gap:0}.editnday .ed-stat{border:0;border-right:1px solid #dde0e6}.editnday .ed-stat:last-child{border-right:0}.editnday .ed-big,.editnday .ed-koseo__score,.editnday .ed-stat__n{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:0}.editnday .ed-circ{border-radius:0!important}.editnday .ed-bar{background:#f0f2f5}.editnday .ed-note.is-error{background:#fdecea;border:1px solid rgba(180,35,24,.4)}.editnday .ed-segb{border:1px solid #7c8494}.editnday .ed-radio{border:1px solid #dde0e6}.editnday .ed-radio.is-on{border-color:#243235;box-shadow:inset 0 0 0 1px #243235}.ed-proinfo .ed-tabs,.editnday .ed-tabs{background:#fff;border:1px solid #dde0e6;gap:0;padding:0}.ed-proinfo .ed-tab,.editnday .ed-tab{border-right:1px solid #dde0e6;color:#474f5c;height:32px}.ed-proinfo .ed-tab:last-child,.editnday .ed-tab:last-child{border-right:0}.ed-proinfo .ed-tab.is-on,.editnday .ed-tab.is-on{background:#243235;box-shadow:none;color:#fff;font-weight:650}.editnday-header__pro{border-radius:0!important}.editnday .ed-cardhead{align-items:center;background:#fff;border-bottom:1px solid #dde0e6;display:flex;gap:8px;justify-content:space-between;margin:-10px -10px 4px;padding:8px 10px}.editnday .ed-cardhead__t{align-items:center;color:#1b1e25;display:inline-flex;font-size:12.5px;font-weight:650;gap:6px}.editnday .ed-mini.is-strong{background:#243235;border-color:#243235;color:#fff}.editnday .ed-mini.is-strong:disabled{background:#f0f2f5;border-color:#dde0e6;color:#646c7a}.editnday .ed-circ.is-warn{background:#fdf3dc;border-color:#8a5300;color:#8a5300;font-size:11px;font-weight:800;line-height:1}.editnday .ed-kwplace{background:#f0f2f5;border:1px solid #dde0e6;display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:8px 10px}.editnday .ed-kwplace .ed-quote{background:#fff;border:1px solid rgba(180,143,224,.5);color:#1b1e25;display:block;font-size:12px;line-height:1.6;margin:0;padding:6px 8px}.editnday .ed-kwplace .ed-quote.is-new{border-color:rgba(11,122,75,.45)}.editnday .ed-kwfix{display:flex;flex-direction:column;gap:6px;width:100%}.editnday .ed-kwfix .ed-quote{background:#fff;border:1px solid rgba(11,122,75,.45);display:block;font-size:12px;line-height:1.6;padding:6px 8px}.editnday .ed-found.is-on{border-color:#243235;box-shadow:0 0 0 1px #243235}.editnday-header__prover{font-weight:500;letter-spacing:0;margin-left:3px}.ed-kwvol{display:grid;font-size:12px;gap:6px;margin:2px 0 10px}.ed-kwvol p{margin:0}.ed-kwvol__self{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px}.ed-kwvol__comp{border:1px solid #c3c4c7;border-radius:2px;color:#50575e;margin-left:4px;padding:0 6px}.ed-kwvol__comp.is-high{border-color:#d63638;color:#a32022}.ed-kwvol__comp.is-low{border-color:#00a32a;color:#007017}.ed-kwvol__rel{display:grid;gap:4px}.ed-kwvol__chips{display:flex;flex-wrap:wrap;gap:4px}.ed-share{display:grid;gap:6px;margin:6px 0 4px}.ed-share__card{background:#fff;border:1px solid #dcdcde;border-radius:4px;overflow:hidden}.ed-share__img{aspect-ratio:1200/630;background-position:50%;background-size:cover;max-width:100%}.ed-share__text{display:grid;font-size:12px;gap:2px;padding:8px 10px}.ed-share__text strong{font-size:13px;line-height:1.35}.ed-share__desc{color:#50575e;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ed-alttext,.interface-complementary-area .ed-alttext{background:#f6f7f7;border:1px solid #e0e0e0;border-radius:3px;color:#3c434a;font-size:12px;line-height:1.5;margin:2px 0 8px 30px;padding:6px 8px;word-break:keep-all}.ed-aicite .ed-aicite__score{font-variant-numeric:tabular-nums;font-weight:700}.ed-aicite .ed-aicite__score.is-ok{color:#1f8a4c}.ed-aicite .ed-aicite__score.is-warn{color:#996800}.ed-aicite .ed-aicite__score.is-bad{color:#b32d2e}.ed-aicite .ed-aicite__bar{background:#f0f0f1;height:6px;margin:6px 0}.ed-aicite .ed-aicite__bar span{background:#1f8a4c;display:block;height:100%}.ed-aicite .ed-aicite__bar span.is-warn{background:#dba617}.ed-aicite .ed-aicite__bar span.is-bad{background:#d63638}.ed-aicite .ed-aicite__item{align-items:baseline;display:flex;font-size:12px;gap:8px;line-height:1.5;margin:6px 0}.ed-aicite .ed-aicite__pts{color:#1f8a4c;flex:none;font-variant-numeric:tabular-nums;font-weight:700;min-width:28px} -
editnday/tags/1.0.88/editnday.php
r3743363 r3747744 4 4 * Plugin URI: https://editn.day 5 5 * Description: Korean writing check and publishing assistant: spelling, AI-sounding phrases, SEO and Naver previews, summary and FAQ boxes, search engine registration. Runs entirely on your site. 6 * Version: 1.0. 776 * Version: 1.0.88 7 7 * Requires at least: 6.6 8 8 * Requires PHP: 8.1 … … 16 16 defined( 'ABSPATH' ) || exit; 17 17 18 define( 'EDITNDAY_VERSION', '1.0. 77' );18 define( 'EDITNDAY_VERSION', '1.0.88' ); 19 19 define( 'EDITNDAY_FILE', __FILE__ ); 20 20 define( 'EDITNDAY_DIR', plugin_dir_path( __FILE__ ) ); -
editnday/tags/1.0.88/readme.txt
r3743363 r3747744 5 5 Tested up to: 7.1 6 6 Requires PHP: 8.1 7 Stable tag: 1.0. 777 Stable tag: 1.0.88 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 83 83 == Changelog == 84 84 85 = 1.0.88 = 86 * Background-template thumbnails (no AI): a live preview while you choose; five sizes (share 1.91:1, 16:9, 4:3, 3:4, 9:16); three layouts (centered, magazine with a small site label and accent bar, bottom band); pick any background color with a color picker or hex code (text color adjusts automatically); the title size now fits its length; your last choices are remembered. 87 85 88 = 1.0.77 = 86 89 * Reach counting: after the first beacon (sent when the tab is hidden or closed) a reader who comes back and reads further now sends a correction, so switching tabs midway no longer leaves the post marked as unfinished; visits are still counted once per session. Pro: post titles in the Performance table no longer show HTML entities for quotes. … … 95 98 * Korean text check gains two readability items: "too many adverbs" (two or more intensifiers such as 정말·너무·아주 in one sentence) and "run-on sentence" (four or more clauses joined by -고/-는데/-지만). A new "sentence view" lists every sentence on its own line with its length, and "read aloud" speaks a section with the browser voice so awkward sentences are caught by ear. Everything runs in the browser; nothing leaves your site. 96 99 97 = 1.0.71 =98 * Site Open step 3: Naver and Google are now marked as required and Bing/Daum as optional, the step summary reads "required n / 2 · optional n / 2" and turns green once both required engines are verified, and the registration guide collapses for engines that already have a code so only the remaining ones stay expanded.99 100 100 Full history (Korean): https://editn.day/updates -
editnday/tags/1.0.88/src/publish.js
r3740496 r3747744 10 10 } from '@wordpress/components'; 11 11 import { dispatch, select, useSelect } from '@wordpress/data'; 12 import { createInterpolateElement, useMemo, useState } from '@wordpress/element'; 12 import { 13 createInterpolateElement, 14 useEffect, 15 useMemo, 16 useState, 17 } from '@wordpress/element'; 13 18 import { showSentence } from './blocks'; 14 19 import { plain } from './textcheck'; … … 672 677 } 673 678 679 /** 배경 틀 비율 (10-15 대표: AI와 같은 4가지 + 공유 미리보기 크기). [키, 이름, 너비, 높이] */ 680 export const TPL_ASPECTS = [ 681 [ 'og', __( '공유 1.91:1', 'editnday' ), 1200, 630 ], 682 [ '16:9', __( '가로 16:9', 'editnday' ), 1600, 900 ], 683 [ '4:3', __( '가로 4:3', 'editnday' ), 1440, 1080 ], 684 [ '3:4', __( '세로 3:4', 'editnday' ), 1080, 1440 ], 685 [ '9:16', __( '세로 9:16', 'editnday' ), 1080, 1920 ], 686 ]; 687 /** 배경 틀 배치 (10-15 대표). [키, 이름] */ 688 export const TPL_LAYOUTS = [ 689 [ 'center', __( '가운데', 'editnday' ) ], 690 [ 'magazine', __( '잡지형', 'editnday' ) ], 691 [ 'band', __( '아래 띠', 'editnday' ) ], 692 ]; 693 694 /** 바탕색에 맞는 글자색 (밝으면 먹색, 어두우면 흰색) */ 695 function inkFor( hex ) { 696 const m = /^#?([0-9a-f]{6})$/i.exec( hex || '' ); 697 if ( ! m ) { 698 return '#ffffff'; 699 } 700 const [ r, g, b ] = [ 0, 2, 4 ].map( 701 ( i ) => parseInt( m[ 1 ].slice( i, i + 2 ), 16 ) / 255 702 ); 703 const lin = ( c ) => 704 c <= 0.03928 ? c / 12.92 : ( ( c + 0.055 ) / 1.055 ) ** 2.4; 705 const lum = 0.2126 * lin( r ) + 0.7152 * lin( g ) + 0.0722 * lin( b ); 706 return lum > 0.45 ? '#1f2a2c' : '#ffffff'; 707 } 708 674 709 /** 675 * 배경 틀로 대표 이미지 만들기 (크레딧 없음, 서버를 부르지 않음): 1200×630(공유 미리보기 크기)에 제목을 가운데, 아래에 사이트 이름 676 * @param {string} text 그림에 넣을 제목 677 * @param {string} template TEMPLATES의 키 710 * 제목이 maxLines 줄 안에 말줄임 없이 들어가는 가장 큰 글자 크기 (짧은 제목은 크게, 긴 제목은 작게) 711 * @param ctx 712 * @param text 713 * @param maxWidth 714 * @param maxSize 715 * @param minSize 716 * @param maxLines 678 717 */ 679 export async function templateFeatured( text, template = 'ink' ) { 680 if ( ! text.trim() ) { 681 return null; 682 } 683 await loadTitleFont(); 684 const [ key, , colors, ink ] = 685 TEMPLATES.find( ( t ) => t[ 0 ] === template ) || TEMPLATES[ 0 ]; 686 const w = 1200; 687 const h = 630; 718 function fitTitle( ctx, text, maxWidth, maxSize, minSize, maxLines = 3 ) { 719 for ( let size = maxSize; size > minSize; size -= 4 ) { 720 ctx.font = `800 ${ size }px ${ TITLE_FONT }`; 721 if ( wrapTitle( ctx, text, maxWidth, Infinity ).length <= maxLines ) { 722 return { size, lines: wrapTitle( ctx, text, maxWidth, maxLines ) }; 723 } 724 } 725 ctx.font = `800 ${ minSize }px ${ TITLE_FONT }`; 726 return { size: minSize, lines: wrapTitle( ctx, text, maxWidth, maxLines ) }; 727 } 728 729 /** 730 * 배경 틀 그리기 (캔버스, 서버·AI 없음). 미리보기와 올리기가 같은 함수를 쓴다 731 * @param {Object} o 732 * @param {string} o.text 그림에 넣을 제목 733 * @param {string} o.template TEMPLATES의 키, 또는 'custom' 734 * @param {string} o.color custom일 때 바탕색 "#RRGGBB" 735 * @param {string} o.layout TPL_LAYOUTS의 키 736 * @param {string} o.aspect TPL_ASPECTS의 키 737 * @param {number} o.scale 미리보기용 축소 (1 = 원래 크기) 738 */ 739 export function drawTemplate( { 740 text, 741 template = 'ink', 742 color = '', 743 layout = 'center', 744 aspect = 'og', 745 scale = 1, 746 } ) { 747 const custom = template === 'custom' && /^#[0-9a-f]{6}$/i.test( color ); 748 const [ , , colors, ink ] = custom 749 ? [ 'custom', '', [ color ], inkFor( color ) ] 750 : TEMPLATES.find( ( t ) => t[ 0 ] === template ) || TEMPLATES[ 0 ]; 751 const [ , , W, H ] = 752 TPL_ASPECTS.find( ( a ) => a[ 0 ] === aspect ) || TPL_ASPECTS[ 0 ]; 753 const w = Math.round( W * scale ); 754 const h = Math.round( H * scale ); 688 755 const canvas = document.createElement( 'canvas' ); 689 756 canvas.width = w; 690 757 canvas.height = h; 691 758 const ctx = canvas.getContext( '2d' ); 692 if ( colors.length > 1 ) { 693 const g = ctx.createLinearGradient( 0, 0, w, h ); 694 g.addColorStop( 0, colors[ 0 ] ); 695 g.addColorStop( 1, colors[ 1 ] ); 696 ctx.fillStyle = g; 697 } else { 698 ctx.fillStyle = colors[ 0 ]; 699 } 759 const paint = () => { 760 if ( colors.length > 1 ) { 761 const g = ctx.createLinearGradient( 0, 0, w, h ); 762 g.addColorStop( 0, colors[ 0 ] ); 763 g.addColorStop( 1, colors[ 1 ] ); 764 return g; 765 } 766 return colors[ 0 ]; 767 }; 768 ctx.fillStyle = paint(); 700 769 ctx.fillRect( 0, 0, w, h ); 701 const size = 72; 770 const base = Math.min( w, h ); 771 const pad = Math.round( base * 0.1 ); 772 const site = String( window.editndayConfig?.siteName || '' ) 773 .trim() 774 .slice( 0, 40 ); 775 const small = Math.round( base * 0.042 ); 776 ctx.textBaseline = 'alphabetic'; 777 778 if ( layout === 'band' ) { 779 // 아래 띠: 위는 바탕색, 아래 띠는 글자색으로 칠하고 그 위에 바탕색 제목 (왼쪽 정렬) 780 const bandH = Math.round( h * ( h > w ? 0.34 : 0.4 ) ); 781 ctx.fillStyle = ink; 782 ctx.fillRect( 0, h - bandH, w, bandH ); 783 const { size, lines } = fitTitle( 784 ctx, 785 text, 786 w - pad * 2, 787 Math.round( base * 0.12 ), 788 Math.round( base * 0.06 ), 789 2 790 ); 791 ctx.font = `800 ${ size }px ${ TITLE_FONT }`; 792 ctx.fillStyle = colors.length > 1 ? colors[ 0 ] : colors[ 0 ]; 793 ctx.textAlign = 'left'; 794 const lead = Math.round( size * 1.25 ); 795 const blockH = size + ( lines.length - 1 ) * lead; 796 const y0 = h - bandH + ( bandH - blockH ) / 2 + size * 0.85; 797 lines.forEach( ( l, i ) => ctx.fillText( l, pad, y0 + i * lead ) ); 798 if ( site ) { 799 ctx.font = `700 ${ small }px ${ TITLE_FONT }`; 800 ctx.fillStyle = ink; 801 ctx.globalAlpha = 0.75; 802 ctx.fillText( site, pad, pad + small ); 803 ctx.globalAlpha = 1; 804 } 805 return canvas; 806 } 807 808 if ( layout === 'magazine' ) { 809 // 잡지형: 위에 사이트 이름 꼬리표, 아래쪽에 짧은 막대 + 큰 제목 (왼쪽 정렬) 810 ctx.fillStyle = ink; 811 ctx.textAlign = 'left'; 812 if ( site ) { 813 ctx.font = `700 ${ small }px ${ TITLE_FONT }`; 814 ctx.globalAlpha = 0.8; 815 ctx.fillText( site, pad, pad + small ); 816 ctx.globalAlpha = 1; 817 } 818 const { size, lines } = fitTitle( 819 ctx, 820 text, 821 w - pad * 2, 822 Math.round( base * 0.14 ), 823 Math.round( base * 0.07 ), 824 h > w ? 4 : 3 825 ); 826 ctx.font = `800 ${ size }px ${ TITLE_FONT }`; 827 const lead = Math.round( size * 1.22 ); 828 const lastY = h - pad; 829 const firstY = lastY - ( lines.length - 1 ) * lead; 830 ctx.fillRect( 831 pad, 832 firstY - size - Math.round( base * 0.05 ), 833 Math.round( base * 0.09 ), 834 Math.max( 3, Math.round( base * 0.012 ) ) 835 ); 836 lines.forEach( ( l, i ) => ctx.fillText( l, pad, firstY + i * lead ) ); 837 return canvas; 838 } 839 840 // 가운데 (처음 틀): 제목 가운데, 아래에 사이트 이름 841 const { size, lines } = fitTitle( 842 ctx, 843 text, 844 w - pad * 2, 845 Math.round( base * 0.14 ), 846 Math.round( base * 0.07 ), 847 h > w ? 4 : 3 848 ); 702 849 ctx.font = `800 ${ size }px ${ TITLE_FONT }`; 703 850 ctx.fillStyle = ink; 704 851 ctx.textAlign = 'center'; 705 ctx.textBaseline = 'alphabetic'; 706 const lines = wrapTitle( ctx, text, w - 200 ); 707 const lead = Math.round( size * 1.3 ); 852 const lead = Math.round( size * 1.28 ); 708 853 const block = ( lines.length - 1 ) * lead; 709 const y0 = ( h - block ) / 2 + size * 0.35 - 16;854 const y0 = ( h - block ) / 2 + size * 0.35 - small * 0.4; 710 855 lines.forEach( ( l, i ) => ctx.fillText( l, w / 2, y0 + i * lead ) ); 711 const site = String( window.editndayConfig?.siteName || '' ).trim();712 856 if ( site ) { 713 ctx.font = `700 26px ${ TITLE_FONT }`;857 ctx.font = `700 ${ small }px ${ TITLE_FONT }`; 714 858 ctx.globalAlpha = 0.72; 715 ctx.fillText( site .slice( 0, 40 ), w / 2, h - 56);859 ctx.fillText( site, w / 2, h - pad * 0.9 ); 716 860 ctx.globalAlpha = 1; 717 861 } 862 return canvas; 863 } 864 865 /** 866 * 배경 틀로 대표 이미지 만들기 (크레딧 없음, 서버를 부르지 않음). 867 * 10-15: 비율 5가지 · 배치 3가지 · 직접 고른 색 · 제목 길이에 맞춘 글자 크기 868 * @param {string} text 그림에 넣을 제목 869 * @param {string} template TEMPLATES의 키, 또는 'custom' 870 * @param {Object} opts { color, layout, aspect } 871 */ 872 export async function templateFeatured( text, template = 'ink', opts = {} ) { 873 if ( ! text.trim() ) { 874 return null; 875 } 876 await loadTitleFont(); 877 const canvas = drawTemplate( { text, template, ...opts } ); 878 const key = 879 template === 'custom' 880 ? `custom-${ String( opts.color || '' ).replace( '#', '' ) }` 881 : template; 718 882 return uploadFeatured( canvas, { template: key, alt: text.trim() } ); 719 883 } 720 884 885 /** 미리보기용: 글꼴을 불러온 뒤 작게 그려 data URL로 */ 886 export async function templatePreview( o ) { 887 if ( ! o.text?.trim() ) { 888 return ''; 889 } 890 await loadTitleFont(); 891 return drawTemplate( { ...o, scale: 0.3 } ).toDataURL( 'image/jpeg', 0.8 ); 892 } 893 721 894 /** 722 * 낱말 단위로 줄을 나눈다 (낱말 하나가 너무 길면 글자 단위로). 많아야 3줄, 넘치면 말줄임895 * 낱말 단위로 줄을 나눈다 (낱말 하나가 너무 길면 글자 단위로). 많아야 maxLines줄(기본 3), 넘치면 말줄임 723 896 * @param ctx 724 897 * @param text 725 898 * @param maxWidth 726 899 */ 727 function wrapTitle( ctx, text, maxWidth ) {900 function wrapTitle( ctx, text, maxWidth, maxLines = 3 ) { 728 901 const lines = []; 729 902 let line = ''; … … 756 929 lines.push( line ); 757 930 } 758 if ( lines.length > 3) {759 lines.length = 3;760 lines[ 2 ] = lines[ 2].replace( /.$/, '…' );931 if ( lines.length > maxLines ) { 932 lines.length = maxLines; 933 lines[ maxLines - 1 ] = lines[ maxLines - 1 ].replace( /.$/, '…' ); 761 934 } 762 935 return lines; … … 1431 1604 const [ titlePos, setTitlePos ] = useState( 'bottom' ); 1432 1605 const [ titleKind, setTitleKind ] = useState( 'title' ); 1433 const [ tpl, setTpl ] = useState( 'ink' ); 1606 // 배경 틀 (10-15): 색·배치·비율·직접 고른 색은 마지막 것을 기억, 미리보기는 고를 때마다 다시 그림 1607 const [ tplOpts, setTplOptsState ] = useState( () => { 1608 try { 1609 return { 1610 tpl: 'ink', 1611 layout: 'center', 1612 aspect: 'og', 1613 color: '#2F5D50', 1614 ...JSON.parse( window.localStorage.getItem( 'editndayTpl' ) || '{}' ), 1615 }; 1616 } catch { 1617 return { tpl: 'ink', layout: 'center', aspect: 'og', color: '#2F5D50' }; 1618 } 1619 } ); 1620 const setTplOpts = ( patch ) => 1621 setTplOptsState( ( o ) => { 1622 const n = { ...o, ...patch }; 1623 try { 1624 window.localStorage.setItem( 'editndayTpl', JSON.stringify( n ) ); 1625 } catch {} 1626 return n; 1627 } ); 1628 const tpl = tplOpts.tpl; 1629 const [ tplPreview, setTplPreview ] = useState( '' ); 1630 const tplText = onImage.trim() || st.title?.trim() || ''; 1631 useEffect( () => { 1632 let gone = false; 1633 const t = setTimeout( () => { 1634 templatePreview( { 1635 text: tplText, 1636 template: tplOpts.tpl, 1637 color: tplOpts.color, 1638 layout: tplOpts.layout, 1639 aspect: tplOpts.aspect, 1640 } ) 1641 .then( ( u ) => ! gone && setTplPreview( u ) ) 1642 .catch( () => ! gone && setTplPreview( '' ) ); 1643 }, 150 ); 1644 return () => { 1645 gone = true; 1646 clearTimeout( t ); 1647 }; 1648 }, [ tplText, tplOpts ] ); 1434 1649 // 이어지는 내 글: null(아직 안 찾음) | [] | [{id,title,url,date,added}] 1435 1650 const [ related, setRelated ] = useState( null ); … … 1864 2079 ) } 1865 2080 </span> 1866 <span className="ed-tpl__swatches"> 1867 { TEMPLATES.map( ( [ k, l, c, ink ] ) => ( 2081 <div className="ed-tpl__row"> 2082 <span className="ed-tpl__label"> 2083 { __( '색', 'editnday' ) } 2084 </span> 2085 <span className="ed-tpl__swatches"> 2086 { TEMPLATES.map( ( [ k, l, c, ink ] ) => ( 2087 <button 2088 key={ k } 2089 type="button" 2090 className={ `ed-tpl__sw${ 2091 tpl === k ? ' is-on' : '' 2092 }` } 2093 style={ { 2094 background: 2095 c.length > 1 2096 ? `linear-gradient(135deg, ${ c[ 0 ] }, ${ c[ 1 ] })` 2097 : c[ 0 ], 2098 color: ink, 2099 } } 2100 aria-pressed={ tpl === k } 2101 title={ l } 2102 onClick={ () => setTplOpts( { tpl: k } ) } 2103 > 2104 { __( '가', 'editnday' ) } 2105 </button> 2106 ) ) } 1868 2107 <button 1869 key={ k }1870 2108 type="button" 1871 className={ `ed-tpl__sw ${1872 tpl === k? ' is-on' : ''2109 className={ `ed-tpl__sw ed-tpl__sw--custom${ 2110 tpl === 'custom' ? ' is-on' : '' 1873 2111 }` } 1874 style={ { 1875 background: 1876 c.length > 1 1877 ? `linear-gradient(135deg, ${ c[ 0 ] }, ${ c[ 1 ] })` 1878 : c[ 0 ], 1879 color: ink, 1880 } } 1881 aria-pressed={ tpl === k } 1882 title={ l } 1883 onClick={ () => setTpl( k ) } 2112 style={ 2113 tpl === 'custom' 2114 ? { background: tplOpts.color } 2115 : undefined 2116 } 2117 aria-pressed={ tpl === 'custom' } 2118 title={ __( '직접 고른 색', 'editnday' ) } 2119 onClick={ () => setTplOpts( { tpl: 'custom' } ) } 1884 2120 > 1885 { __( '가', 'editnday' )}2121 { tpl === 'custom' ? '' : '+' } 1886 2122 </button> 1887 ) ) } 1888 </span> 2123 </span> 2124 </div> 2125 { tpl === 'custom' && ( 2126 <div className="ed-tpl__row"> 2127 <span className="ed-tpl__label" /> 2128 <span className="ed-tpl__color"> 2129 <input 2130 type="color" 2131 aria-label={ __( '바탕색 고르기', 'editnday' ) } 2132 value={ 2133 /^#[0-9a-f]{6}$/i.test( tplOpts.color ) 2134 ? tplOpts.color 2135 : '#2F5D50' 2136 } 2137 onChange={ ( e ) => 2138 setTplOpts( { color: e.target.value } ) 2139 } 2140 /> 2141 <input 2142 type="text" 2143 aria-label={ __( '바탕색 hex', 'editnday' ) } 2144 value={ tplOpts.color } 2145 maxLength={ 7 } 2146 spellCheck={ false } 2147 onChange={ ( e ) => { 2148 const v = e.target.value.trim(); 2149 setTplOpts( { 2150 color: v.startsWith( '#' ) ? v : '#' + v, 2151 } ); 2152 } } 2153 /> 2154 </span> 2155 </div> 2156 ) } 2157 <div className="ed-tpl__row"> 2158 <span className="ed-tpl__label"> 2159 { __( '배치', 'editnday' ) } 2160 </span> 2161 <span className="ed-chips"> 2162 { TPL_LAYOUTS.map( ( [ k, l ] ) => ( 2163 <Chip 2164 key={ k } 2165 on={ tplOpts.layout === k } 2166 onClick={ () => setTplOpts( { layout: k } ) } 2167 > 2168 { l } 2169 </Chip> 2170 ) ) } 2171 </span> 2172 </div> 2173 <div className="ed-tpl__row"> 2174 <span className="ed-tpl__label"> 2175 { __( '비율', 'editnday' ) } 2176 </span> 2177 <span className="ed-chips"> 2178 { TPL_ASPECTS.map( ( [ k, l ] ) => ( 2179 <Chip 2180 key={ k } 2181 on={ tplOpts.aspect === k } 2182 onClick={ () => setTplOpts( { aspect: k } ) } 2183 > 2184 { l } 2185 </Chip> 2186 ) ) } 2187 </span> 2188 </div> 2189 { tplPreview ? ( 2190 <img 2191 className="ed-tpl__preview" 2192 src={ tplPreview } 2193 alt={ __( '배경 틀 미리보기', 'editnday' ) } 2194 /> 2195 ) : ( 2196 <span className="ed-muted"> 2197 { __( 2198 '제목을 쓰면 여기에 미리보기가 나와요.', 2199 'editnday' 2200 ) } 2201 </span> 2202 ) } 1889 2203 <Ghost 1890 2204 disabled={ 1891 2205 !! busy || 1892 ! ( onImage.trim() || st.title?.trim() ) 2206 ! tplText || 2207 ( tpl === 'custom' && 2208 ! /^#[0-9a-f]{6}$/i.test( tplOpts.color ) ) 1893 2209 } 1894 2210 onClick={ () => … … 1896 2212 'featured', 1897 2213 async () => ( 1898 await templateFeatured( 1899 onImage.trim() || st.title, 1900 tpl 1901 ), 2214 await templateFeatured( tplText, tpl, { 2215 color: tplOpts.color, 2216 layout: tplOpts.layout, 2217 aspect: tplOpts.aspect, 2218 } ), 1902 2219 setRedo( false ) 1903 2220 ) … … 1909 2226 <span className="ed-muted"> 1910 2227 { __( 1911 '위 "그림에 넣을 제목"을, 비워 두면 글 제목을 1200×630 그림 가운데에 넣어요.',2228 '위 "그림에 넣을 제목"을, 비워 두면 글 제목을 넣어요. AI·서버 없이 이 컴퓨터에서 바로 그려요.', 1912 2229 'editnday' 1913 ) }{ ' ' } 1914 가운데에 넣어요. 2230 ) } 1915 2231 </span> 1916 2232 </div> -
editnday/tags/1.0.88/src/style.scss
r3742866 r3747744 764 764 .ed-tpl__swatches { 765 765 display: flex; 766 flex-wrap: wrap; 766 767 gap: 6px; 768 } 769 // 배경 틀 줄: 왼쪽 이름 + 오른쪽 고르기 (10-15) 770 .ed-tpl__row { 771 display: grid; 772 grid-template-columns: 34px 1fr; 773 column-gap: 8px; 774 align-items: start; 775 } 776 .ed-tpl__label { 777 font-size: 11px; 778 font-weight: 600; 779 color: #50575e; 780 line-height: 26px; 781 } 782 .ed-tpl__sw--custom { 783 background: #fff; 784 border-style: dashed; 785 color: #50575e; 786 font-size: 16px; 787 font-weight: 500; 788 } 789 .ed-tpl__color { 790 display: inline-flex; 791 align-items: center; 792 gap: 6px; 793 input[type="color"] { 794 width: 28px; 795 height: 26px; 796 padding: 2px; 797 border: 1px solid #c3c4c7; 798 border-radius: 4px; 799 background: #fff; 800 cursor: pointer; 801 } 802 input[type="text"] { 803 width: 88px; 804 height: 26px; 805 min-height: 26px; 806 padding: 0 8px; 807 font-size: 12px; 808 font-family: ui-monospace, Menlo, monospace; 809 text-transform: uppercase; 810 border: 1px solid #c3c4c7; 811 border-radius: 4px; 812 } 813 } 814 .ed-tpl__preview { 815 display: block; 816 max-width: 100%; 817 max-height: 220px; 818 margin: 2px auto 0; 819 border-radius: 6px; 820 border: 1px solid rgba(0, 0, 0, 0.1); 767 821 } 768 822 .ed-tpl__sw { -
editnday/trunk/CHANGELOG.md
r3743363 r3747744 3 3 > 이 파일은 `apps/site/src/content/updates/`에서 만들어진다 (`pnpm release:plugin`). 직접 고치지 않는다. 4 4 > 웹에서 보기: https://editn.day/updates 5 6 ## 1.0.88 (2026-10-15) — 배경 틀 썸네일: 미리보기·비율·배치·직접 고른 색 7 8 - (무료) **AI 없이 배경 틀로 만들기**를 고쳤어요. 9 - 고르는 대로 바로 **미리보기**가 나와요. 10 - **비율**: 공유 1.91:1(카카오톡·페이스북 미리보기) · 가로 16:9 · 가로 4:3 · 세로 3:4 · 세로 9:16 11 - **배치**: 가운데 · 잡지형(위에 사이트 이름, 아래쪽에 짧은 막대와 큰 제목) · 아래 띠 12 - **색**: 기본 6가지에 더해 **직접 고른 색**(컬러 피커나 hex 코드). 글자색은 바탕에 맞춰 자동으로 13 - 제목이 짧으면 크게, 길면 작게 맞춰요. 마지막에 고른 것을 기억해요. 14 - AI·서버를 부르지 않고 이 컴퓨터에서 바로 그려요. 5 15 6 16 ## 1.0.77 (2026-10-13) — 읽힘 세기: 떠난 뒤 더 읽으면 보정, 성과 표 제목 따옴표 -
editnday/trunk/build/index.asset.php
r3742866 r3747744 14 14 'wp-plugins' 15 15 ), 16 'version' => ' 22091c4fbc188e4a19f6'16 'version' => 'b728a36bc7a64e8c88e5' 17 17 ); -
editnday/trunk/build/index.js
r3742866 r3747744 1 (()=>{"use strict";var e={786(e,t,n){var s={};n.r(s),n.d(s,{EVENT:()=>u,SLOT:()=>_,emit:()=>m,hasPro:()=>h,slot:()=>y});var d={};n.r(d),n.d(d,{Bar:()=>M,Card:()=>w,Check:()=>j,Chip:()=>S,Cta:()=>k,Elapsed:()=>E,Ghost:()=>N,Head:()=>A,Live:()=>P,Opt:()=>$,Radio:()=>O,Req:()=>I,Stepper:()=>L,Steps:()=>B,Symbol:()=>x,Tabs:()=>v,Tag:()=>C});var a={};n.r(a),n.d(a,{CONTENT_STYLE:()=>te,applyToSentence:()=>le,bodyHeadings:()=>Q,clearEmptyStart:()=>ie,contentStyleOn:()=>ne,findSentenceBlock:()=>ce,hasSection:()=>W,insertSection:()=>X,insertSectionAfter:()=>ee,plainText:()=>de,restoreBlocks:()=>oe,setTitle:()=>re,showSentence:()=>_e,withContentStyle:()=>se});var i={};n.r(i),n.d(i,{CategoryNoFit:()=>st,KoSeoCard:()=>Pt,PublishScreen:()=>Rt,TASKS:()=>ht,TEMPLATES:()=>kt,closestSentence:()=>ct,contentText:()=>tt,decode:()=>dt,ed:()=>Ze,edit:()=>Ye,hasWord:()=>lt,insertRelated:()=>It,memberOnly:()=>rt,placeVisible:()=>gt,readMeta:()=>Qe,setFineKeyword:()=>xt,strip:()=>At,tagIds:()=>yt,templateFeatured:()=>vt,titleFeatured:()=>Ct,useKoSeo:()=>Et,usePublishState:()=>ft,writeMeta:()=>et});const r=window.wp.i18n,l=window.wp.editor,o=window.wp.element,c=window.wp.hooks,_={pro:"editnday.pro",tabs:"editnday.sidebar.tabs",notice:"editnday.notice",checkItemActions:"editnday.check.itemActions",publishFieldActions:"editnday.publish.fieldActions",keywordFix:"editnday.publish.keywordFix",keywordInfo:"editnday.publish.keywordInfo",prepublishFixes:"editnday.prepublish.fixes"},u={newPost:"editnday.newPost"},h=()=>!!(0,c.applyFilters)(_.pro,null),y=(e,t={})=>{const n=(0,c.applyFilters)(e,[],t);return Array.isArray(n)?n.filter(Boolean):[]},m=(e,...t)=>(0,c.doAction)(e,...t),p=window.wp.components,g=window.wp.compose,f=window.ReactJSXRuntime,x=({size:e=16,color:t="#243235"})=>(0,f.jsx)("svg",{viewBox:"0 0 44 46.6",width:e,height:e,"aria-hidden":"true",children:(0,f.jsx)("path",{fill:t,d:"M43.22,21.083c.304-6.426-2.765-9.571-2.765-9.571-4.952-5.651-16.923-5.378-27.013-5.047-1.774,0-2.833.293-4.019.748-1.738.635-3.071,1.831-4.423,3.1-1.435,1.352-2.621,3.131-3.517,5.49C.131,19.294-.296,23.225.2,27.005c0,.003,0,.005.001.008,0,0,1.116,5.041,2.233,7.124.662,1.241,4.373,5.311,5.531,5.987,2.069,1.2,5.559,2.262,7.863,1.117-.386-.455-.814-.91-1.035-1.476-.221-.538-.221-1.228.166-1.669.11-.138.221-.262.331-.372.772.028,1.499.428,5.568.428,5.378.133,16.915,1.493,15.26-2.767-13.801-.264-20.166-.917-22.161-3.05-.475-.508-.34-1.395.13-.921,3.733,3.767,23.166,3.09,23.175,3.095,3.119.035,5.785-8.914,5.957-13.425ZM12.152,28.125c-2.019.168-3.793-2.006-2.416-3.297.971-.912,2.233-1.046,3.547.038,1.691,1.459.425,3.13-1.131,3.26Z"})}),b=()=>(0,f.jsx)("svg",{viewBox:"0 0 24 24",width:"16",height:"16",fill:"none",stroke:"#243235",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",children:(0,f.jsx)("path",{d:"M7 17L17 7M9 7h8v8"})}),j=({color:e="#fff"})=>(0,f.jsx)("svg",{viewBox:"0 0 24 24",width:"12",height:"12",fill:"none",stroke:e,strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,f.jsx)("path",{d:"M5 12.5l4.5 4.5L19 7.5"})}),w=({children:e,className:t=""})=>(0,f.jsx)("div",{className:`ed-card ${t}`,children:e}),k=({children:e,onClick:t,disabled:n})=>(0,f.jsxs)("button",{type:"button",className:"ed-cta",onClick:t,disabled:n,children:[(0,f.jsx)("span",{children:e}),(0,f.jsx)("span",{className:"ed-cta__dot",children:(0,f.jsx)(b,{})})]}),N=({children:e,onClick:t,disabled:n})=>(0,f.jsx)("button",{type:"button",className:"ed-ghost",onClick:t,disabled:n,children:e}),v=({tabs:e,value:t,onChange:n})=>(0,f.jsx)("div",{className:"ed-tabs",role:"tablist",children:e.map(([e,s])=>(0,f.jsx)("button",{type:"button",role:"tab","aria-selected":t===e,className:"ed-tab"+(t===e?" is-on":""),onClick:()=>n(e),children:s},e))}),S=({children:e,on:t,lav:n,onClick:s})=>(0,f.jsx)("button",{type:"button",className:`ed-chip${t?" is-on":""}${n?" is-lav":""}`,onClick:s,"aria-pressed":!!t,children:e}),C=({children:e,tone:t})=>(0,f.jsx)("span",{className:"ed-tag"+(t?` is-${t}`:""),children:e}),I=()=>(0,f.jsx)("span",{className:"ed-req",role:"img","aria-label":(0,r.__)("필수","editnday")}),$=()=>(0,f.jsx)("span",{className:"ed-opt",children:(0,r.__)("선택","editnday")}),A=({eyebrow:e,title:t,sub:n})=>(0,f.jsxs)("div",{className:"ed-head",children:[e&&(0,f.jsx)("span",{className:"ed-eyebrow",children:e}),(0,f.jsx)("h2",{className:"ed-h",children:t}),n&&(0,f.jsx)("p",{className:"ed-sub",children:n})]}),B=({steps:e})=>(0,f.jsx)("div",{className:"ed-steps",children:e.map(e=>(0,f.jsxs)("div",{className:`ed-step is-${e.state}`,children:[(0,f.jsx)("span",{className:"ed-circ",children:"done"===e.state&&(0,f.jsx)(j,{})}),(0,f.jsx)("span",{className:"ed-step__label",children:e.label}),e.meta&&(0,f.jsx)("span",{className:"ed-muted ed-step__meta",children:e.meta})]},e.label))});function E({since:e}){const[t,n]=(0,o.useState)(Date.now());(0,o.useEffect)(()=>{const e=setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(e)},[]);const s=Math.max(0,Math.round((t-e)/1e3));return(0,f.jsx)("span",{className:"ed-muted ed-elapsed",children:s>=60?(0,r.sprintf)(/* translators: %1$s: Math.floor( s / 60 ), %2$s: s % 60 */ /* translators: %1$s: Math.floor( s / 60 ), %2$s: s % 60 */(0,r.__)("%1$s분 %2$s초째","editnday"),Math.floor(s/60),s%60):(0,r.sprintf)(/* translators: %s: s */ /* translators: %s: s */(0,r.__)("%s초째","editnday"),s)})}const P=({text:e,since:t})=>(0,f.jsxs)("div",{className:"ed-live",children:[(0,f.jsx)("span",{className:"ed-pulse"}),(0,f.jsx)("span",{className:"ed-live__t",children:e}),(0,f.jsx)(E,{since:t})]}),M=({ratio:e,busy:t})=>(0,f.jsxs)("div",{className:"ed-bar"+(t?" is-busy":""),role:"progressbar","aria-valuenow":Math.round(100*e),"aria-valuemin":0,"aria-valuemax":100,children:[(0,f.jsx)("div",{className:"ed-bar__fill",style:{width:`${Math.max(4,100*e)}%`}}),(0,f.jsx)("div",{className:"ed-bar__hatch"})]}),O=({checked:e,onChange:t,children:n})=>{const s=`ed-radio-${(0,g.useInstanceId)(O)}`;return(0,f.jsxs)("label",{htmlFor:s,className:"ed-radio"+(e?" is-on":""),children:[(0,f.jsx)("input",{id:s,type:"radio",checked:e,onChange:t}),(0,f.jsx)("span",{className:"ed-rdot"}),(0,f.jsx)("span",{children:n})]})},T={start:[0,-1,""],research:[0,0,(0,r.__)("에디튼이 자료를 모으는 중 · 1~2분","editnday")],plan:[1,-1,""],writing:[1,1,(0,r.__)("다 쓰면 확인할 곳을 보여 드려요 · 2~3분","editnday")],review:[2,-1,(0,r.__)("확인할 곳을 정하면 발행 준비로 넘어가요","editnday")],done:[2,-1,""]},q=[(0,r.__)("주제·메모","editnday"),(0,r.__)("구성안 고르기","editnday"),(0,r.__)("확인·발행","editnday")],F=[(0,r.__)("자료 조사","editnday"),(0,r.__)("본문 쓰기","editnday")];function L({stage:e}){const t=T[e];if(!t)return null;const[n,s,d]=t,a=s>=0?s:n-1;return(0,f.jsxs)("div",{className:"ed-stepper","aria-label":(0,r.sprintf)(/* translators: 1: 지금 단계 번호, 2: 진행 중인 일 (예: ", 구성안 만드는 중") */ /* translators: 1: 지금 단계 번호, 2: 진행 중인 일 (예: ", 구성안 만드는 중") */(0,r.__)("작가가 할 일 3단계 중 %1$s단계%2$s","editnday"),n+1,s>=0?(0,r.sprintf)(/* translators: %s: 진행 중인 일 */ /* translators: %s: 진행 중인 일 */2 (0, r.__)(", %s 중","editnday"),F[s]):""),children:[(0,f.jsx)("div",{className:"ed-stepper__flow",children:q.map((e,t)=>{const d=t<=a,i=!d&&t===n&&s<0;return[(0,f.jsxs)("div",{className:`ed-stepper__st${d?" is-done":""}${i?" is-now":""}`,children:[(0,f.jsx)("span",{className:"ed-stepper__dot",children:d?(0,f.jsx)(j,{}):t+1}),(0,f.jsx)("span",{className:"ed-stepper__lbl",children:e})]},e),t<F.length&&(0,f.jsxs)("div",{className:`ed-stepper__link${t===s?" is-run":""}${t<a||t<n&&s<0?" is-done":""}`,children:[(0,f.jsx)("span",{className:"ed-stepper__line"}),(0,f.jsxs)("em",{children:[F[t],t===s?(0,r.__)("중","editnday"):""]})]},F[t])]})}),d&&(0,f.jsx)("span",{className:"ed-stepper__note",children:d})]})}const R="editnday_pro_card_off";function K({onClose:e}){return(0,f.jsxs)(p.Modal,{title:(0,r.__)("에디튼 프로","editnday"),onRequestClose:e,className:"ed-proinfo",size:"medium",children:[(0,f.jsx)("p",{children:(0,r.__)("에디튼 프로는 지금 쓰는 에디튼에 AI를 더해요. 무료 기능은 그대로이고, 같은 사이드바에 버튼과 [새 글 쓰기] 탭이 생겨요.","editnday")}),(0,f.jsxs)("ul",{children:[(0,f.jsx)("li",{children:(0,r.__)("새 글 쓰기: 주제와 메모로 자료 조사 → 구성안 → 내 문체의 초안 → 확인할 곳까지 (글 1편 10크레딧 안팎)","editnday")}),(0,f.jsx)("li",{children:(0,r.__)("글 점검에서 찾은 문장을 AI로 고치기, 줄이기, 다시 쓰기","editnday")}),(0,f.jsx)("li",{children:(0,r.__)("발행 준비 칸 채우기: 발췌문·태그·카테고리·영문 주소·SEO 제목과 설명·요약·질문답 (한 번에)","editnday")}),(0,f.jsx)("li",{children:(0,r.__)("대표 이미지 만들기(1장 1크레딧)와 ALT, 단락 더 쓰기(1크레딧)","editnday")})]}),(0,f.jsx)("p",{className:"ed-muted",children:(0,r.__)("프로를 설치하고 라이선스를 넣으면 바로 쓸 수 있어요. 지금 이 화면의 기능은 프로 없이도 계속 무료예요.","editnday")}),(0,f.jsx)("p",{children:(0,f.jsx)("a",{className:"components-button is-primary",href:"https://editn.day/",target:"_blank",rel:"noopener noreferrer",children:(0,r.__)("에디튼 프로 알아보기","editnday")})})]})}function D({label:e}){const[t,n]=(0,o.useState)(!1);return h()?null:(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("button",{type:"button",className:"ed-prohint",onClick:()=>n(!0),children:[e," ",(0,f.jsx)("span",{className:"ed-prohint__tag",title:(0,r.__)("프로","editnday"),children:"P"})]}),t&&(0,f.jsx)(K,{onClose:()=>n(!1)})]})}const H=()=>{try{return"1"===window.localStorage.getItem(R)}catch(e){return!1}};function U(){const[e,t]=(0,o.useState)(H),[n,s]=(0,o.useState)(!1);return h()||e?null:(0,f.jsxs)(w,{className:"ed-procard",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsxs)("span",{className:"ed-lbl",children:[(0,r.__)("초안도 써 드려요","editnday")," ",(0,f.jsx)("span",{className:"ed-prohint__tag",title:(0,r.__)("프로","editnday"),children:"P"})]}),(0,f.jsx)("button",{type:"button",className:"ed-link ed-muted",onClick:()=>{t(!0);try{window.localStorage.setItem(R,"1")}catch(e){}},"aria-label":(0,r.__)("이 안내 닫기","editnday"),children:(0,r.__)("닫기","editnday")})]}),(0,f.jsx)("span",{className:"ed-small",children:(0,r.__)("에디튼 프로는 주제와 메모만으로 자료를 찾아 내 문체의 초안을 쓰고, 여기서 찾은 문장도 AI로 고쳐요.","editnday")}),(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>s(!0),children:(0,r.__)("자세히 보기","editnday")}),n&&(0,f.jsx)(K,{onClose:()=>s(!1)})]})}const V=window.wp.apiFetch;var z=n.n(V);const G=window.wp.blocks,J=window.wp.data;function W(e){return(0,J.select)("core/block-editor").getBlocks().some(t=>"core/heading"===t.name&&t.attributes?.metadata?.editnday===e)}function X({id:e,heading:t,text:n}){if(e&&W(e))return!1;const s=[(0,G.createBlock)("core/heading",{level:2,content:ue(t),metadata:{editnday:e}})],d=(0,G.pasteHandler)({plainText:String(n).replace(/~/g,"\\~"),mode:"BLOCKS"});return s.push(...(Array.isArray(d)?d:[]).map(se)),(0,J.dispatch)("core/block-editor").insertBlocks(s),!0}const Z=e=>String(e.attributes?.content??"").replace(/<[^>]+>/g,"").trim(),Y=e=>"faq"===e.attributes?.metadata?.editnday;function Q(){return(0,J.select)("core/block-editor").getBlocks().filter(e=>"core/heading"===e.name&&2===(e.attributes.level??2)&&Z(e)).map(Z)}function ee({heading:e,text:t,afterHeading:n}){const s=(0,J.select)("core/block-editor").getBlocks(),d=e=>"core/heading"===e.name&&2===(e.attributes.level??2),a=s.findIndex(Y),i=a>=0?a:s.length,r=s.findIndex(e=>d(e)&&Z(e)===n);let l=i;if(r>=0&&r<i){const e=s.findIndex((e,t)=>t>r&&d(e));l=e>=0&&e<i?e:i}const o=(0,G.pasteHandler)({plainText:String(t).replace(/~/g,"\\~"),mode:"BLOCKS"}),c=[(0,G.createBlock)("core/heading",{level:2,content:ue(e),metadata:{editnday:`extra-${Date.now()}`}}),...(Array.isArray(o)?o:[]).map(se)];return(0,J.dispatch)("core/block-editor").insertBlocks(c,l),c.map(e=>e.clientId)}const te="is-style-editnday",ne=()=>"off"!==window.editndayConfig?.contentStyle;function se(e){if("core/list"!==e?.name&&"core/table"!==e?.name||!ne())return e;const t=e.attributes.className||"";return/\bis-style-/.test(t)||(e.attributes.className=`${t} ${te}`.trim()),e}const de=e=>String(e).replace(/\[([^\]]+)\]\([^)]*\)/g,"$1"),ae=e=>String(e).replace(/\[([^\]]+)\]\(([^)\s]+)\)/g,'<a href="$2">$1</a>');function ie(){const e=(0,J.select)("core/block-editor").getBlocks();1!==e.length||"core/paragraph"!==e[0].name||e[0].attributes.content||(0,J.dispatch)("core/block-editor").removeBlocks([e[0].clientId])}function re(e){(0,J.dispatch)("core/editor").editPost({title:e})}function le(e,t){const n=(0,J.select)("core/block-editor"),s=n=>{for(const d of n){if("core/paragraph"===d.name||"core/list-item"===d.name){const n=String(d.attributes.content??""),s=[e,ae(e),de(e)].find(e=>n.includes(e)),a=s?n.indexOf(s):-1;if(a>=0){const e=(n.slice(0,a)+ae(t??"")+n.slice(a+s.length)).replace(/\s{2,}/g," ").trim();return(0,J.dispatch)("core/block-editor").updateBlockAttributes(d.clientId,{content:e}),{clientId:d.clientId,before:n}}}const n=!!d.innerBlocks?.length&&s(d.innerBlocks);if(n)return n}return!1};return s(n.getBlocks())}function oe(e){const t=(0,J.select)("core/block-editor");for(const n of[...e].reverse())t.getBlock(n.clientId)&&(0,J.dispatch)("core/block-editor").updateBlockAttributes(n.clientId,{content:n.before})}function ce(e){const t=[e,ae(e),de(e)],n=e=>{for(const s of e){const e=String(s.attributes?.content??"");if(e&&t.some(t=>e.includes(t)))return s.clientId;const d=s.innerBlocks?.length&&n(s.innerBlocks);if(d)return d}return null};return n((0,J.select)("core/block-editor").getBlocks())}function _e(e){const t=ce(e);if(!t)return!1;const n=document.querySelector('iframe[name="editor-canvas"]')?.contentDocument||document,s=n.querySelector(`[data-block="${t}"]`),d=n.defaultView,a=s&&function(e,t){const n=e.ownerDocument,s=n.createTreeWalker(e,4),d=[];let a="";for(let e=s.nextNode();e;e=s.nextNode())d.push({n:e,start:a.length}),a+=e.nodeValue;const i=e=>e.replace(/\s+/g," "),r=i(a).indexOf(i(t).trim());if(r<0)return null;const l=[];for(let e=0,t=!1;e<a.length;e++){const n=/\s/.test(a[e]);n&&t||l.push(e),t=n}const o=l[r],c=(l[r+i(t).trim().length-1]??a.length-1)+1,_=e=>{const t=d.findLastIndex(t=>t.start<=e),n=d[Math.max(0,t)];return[n.n,Math.min(e-n.start,n.n.nodeValue.length)]},u=n.createRange();return u.setStart(..._(o)),u.setEnd(..._(c)),u}(s,de(e));if(!a||!d?.CSS?.highlights||"function"!=typeof d.Highlight)return(0,J.dispatch)("core/block-editor").selectBlock(t),(0,J.dispatch)("core/block-editor").flashBlock?.(t),!0;(a.startContainer.parentElement||s).scrollIntoView({behavior:"smooth",block:"center"});let i=n.getElementById("editnday-mark-style");i||(i=n.createElement("style"),i.id="editnday-mark-style",n.head.appendChild(i)),d.CSS.highlights.set("editnday-mark",new d.Highlight(a));const r=Date.now();return clearInterval(_e.timer),_e.timer=setInterval(()=>{const e=Date.now()-r,t=e<2500?.75:Math.max(0,.75*(1-(e-2500)/1500));i.textContent=`::highlight(editnday-mark){background-color:rgba(211,183,241,${t.toFixed(3)});color:inherit}`,0===t&&(clearInterval(_e.timer),d.CSS.highlights.delete("editnday-mark"))},50),!0}const ue=e=>String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),he=(e,t,n="낱말")=>({re:new RegExp(`(?<![가-힣])${e}`,"g"),fix:t,kind:n}),ye=(e,t)=>({re:new RegExp(e,"g"),fix:t,kind:"어미"}),me=[he("몇 ?일(?!본|반|부|정|자리|손|꾼|요일|단|등|대|원|차)","며칠"),he("웬지","왠지"),he("왠만","웬만"),he("왠일","웬일"),he("왠걸","웬걸"),he("왠 (?=[가-힣])","웬 "),he("금새","금세"),he("일일히","일일이"),he("깨끗히","깨끗이"),he("틈틈히","틈틈이"),he("곰곰히","곰곰이"),he("번번히","번번이"),he("일찌기","일찍이"),he("오랫만","오랜만"),he("오랜동안","오랫동안"),he("설겆이","설거지"),he("희안","희한"),he("어의없","어이없"),he("역활","역할"),he("되물림","대물림"),he("구지(?= |[.,])","굳이"),he("어짜피","어차피"),he("어줍잖","어쭙잖"),he("널부러","널브러"),he("닥달","닦달"),he("짜집기","짜깁기"),he("설레임","설렘"),he("설레이","설레"),he("헤매이","헤매"),he("되뇌이","되뇌"),he("애시당초","애당초"),he("무릎쓰","무릅쓰"),he("뒤치닥거리","뒤치다꺼리"),he("개거품","게거품"),he("칠흙","칠흑"),he("희노애락","희로애락"),he("인권비","인건비"),he("뇌졸증","뇌졸중"),he("숫가락","숟가락"),he("육계장","육개장"),{re:/찌게(?! ?(하|해|했|되|만들))/g,fix:"찌개",kind:"낱말"},he("떡볶기","떡볶이"),he("윗층","위층"),he("윗쪽","위쪽"),he("아랫층","아래층"),he("가르키","가리키(가리킬 때)·가르치(알려 줄 때)"),he("모자르","모자라"),he("들어나(?=[다고는면서지])","드러나"),he("들어났","드러났"),he("어떡게","어떻게"),he("어떻해","어떡해"),ye("되요","돼요"),ye("되서(?![가-힣])","돼서"),ye("되야","돼야"),ye("됬","됐"),ye("떄","때"),ye("됀","된"),ye("뵈요","봬요"),ye("뵜","뵀"),ye("(?<=[가-힣])이예요","이에요"),ye("아니예요","아니에요"),ye("있슴(?![가-힣])","있음"),ye("없슴(?![가-힣])","없음"),ye("알맞는","알맞은"),ye("걸맞는","걸맞은"),ye("치뤄","치러"),ye("치뤘","치렀"),ye("잠궈","잠가"),ye("잠궜","잠갔"),ye("담궈","담가"),ye("담궜","담갔"),ye("삼가해","삼가"),ye("(?<![가-힣])할려고","하려고"),ye("(?<![가-힣])할려면","하려면"),ye("(?<![가-힣])볼려고","보려고"),ye("(?<![가-힣])먹을려고","먹으려고"),ye("(?<![가-힣])될려고","되려고"),ye("안절부절(?=하|했|한)","안절부절못"),{re:/않(?= ?(하|해|했|된|되|돼))/g,fix:"안",kind:"어미"},{re:/(?<=지 )안(?=[아았는을])/g,fix:"않",kind:"어미"},{re:/가능한 (?=빨리|많이|빠르게|일찍|자주|정확하게|짧게)/g,fix:"가능한 한 ",kind:"표현"},{re:/(?<=답을 )맞(?=추|춰|췄)/g,fix:"맞히(정답을 맞히다)",kind:"표현"},{re:/(?<=사단이 )(났|나)/g,fix:"'사달이 났다'",kind:"표현"},{re:/(?<=(?:하기|하시기|되기|되시기|가기|오기)를 )바래/g,fix:"바라",kind:"표현"},{re:/(?<=(?:하길|되길|가길|오길) )바래/g,fix:"바라",kind:"표현"},he("컨텐츠","콘텐츠","외래어"),he("메세지","메시지","외래어"),he("악세사리","액세서리","외래어"),he("악세서리","액세서리","외래어"),he("리더쉽","리더십","외래어"),he("멤버쉽","멤버십","외래어"),he("파트너쉽","파트너십","외래어"),he("스폰서쉽","스폰서십","외래어"),he("타겟","타깃","외래어"),he("비지니스","비즈니스","외래어"),he("워크샵","워크숍","외래어"),he("스케쥴","스케줄","외래어"),he("쥬스","주스","외래어"),he("초콜렛","초콜릿","외래어"),he("케익","케이크","외래어"),he("카페트","카펫","외래어"),he("부페","뷔페","외래어"),he("렌트카","렌터카","외래어"),he("프로포즈","프러포즈","외래어"),he("로보트","로봇","외래어"),he("앙케이트","앙케트","외래어"),he("엑세스","액세스","외래어"),he("어플리케이션","애플리케이션","외래어"),he("싸이트","사이트","외래어"),he("화이팅","파이팅","외래어"),he("데이타","데이터","외래어"),he("컨셉","콘셉트","외래어"),he("팜플렛","팸플릿","외래어")],pe=e=>(e.charCodeAt(0)-44032)%28,ge=e=>!!e&&e>="가"&&e<="힣";function fe(e){const t=[];for(const n of e.matchAll(/([가-힣])(께|껄)(?=요|[\s.,!?~]|$)/g))8===pe(n[1])&&t.push({wrong:n[0],fix:`${n[1]}${"께"===n[2]?"게":"걸"}`});return t}function xe(e){const t=[];for(const n of e.matchAll(/([가-힣])(율|률)/g)){if(!ge(n[1]))continue;const e=pe(n[1]),s=0===e||4===e?"율":"률";n[2]!==s&&t.push({wrong:n[0],fix:`${n[1]}${s}`})}return t}function be(e){const t=[];for(const n of je(e.text)){const s=[];for(const e of me)for(const t of n.matchAll(e.re))s.push({wrong:t[0].trim(),fix:e.fix.trim()});s.push(...fe(n),...xe(n));const d=new Set;for(const a of s)d.has(a.wrong)||(d.add(a.wrong),t.push({sectionId:e.id,rule:"common_mistake",severity:"warn",detail:`"${a.wrong}" → "${a.fix}"`,sentence:n}))}return t}function je(e){return function(e){return e.replace(/\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/https?:\/\/\S+/g,"")}(e).replace(/\n+/g,"\n").split(/(?<=[.!?。])\s+|\n/).map(e=>e.replace(/^[#>\-*\s|]+/,"").trim()).filter(e=>e.length>3&&!e.startsWith("|"))}function we(e){const t=je(e).map(e=>e.length),n=t.length||1;return{chars:e.replace(/^#.*$/gm,"").trim().length,sentences:t.length,sentenceAvg:Math.round(t.reduce((e,t)=>e+t,0)/n*10)/10,long100:Math.round(t.filter(e=>e>=100).length/n*1e3)/10,short25:Math.round(t.filter(e=>e<25).length/n*1e3)/10}}const ke=[{re:/완벽한|압도적인|독보적인|특별한 경험/,label:"상투 극찬"},{re:/이상으로 .{0,10}(살펴|알아)/,label:"요약형 맺음"},{re:/(이번 글|이 글)에서(는)? .{0,30}(살펴보|알아보|따라가|다루|정리해)/,label:"메타 서술"},{re:/결론적으로|요약하자면|정리하자면|^정리하면|^요컨대|^종합하면/,label:"정리형 연결어"},{re:/(앞으로|다음에는?|이제부터).{0,40}(보게|하게|찾게|쓰게|되게) 될 것 같다/,label:"작가 행동을 지어냈을 수 있음"},{re:/(기준|대상)[이가과은는]?.{0,12}(다르|달라).{0,20}(겹쳐|합쳐|곧바로|하나로|그대로).{0,8}(읽|비교|보)/,label:"정형 문장 (기준이 달라 합쳐 읽기 어렵다)"}];function Ne(e,t=[]){const n=[];for(const s of je(e.text)){for(const t of ke)t.re.test(s)&&n.push({sectionId:e.id,rule:"banned_phrase",severity:"warn",detail:t.label,sentence:s});for(const d of t)d&&s.includes(d)&&n.push({sectionId:e.id,rule:"banned_phrase",severity:"block",detail:`금지 표현 "${d}"`,sentence:s})}return n}const ve=/[\u3040-\u30ff\u31f0-\u31ff\uff66-\uff9f]/,Se=/[\u3400-\u4dbf\u4e00-\u9fff]/g;function Ce(e,t=100){return je(e.text).filter(e=>e.length>t).map(n=>({sectionId:e.id,rule:"long_sentence",severity:"warn",detail:`${n.length}자 문장 (${t}자 넘음)`,sentence:n}))}const Ie=/^(또한|그리고|하지만|그러나|그런데|또|특히|이처럼|따라서|즉|게다가|물론|결국)[\s,]/;function $e(e){const t=je(e.text),n=t.map(e=>e.split(/[\s,]/)[0]??""),s=[];for(let d=1;d<t.length;d++){const a=n[d];if(a.length<2||a!==n[d-1])continue;const i=Ie.test(t[d])&&Ie.test(t[d-1]),r=d>=2&&n[d-2]===a;(i||r)&&s.push({sectionId:e.id,rule:"same_start",severity:"warn",detail:`"${a}"(으)로 시작하는 문장이 이어짐`,sentence:t[d]})}return s}const Ae=new RegExp(`(?:^|[\\s"'(“‘])(${["정말","정말로","진짜","진짜로","너무","너무나","아주","매우","완전","엄청","굉장히","상당히","꽤","좀","조금","약간","거의","솔직히","사실","항상","늘","자주","무척","되게","많이","훨씬","딱","전혀","결코","절대","분명","확실히","당연히","역시","그냥","막","가장","제일","특히"].join("|")})(?=[\\s,.!?)”’]|$)`,"g");function Be(e,t=1){return je(e.text).flatMap(n=>{const s=[...n.matchAll(Ae)].map(e=>e[1]??"");return s.length>t?[{sectionId:e.id,rule:"adverb_heavy",severity:"warn",detail:`부사 ${s.length}개: ${s.join("·")}`,sentence:n}]:[]})}const Ee=/(?:고|는데|ㄴ데|은데|지만|며|면서|거나|니까|므로|어서|아서|해서|라서|려고|더니|다가)(?=[,\s])/g,Pe=/(?:^|\s)(그리고|그런데|그래서|그러나|하지만|그러면서|그러니까|그러므로|그렇지만|그러다가)(?=[,\s])/g;function Me(e,t=3){return je(e.text).flatMap(n=>{const s=(n.replace(Pe," ").match(Ee)??[]).length+1;return s>t?[{sectionId:e.id,rule:"many_clauses",severity:"warn",detail:`절 ${s}개`,sentence:n}]:[]})}function Oe(e){const t=e.map(e=>e.text).join("\n");if(!/\d{1,3}(,\d{3})+/.test(t))return[];const n=[];for(const t of e)for(const e of je(t.text))for(const s of e.matchAll(/(?<![\d,.])(\d{4,})(?![\d,])/g)){const d=Number(s[1]),a=e.slice(s.index+s[1].length),i=e.slice(0,s.index);4===s[1].length&&(d>=1900&&d<=2099||/^\s*(년|~)/.test(a)||/~\s*$/.test(i))||n.push({sectionId:t.id,rule:"number_format",severity:"warn",detail:`"${s[1]}" — 다른 곳은 쉼표를 썼어요 (${Number(d).toLocaleString("en-US")})`,sentence:e})}return n}function Te(e){const t=e.evidence.join(" ");return je(e.text).filter(e=>[...e.match(new RegExp(ve.source,"g"))??[],...e.replace(/\([^()]*\)/g,"").match(Se)??[]].some(e=>!t.includes(e))).map(t=>({sectionId:e.id,rule:"foreign_script",severity:"warn",detail:"한국어가 아닌 글자(일본어·한자)가 섞였어요",sentence:t}))}const qe={da:"-다",yo:"-요",sumnida:"-습니다"};function Fe(e,t="da"){const n=je(e.text).map(e=>({sent:e,t:e.replace(/[.!?"'”’)\]\s]+$/,"")}));return"da"===t?n.filter(({sent:e})=>/([어아여해에예지네]요|죠|(?<!아)니다)[.!]?$/.test(e)).map(({sent:t})=>({sectionId:e.id,rule:"ending_mixed",severity:"warn",detail:"평서체('-다') 글에 다른 어미",sentence:t})):n.filter(({t:e})=>/다$/.test(e)&&!/(니다|니까)$/.test(e)).map(({sent:n})=>({sectionId:e.id,rule:"ending_mixed",severity:"warn",detail:`존댓말('${qe[t]}') 글에 평서체('-다') 문장`,sentence:n}))}function Le(e){const t=new Map;for(const n of e)for(const e of je(n.text)){const s=e.split(/\s+/);for(let d=0;d+3<=s.length;d++){const a=s.slice(d,d+3).join(" ");if(a.length<8)continue;const i=t.get(a)??{n:0,sectionId:n.id,sentence:e};i.n++,t.set(a,i)}}return[...t.entries()].filter(([,e])=>e.n>=3).map(([e,t])=>({sectionId:t.sectionId,rule:"repetition",severity:"warn",detail:`"${e}" ${t.n}회 반복`,sentence:t.sentence}))}const Re=e=>{const t=e.replace(/\s+/g,""),n=new Set;for(let e=0;e+2<=t.length;e++)n.add(t.slice(e,e+2));return n};function Ke(e,t=.4){const n=e.flatMap(e=>je(e.text).filter(e=>e.length>=20).map(t=>({id:e.id,x:t,g:Re(t)}))),s=[],d=new Set;for(let e=0;e<n.length;e++)for(let a=e+1;a<n.length;a++){const i=n[e],r=n[a];if(i.id===r.id||d.has(r.x))continue;let l=0;i.g.forEach(e=>r.g.has(e)&&l++),l/(i.g.size+r.g.size-l)<t||(d.add(r.x),s.push({sectionId:r.id,rule:"repeated_sentence",severity:"warn",detail:`앞에서 거의 같은 말을 했어요: "${i.x.length>60?`${i.x.slice(0,60)}…`:i.x}"`,sentence:r.x}))}return s}const De=["core/paragraph","core/heading","core/list-item","core/quote","core/pullquote","core/verse"],He=e=>String(e??"").replace(/<br\s*\/?>/gi,"\n").replace(/<[^>]+>/g,"").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/�?39;/g,"'").replace(/&#(\d+);/g,(e,t)=>String.fromCodePoint(Number(t))).replace(/&#x([0-9a-f]+);/gi,(e,t)=>String.fromCodePoint(parseInt(t,16))).trim(),Ue=e=>["summary","faq"].includes(e?.attributes?.metadata?.editnday)||/\beditnday-(summary|faq|related)/.test(e?.attributes?.className||"");function Ve(e){const t=[],n=e=>{for(const s of e||[])if(!Ue(s)){if("core/paragraph"===s.name){const e=He(s.attributes?.content);e.length>500&&t.push({rule:"long_paragraph",detail:(0,r.sprintf)(/* translators: %s: t.length */ /* translators: %s: t.length */(0,r.__)("%s자 단락","editnday"),e.length),sentence:`${e.slice(0,40)}…`,clientId:s.clientId})}"core/image"!==s.name||String(s.attributes?.alt??"").trim()||t.push({rule:"image_alt",detail:(0,r.__)("대체 텍스트 없음","editnday"),sentence:(0,r.sprintf)(/* translators: %s: String( b.attributes?.url ?? '' ) .split( '/' ) .pop() || '' */ /* translators: %s: String( b.attributes?.url ?? '' ) .split( '/' ) .pop() || '' */(0,r.__)("이미지 %s","editnday"),String(s.attributes?.url??"").split("/").pop()||"").trim(),clientId:s.clientId}),n(s.innerBlocks)}};return n(e),t}function ze(e){const t=function(e){const t=[];let n={id:"s0",heading:"",lines:[],blockIds:[]},s=0;const d=e=>{for(const a of e||[])if(!Ue(a))if("core/heading"===a.name&&(a.attributes?.level??2)<=2)(n.lines.length||n.heading)&&t.push(n),n={id:"s"+ ++s,heading:He(a.attributes?.content),lines:[],blockIds:[a.clientId]};else{if(De.includes(a.name)){const e=He(a.attributes?.content??a.attributes?.value??a.attributes?.citation);e&&(n.lines.push(e),n.blockIds.push(a.clientId))}d(a.innerBlocks)}};return d(e),(n.lines.length||n.heading)&&t.push(n),t.map(e=>({id:e.id,heading:e.heading,text:e.lines.join("\n"),evidence:[],blockIds:e.blockIds}))}(e),n=t.map(e=>e.text).join("\n"),s=function(e){const t={da:0,yo:0,sumnida:0};for(const n of je(e)){const e=n.replace(/[.!?"'”’)\]\s]+$/,"");/(니다|니까)$/.test(e)?t.sumnida++:/([어아여해에예지네]요|죠)$/.test(e)?t.yo++:/다$/.test(e)&&t.da++}return t.da+t.yo+t.sumnida<4?null:Object.entries(t).sort((e,t)=>t[1]-e[1])[0][0]}(n),d=[...t.flatMap(e=>[...Ne(e),...be(e),...s?Fe(e,s):[],...Te(e),...Ce(e),...Be(e),...Me(e),...$e(e)]),...Ke(t),...Le(t),...Oe(t),...Ve(e)];return{sections:t,ending:s,issues:d,metrics:we(n)}}const Ge=[(0,r.__)("에서부터","editnday"),(0,r.__)("이라는","editnday"),(0,r.__)("이라고","editnday"),(0,r.__)("으로는","editnday"),(0,r.__)("에서는","editnday"),(0,r.__)("에서도","editnday"),(0,r.__)("으로서","editnday"),(0,r.__)("으로써","editnday"),(0,r.__)("이에요","editnday"),(0,r.__)("입니다","editnday"),(0,r.__)("에게","editnday"),(0,r.__)("에서","editnday"),(0,r.__)("한테","editnday"),(0,r.__)("으로","editnday"),(0,r.__)("까지","editnday"),(0,r.__)("부터","editnday"),(0,r.__)("처럼","editnday"),(0,r.__)("보다","editnday"),(0,r.__)("이나","editnday"),(0,r.__)("이란","editnday"),(0,r.__)("이라","editnday"),(0,r.__)("이랑","editnday"),(0,r.__)("이다","editnday"),(0,r.__)("인데","editnday"),(0,r.__)("이고","editnday"),(0,r.__)("이며","editnday"),(0,r.__)("이죠","editnday"),(0,r.__)("이야","editnday"),(0,r.__)("로서","editnday"),(0,r.__)("로써","editnday"),(0,r.__)("로는","editnday"),(0,r.__)("에는","editnday"),(0,r.__)("에도","editnday"),(0,r.__)("와는","editnday"),(0,r.__)("과는","editnday"),(0,r.__)("라는","editnday"),(0,r.__)("라고","editnday"),(0,r.__)("마다","editnday"),(0,r.__)("조차","editnday"),(0,r.__)("밖에","editnday"),(0,r.__)("예요","editnday"),(0,r.__)("은","editnday"),(0,r.__)("는","editnday"),(0,r.__)("이","editnday"),(0,r.__)("가","editnday"),(0,r.__)("을","editnday"),(0,r.__)("를","editnday"),(0,r.__)("의","editnday"),(0,r.__)("에","editnday"),(0,r.__)("께","editnday"),(0,r.__)("로","editnday"),(0,r.__)("와","editnday"),(0,r.__)("과","editnday"),(0,r.__)("도","editnday"),(0,r.__)("만","editnday"),(0,r.__)("나","editnday"),(0,r.__)("란","editnday"),(0,r.__)("라","editnday"),(0,r.__)("랑","editnday"),(0,r.__)("다","editnday"),(0,r.__)("인","editnday"),(0,r.__)("고","editnday"),(0,r.__)("며","editnday"),(0,r.__)("죠","editnday"),(0,r.__)("야","editnday"),(0,r.__)("뿐","editnday")],Je=e=>!!e&&/[\p{L}\p{N}]/u.test(e);function We(e,t){const n=String(t||"").toLowerCase().replace(/\s+/g,""),s=String(e||"").toLowerCase();if(!n||!s)return 0;const d=[];let a="";for(let e=0;e<s.length;e++)/\s/.test(s[e])||(d.push(e),a+=s[e]);let i=0,r=0;for(;;){const e=a.indexOf(n,r);if(e<0)break;r=e+1;const t=d[e],l=d[e+n.length-1]+1;if(Je(s[t-1]))continue;const o=s.slice(l);if(!Je(o[0])){i++;continue}const c=Ge.find(e=>o.startsWith(e));c&&!Je(o[c.length])&&i++}return i}const Xe=(e,t="")=>(e.find(([e])=>e)||[null,t])[1],Ze=()=>(0,J.select)("core/editor"),Ye=e=>(0,J.dispatch)("core/editor").editPost(e),Qe=e=>{try{return JSON.parse(Ze().getEditedPostAttribute("meta")?.[e]||"{}")||{}}catch(e){return{}}},et=(e,t)=>Ye({meta:{[e]:JSON.stringify(t)}}),tt=()=>String(Ze().getEditedPostContent()).replace(/<!--[\s\S]*?-->/g,"").replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim();function nt({near:e=[]}){const{all:t,chosen:n}=(0,J.useSelect)(e=>({all:e("core").getEntityRecords("taxonomy","category",{per_page:100,hide_empty:!1,_fields:"id,name"})||[],chosen:e("core/editor").getEditedPostAttribute("categories")||[]}),[]);return(0,f.jsx)("span",{className:"ed-chips",children:t.filter(e=>e.id!==it()).map(t=>(0,f.jsxs)(S,{on:n.includes(t.id),lav:!n.includes(t.id)&&e.includes(dt(t.name)),onClick:()=>(e=>{const t=n.includes(e)?n.filter(t=>t!==e):[...n.filter(e=>e!==it()),e];Ye({categories:t.length?t:[it()]})})(t.id),children:[dt(t.name),rt(t.id)&&(0,f.jsx)("span",{className:"ed-chip__lock",title:(0,r.sprintf)(/* translators: %s: memberOnly( c.id ).join( ', ' ) */ /* translators: %s: memberOnly( c.id ).join( ', ' ) */(0,r.__)("SureMembers 회원 전용: %s","editnday"),rt(t.id).join(", ")),children:(0,r.__)("회원 전용","editnday")})]},t.id))})}function st({panel:e,onDone:t}){const[n,s]=(0,o.useState)(null),[d,a]=(0,o.useState)(!1),[i,l]=(0,o.useState)(null);return(0,f.jsxs)("div",{className:"ed-redo",children:[(0,f.jsxs)("span",{className:"ed-small",children:[(0,r.__)("딱 맞는 카테고리가 없어요.","editnday")," ",e.near?.length?(0,r.__)("보라색이 그나마 가까운 곳이에요.","editnday"):"",(0,r.__)("골라 주세요.","editnday")]}),(0,f.jsx)(nt,{near:e.near||[]}),null===n?(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>s(e.suggest||""),children:(0,r.__)("+ 새 카테고리 만들기","editnday")}):(0,f.jsxs)("div",{className:"ed-row ed-gap6",children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,placeholder:(0,r.__)("새 카테고리 이름","editnday"),value:n,onChange:s}),(0,f.jsx)("button",{type:"button",className:"ed-mini",disabled:d||!n.trim(),onClick:async()=>{a(!0),l(null);try{const e=await z()({path:"/wp/v2/categories",method:"POST",data:{name:n.trim()}}).catch(async e=>"term_exists"===e?.code?{id:e.data?.term_id}:Promise.reject(e));e?.id&&Ye({categories:[e.id]}),t?.()}catch(e){l((0,r.__)("카테고리를 만들지 못했어요. 권한을 확인해 주세요.","editnday"))}finally{a(!1)}},children:(0,r.__)("만들기","editnday")})]}),i&&(0,f.jsx)("span",{className:"ed-small is-error",children:i})]})}const dt=e=>{const t=document.createElement("textarea");return t.innerHTML=e,t.value},at=e=>{try{return decodeURIComponent(e||"")}catch(t){return e||""}},it=()=>window.editndayConfig?.defaultCategory,rt=e=>window.editndayConfig?.memberCategories?.[e]||null,lt=(e,t)=>{const n=String(t||"").trim();if(!n)return!1;const s=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`(^|[^\\p{L}\\p{N}])${s}($|[^\\p{L}\\p{N}])`,"iu").test(String(e||""))},ot=/(에서|으로|부터|까지|에게|처럼|보다|의|은|는|이|가|을|를|와|과|로|에|도|만)$/;function ct(e){const t=e.split(/\s+/).map(e=>e.replace(ot,"").toLowerCase()).filter(Boolean);let n=null;const s=e=>{for(const d of e){if("core/paragraph"===d.name||"core/list-item"===d.name){const e=He(String(d.attributes.content??""));for(const s of e.split(/(?<=[.!?。])\s+/)){const e=s.trim();if(e.length<8)continue;const d=e.toLowerCase(),a=t.filter(e=>d.includes(e)).length;a&&(!n||a>n.score)&&(n={sentence:e,score:a})}}d.innerBlocks?.length&&s(d.innerBlocks)}};return s((0,J.select)("core/block-editor").getBlocks()),n?.sentence??null}function _t({keyword:e}){const t=(0,J.useSelect)(e=>e("core/block-editor").getBlocks(),[]),n=(0,o.useMemo)(()=>ct(e),[e,t]);return n?(0,f.jsxs)("span",{className:"ed-kwplace",children:[(0,f.jsx)("span",{className:"ed-muted",children:(0,r.sprintf)(/* translators: %s: Fine Keyword */ /* translators: %s: Fine Keyword */3 (0, r.__)('이 문장에 "%s"를 그대로 넣으면 돼요:',"editnday"),e)}),(0,f.jsx)("span",{className:"ed-quote",children:n}),(0,f.jsxs)("span",{className:"ed-row ed-gap6",children:[(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>_e(n),children:(0,r.__)("본문에서 보기","editnday")}),y(_.keywordFix,{keyword:e,sentence:n})]})]}):(0,f.jsx)("span",{className:"ed-muted ed-kwplace",children:(0,r.sprintf)(/* translators: %s: Fine Keyword */ /* translators: %s: Fine Keyword */4 (0, r.__)('본문 첫 단락에 "%s"를 그대로 한 번 넣어 보세요 (바로 뒤에 조사 없이).',"editnday"),e)})}function ut({keyword:e,seo:t}){const[n,s]=(0,o.useState)(!1),d=window.editndayConfig?.seoPlugin;if(!e?.trim()||!d)return null;const a=[!lt(tt(),e)&&(0,r.__)("본문","editnday"),!lt(t.title,e)&&(0,r.__)("제목","editnday"),!lt(t.description,e)&&(0,r.__)("설명","editnday")].filter(Boolean);return a.length?(0,f.jsxs)("span",{className:"ed-small is-warn",children:[(0,r.sprintf)(/* translators: 1: SEO 플러그인 이름, 2: 키워드를 못 찾은 곳 (예: 본문·제목) */ /* translators: 1: SEO 플러그인 이름, 2: 키워드를 못 찾은 곳 (예: 본문·제목) */5 (0, r.__)("%1$s 점수로는 %2$s에서 못 찾아요","editnday"),d,a.join("·"))," ",(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>s(!n),children:n?(0,r.__)("닫기","editnday"):(0,r.__)("왜?","editnday")}),n&&(0,f.jsx)("span",{className:"ed-muted ed-koseo__hint",children:(0,r.__)("조사가 붙거나('코스피는') 띄어쓰기가 다르면 다른 말로 봐요. 구글·네이버는 같은 말로 보니 점수만의 문제예요.","editnday")}),!lt(tt(),e)&&(0,f.jsx)(_t,{keyword:e})]}):(0,f.jsx)("span",{className:"ed-small",children:(0,r.sprintf)(/* translators: %s: SEO 플러그인 이름 */ /* translators: %s: SEO 플러그인 이름 */6 (0, r.__)("%s 키워드 점검 통과","editnday"),d)})}const ht=[["excerpt",(0,r.__)("발췌문","editnday")],["tags",(0,r.__)("태그","editnday"),(0,r.__)("있는 태그 우선","editnday")],["category",(0,r.__)("카테고리","editnday"),(0,r.__)("있는 것 중에서","editnday")],["slug",(0,r.__)("영문 주소","editnday")],["seo",(0,r.__)("SEO 제목·설명","editnday"),(0,r.__)("Fine Keyword 포함","editnday")],["aeo","AEO",(0,r.__)("질문·답","editnday")],["geo","GEO",(0,r.__)("AI 인용용 요약","editnday")]];async function yt(e){const t=[];for(const n of e){const e=(await z()({path:`/wp/v2/tags?search=${encodeURIComponent(n)}&per_page=20&_fields=id,name`})).find(e=>e.name===n);t.push(e?e.id:(await z()({path:"/wp/v2/tags",method:"POST",data:{name:n}})).id)}return t}const mt=e=>String(e??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),pt=(0,r.__)("한눈에 보는 질문과 답","editnday");function gt({summary:e,faq:t},n=["summary","faq"]){const s=(0,J.select)("core/block-editor").getBlocks().filter(e=>n.includes(e.attributes?.metadata?.editnday)),d=String(s.find(e=>"faq"===e.attributes.metadata.editnday)?.innerBlocks.find(e=>"core/heading"===e.name)?.attributes.content||"").trim(),a=s.map(e=>e.clientId);a.length&&(0,J.dispatch)("core/block-editor").removeBlocks(a,!1),t=n.includes("faq")?(t||[]).filter(e=>e.question?.trim()&&e.answer?.trim()):[],e?.trim()&&n.includes("summary")&&(0,J.dispatch)("core/block-editor").insertBlocks((0,G.createBlock)("core/group",{metadata:{editnday:"summary",name:(0,r.__)("요약","editnday")},className:"editnday-box editnday-box--summary"},[(0,G.createBlock)("core/paragraph",{content:(0,r.sprintf)(/* translators: %s: asText( summary ) */ /* translators: %s: asText( summary ) */(0,r.__)("<strong>요약</strong> %s","editnday"),mt(e))})]),0),t?.length&&(0,J.dispatch)("core/block-editor").insertBlocks((0,G.createBlock)("core/group",{metadata:{editnday:"faq",name:(0,r.__)("질문과 답","editnday")},className:"editnday-box editnday-box--faq"},[(0,G.createBlock)("core/heading",{level:2,content:d&&"자주 묻는 질문"!==d?d:pt}),...t.map((e,t)=>(0,G.createBlock)("core/details",{summary:mt(e.question),showContent:0===t},[(0,G.createBlock)("core/paragraph",{content:mt(e.answer)})]))]))}function ft(){return(0,J.useSelect)(e=>{const t=e("core/editor"),n=t.getEditedPostAttribute("featured_media"),s=n?e("core").getMedia(n):null;return{postId:t.getCurrentPostId(),title:t.getEditedPostAttribute("title"),excerpt:t.getEditedPostAttribute("excerpt"),slug:t.getEditedPostAttribute("slug"),tags:t.getEditedPostAttribute("tags")||[],categories:(t.getEditedPostAttribute("categories")||[]).filter(e=>e!==it()),categoryNames:(t.getEditedPostAttribute("categories")||[]).filter(e=>e!==it()).map(t=>e("core").getEntityRecord("taxonomy","category",t)?.name).filter(Boolean),memberCategoryNames:(t.getEditedPostAttribute("categories")||[]).filter(e=>rt(e)).map(t=>e("core").getEntityRecord("taxonomy","category",t)?.name).filter(Boolean),featured:n||0,featuredAlt:s?.alt_text??"",featuredUrl:s?.media_details?.sizes?.medium?.source_url??s?.source_url,seo:(()=>{try{return JSON.parse(t.getEditedPostAttribute("meta")?._editnday_seo||"{}")||{}}catch(e){return{}}})(),schema:(()=>{try{return JSON.parse(t.getEditedPostAttribute("meta")?._editnday_schema||"{}")||{}}catch(e){return{}}})()}},[])}function xt(e){et("_editnday_seo",{...Qe("_editnday_seo"),keyword:String(e).slice(0,40)})}const bt='EditndayTitle, "Pretendard Variable", Pretendard, "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif';let jt=null;const wt=()=>{const e=window.editndayConfig?.titleFont;return jt||(jt=e&&window.FontFace?new window.FontFace("EditndayTitle",`url(${e})`,{weight:"100 900"}).load().then(e=>document.fonts.add(e)).catch(()=>null):Promise.resolve()),jt},kt=[["ink",(0,r.__)("먹색","editnday"),["#1f2a2c"],"#ffffff"],["cream",(0,r.__)("크림","editnday"),["#f4eee3"],"#243235"],["lavender",(0,r.__)("라벤더","editnday"),["#a988e0","#6c48b5"],"#ffffff"],["ocean",(0,r.__)("바다","editnday"),["#0f4c75","#3a8fc9"],"#ffffff"],["sunset",(0,r.__)("노을","editnday"),["#ff9a8b","#f0627f"],"#ffffff"],["forest",(0,r.__)("숲","editnday"),["#134e5e","#5fa77a"],"#ffffff"]];async function Nt(e,t){let n;try{n=await new Promise(t=>e.toBlob(t,"image/jpeg",.9))}catch(e){n=null}if(!n)throw new Error((0,r.__)("이 사이트의 이미지 주소 설정 때문에 그림에 글자를 넣지 못했어요.","editnday"));const s=new window.FormData;s.append("postId",Ze().getCurrentPostId()),Object.entries(t).forEach(([e,t])=>s.append(e,t)),s.append("image",n,"featured-title.jpg");const d=await z()({path:"/editnday/v1/publish/image-title",method:"POST",body:s});return Ye({featured_media:d.id}),(0,J.dispatch)("core").invalidateResolution("getMedia",[d.id]),d}async function vt(e,t="ink"){if(!e.trim())return null;await wt();const[n,,s,d]=kt.find(e=>e[0]===t)||kt[0],a=1200,i=630,r=document.createElement("canvas");r.width=a,r.height=i;const l=r.getContext("2d");if(s.length>1){const e=l.createLinearGradient(0,0,a,i);e.addColorStop(0,s[0]),e.addColorStop(1,s[1]),l.fillStyle=e}else l.fillStyle=s[0];l.fillRect(0,0,a,i),l.font=`800 72px ${bt}`,l.fillStyle=d,l.textAlign="center",l.textBaseline="alphabetic";const o=St(l,e,1e3),c=Math.round(72*1.3),_=(i-(o.length-1)*c)/2+25.2-16;o.forEach((e,t)=>l.fillText(e,600,_+t*c));const u=String(window.editndayConfig?.siteName||"").trim();return u&&(l.font=`700 26px ${bt}`,l.globalAlpha=.72,l.fillText(u.slice(0,40),600,574),l.globalAlpha=1),Nt(r,{template:n,alt:e.trim()})}function St(e,t,n){const s=[];let d="";return t.trim().split(/\s+/).forEach(t=>(t=>{const a=d?d+" "+t:t;if(e.measureText(a).width<=n)d=a;else if(d&&(s.push(d),d=""),e.measureText(t).width<=n)d=t;else for(const a of t)e.measureText(d+a).width>n&&(s.push(d),d=""),d+=a})(t)),d&&s.push(d),s.length>3&&(s.length=3,s[2]=s[2].replace(/.$/,"…")),s}async function Ct(e,t="bottom",n="title"){const s=Ze().getEditedPostAttribute("featured_media");if(!s||!e.trim())return null;await wt();const d=await z()({path:`/editnday/v1/publish/image-source?id=${s}`}),a=await new Promise((e,t)=>{const n=new window.Image;n.crossOrigin="anonymous",n.onload=()=>e(n),n.onerror=()=>t(new Error((0,r.__)("그림을 불러오지 못했어요.","editnday"))),n.src=d.url}),i=Math.min(a.naturalWidth,1600),l=Math.round(a.naturalHeight*i/a.naturalWidth),o=document.createElement("canvas");o.width=i,o.height=l;const c=o.getContext("2d");c.drawImage(a,0,0,i,l);const _="caption"===n;if("center"===t)c.fillStyle=_?"rgba(0,0,0,0.18)":"rgba(0,0,0,0.42)",c.fillRect(0,0,i,l);else{const e="top"===t,n=_?.2:.65,s=c.createLinearGradient(0,e?l*n:l*(1-n),0,e?0:l);s.addColorStop(0,"rgba(0,0,0,0)"),s.addColorStop(1,_?"rgba(0,0,0,0.45)":"rgba(0,0,0,0.74)"),c.fillStyle=s,c.fillRect(0,e?0:l*(1-n),i,l*n)}const u=_?Math.max(12,Math.round(.011*i)):Math.round(.064*i);c.font=`${_?700:800} ${u}px ${bt}`,c.fillStyle="#fff",c.textBaseline="alphabetic",c.shadowColor="rgba(0,0,0,0.45)",c.shadowBlur=.25*u;const h=Math.round(i*(_?.03:.06)),y=St(c,e,i-h*(_?4:2)),m=Math.round(1.28*u),p=(y.length-1)*m;let g=l-h-p;return"top"===t?g=h+.85*u:"center"===t&&(g=(l-p)/2+.35*u),c.textAlign="center",y.forEach((e,t)=>c.fillText(e,i/2,g+t*m)),Nt(o,{sourceId:d.id})}function It(e){const t=(0,J.select)("core/block-editor"),n=`<a href="${encodeURI(e.url)}">${String(e.title).replace(/&/g,"&").replace(/</g,"<")}</a>`,s=(0,G.createBlock)("core/list-item",{content:n}),d=t.getBlocks().find(e=>"core/list"===e.name&&String(e.attributes.className||"").includes("editnday-related"));d?(0,J.dispatch)("core/block-editor").insertBlock(s,d.innerBlocks.length,d.clientId):(0,J.dispatch)("core/block-editor").insertBlocks([(0,G.createBlock)("core/paragraph",{content:(0,r.__)("<strong>함께 읽으면 좋은 글</strong>","editnday"),className:"editnday-related-title"}),(0,G.createBlock)("core/list",{className:"editnday-related"},[s])],t.getBlockCount())}const $t=(e,t)=>({excerpt:!!e.excerpt,tags:e.tags.length>0,category:e.categories.length>0,slug:/^[a-z0-9]+(-[a-z0-9]+)*$/.test(e.slug||"")&&!/^\d+$/.test(e.slug),seo:!!e.seo.description,aeo:!!e.schema.faq?.some(e=>e.question?.trim()&&e.answer?.trim()),geo:!!e.schema.summary?.trim(),featured:!!e.featured,alt:!!e.featuredAlt}[t]),At=e=>String(e??"").replace(/<[^>]+>/g," ").replace(/ /g," ").replace(/\s+/g," ").trim();function Bt(e){const t=[];let n="",s=0;const d=e=>{for(const a of e){const e=a.attributes?.metadata?.editnday;"core/heading"===a.name?t.push(At(a.attributes.content)):"core/paragraph"===a.name&&!n&&"summary"!==e&&At(a.attributes.content)?n=At(a.attributes.content):"core/image"===a.name&&a.attributes.url&&s++,"summary"!==e&&"faq"!==e&&a.innerBlocks?.length&&d(a.innerBlocks)}};d(e);const a=String(Ze().getEditedPostContent());return{headings:t,firstPara:n,images:s,links:(a.match(/<a\s[^>]*href=/gi)||[]).length,body:tt()}}function Et(e){const t=(0,J.useSelect)(e=>e("core/block-editor").getBlocks(),[]),n=e.seo.kept||{};return function(e){const t=String(e.keyword||"").trim(),n=e=>[...String(e||"").trim()].length,s=[],d=(e,t,n,d,a)=>s.push({id:e,ok:t,label:n,hint:t?"":d,who:a});if(t){const s=e=>We(e,t)>0;d("title",s(e.title),s(e.title)?(0,r.__)("제목에 Fine Keyword","editnday"):(0,r.__)("제목에 Fine Keyword가 없어요","editnday"),(0,r.__)("검색 결과 제목 앞쪽에 넣으면 검색어와 바로 맞물려요","editnday"),(0,r.__)("구글·네이버","editnday")),d("first",s(e.firstPara),s(e.firstPara)?(0,r.__)("첫 단락에 Fine Keyword","editnday"):(0,r.__)("첫 단락에 Fine Keyword가 없어요","editnday"),(0,r.__)("무엇에 관한 글인지 첫 단락에서 밝히면 검색엔진과 AI가 주제를 잡기 쉬워요","editnday"),(0,r.__)("구글·네이버·AI","editnday"));const a=e.headings.some(s);d("heading",a,a?(0,r.__)("소제목에 Fine Keyword","editnday"):(0,r.__)("소제목에 Fine Keyword가 없어요","editnday"),(0,r.sprintf)(/* translators: %s: o.headings.length */ /* translators: %s: o.headings.length */(0,r.__)("소제목 %s개 중 하나에 넣으면 글의 짜임이 검색어와 이어져요","editnday"),e.headings.length),(0,r.__)("구글·네이버","editnday"));const i=We(e.body,t),l=n(e.body)?1e3*i/n(e.body):0;d("repeat",i>=1&&l<=6,Xe([[0===i,(0,r.__)("본문에 Fine Keyword가 없어요","editnday")],[l>6,(0,r.sprintf)(/* translators: %s: times */ /* translators: %s: times */(0,r.__)("본문에 Fine Keyword %s번 (많아요)","editnday"),i)]],(0,r.sprintf)(/* translators: %s: times */ /* translators: %s: times */(0,r.__)("본문에 Fine Keyword %s번","editnday"),i)),Xe([[0===i,(0,r.__)("본문에 실제로 쓰는 표기와 같은지 확인해 주세요 (예: 볼보EX60 / VolvoEX60)","editnday")]],(0,r.__)("같은 말을 너무 자주 되풀이하면 구글·네이버 모두 낮게 봐요. 대명사나 다른 표현으로 바꿔 보세요","editnday")),(0,r.__)("구글·네이버","editnday")),n(e.description)&&d("desc",s(e.description),s(e.description)?(0,r.__)("설명에 Fine Keyword","editnday"):(0,r.__)("설명에 Fine Keyword가 없어요","editnday"),(0,r.__)("순위와는 상관없지만, 검색어가 설명에 있으면 검색 결과에서 굵게 보여 눈에 띄어요","editnday"),(0,r.__)("구글·네이버","editnday"))}const a=n(e.title);d("titleLen",a>0&&a<=40,a?(0,r.sprintf)(/* translators: %s: tl */ /* translators: %s: tl */(0,r.__)("검색 결과 제목 %s자","editnday"),a):(0,r.__)("검색 결과 제목이 없어요","editnday"),Xe([[a>40,(0,r.__)("40자를 넘으면 검색 결과에서 잘려요","editnday")]],(0,r.__)("제목을 넣어 주세요","editnday")),(0,r.__)("구글·네이버","editnday"));const i=n(e.description);return d("descLen",i>=40&&i<=110,i?(0,r.sprintf)(/* translators: %s: dl */ /* translators: %s: dl */(0,r.__)("검색 결과 설명 %s자","editnday"),i):(0,r.__)("검색 결과 설명이 없어요","editnday"),Xe([[0===i,(0,r.__)("SEO 설명을 만들어 보세요. 없으면 검색엔진이 본문에서 아무 문장이나 가져가요","editnday")],[i<40,(0,r.__)("너무 짧으면 검색엔진이 본문에서 다른 문장을 가져가요","editnday")]],(0,r.__)("110자를 넘으면 잘려요","editnday")),(0,r.__)("구글·네이버","editnday")),d("headings",e.headings.length>=2,(0,r.sprintf)(/* translators: %s: o.headings.length */ /* translators: %s: o.headings.length */(0,r.__)("소제목 %s개","editnday"),e.headings.length),(0,r.__)("소제목으로 나누면 검색엔진이 단락별 주제를, AI가 답할 부분을 찾기 쉬워요","editnday"),(0,r.__)("구글·네이버·AI","editnday")),d("answer",!!e.summary||e.faq>0,Xe([[e.summary&&e.faq>0,(0,r.sprintf)(/* translators: %s: o.faq */ /* translators: %s: o.faq */(0,r.__)("요약과 질문답 %s개","editnday"),e.faq)],[e.summary,(0,r.__)("요약 있음","editnday")],[e.faq>0,(0,r.sprintf)(/* translators: %s: o.faq */ /* translators: %s: o.faq */(0,r.__)("질문답 %s개","editnday"),e.faq)]],(0,r.__)("요약·질문답이 없어요","editnday")),(0,r.__)("발행 준비의 AEO·GEO로 만들면 AI 답변에 인용되기 쉬워요","editnday"),"AI"),d("links",e.links>0,e.links?(0,r.sprintf)(/* translators: %s: o.links */ /* translators: %s: o.links */(0,r.__)("출처·관련 링크 %s개","editnday"),e.links):(0,r.__)("링크가 없어요","editnday"),(0,r.__)("출처가 보이면 믿을 만한 글로 보고, AI도 근거로 인용해요","editnday"),(0,r.__)("구글·네이버·AI","editnday")),d("images",e.images>0,e.images?(0,r.sprintf)(/* translators: %s: o.images */ /* translators: %s: o.images */(0,r.__)("본문 이미지 %s개","editnday"),e.images):(0,r.__)("본문 이미지가 없어요 (대표 이미지만)","editnday"),(0,r.__)("본문에 사진·도표가 있으면 이미지 검색과 네이버 노출에 도움이 돼요","editnday"),(0,r.__)("구글·네이버","editnday")),s}({keyword:e.seo.keyword,title:n.title||e.seo.title||e.title||"",description:n.description||e.seo.description||"",summary:!!e.schema.summary,faq:e.schema.faq?.length||0,...Bt(t)})}function Pt({st:e}){const[t,n]=(0,o.useState)(!1),s=Et(e),d=s.filter(e=>e.ok).length,a=s.filter(e=>!e.ok),[i,l]=(0,o.useState)("");return(0,f.jsxs)(w,{className:"ed-koseo",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("검색·AI 점검","editnday")}),(0,f.jsx)("span",{className:"ed-koseo__score"+(a.length?"":" is-ok"),children:(0,r.sprintf)(/* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */ /* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */7 (0, r.__)("%1$d개 중 %2$d개 통과","editnday"),s.length,d)})]}),!e.seo.keyword?.trim()&&(0,f.jsxs)("div",{className:"ed-koseo__kw",children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,placeholder:(0,r.__)("예: 노벨문학상","editnday"),value:i,onChange:l,onKeyDown:e=>"Enter"===e.key&&i.trim()&&xt(i.trim())}),(0,f.jsx)(N,{disabled:!i.trim(),onClick:()=>xt(i.trim()),children:(0,r.__)("정하기","editnday")}),(0,f.jsx)("span",{className:"ed-muted",children:(0,r.__)("정하면 제목·설명·본문에 키워드가 있는지도 봐요.","editnday")})]}),(t?s:a).map(e=>(0,f.jsxs)("div",{className:"ed-koseo__item",children:[(0,f.jsx)("span",{className:"ed-circ"+(e.ok?" is-filled":" is-warn"),children:e.ok?(0,f.jsx)(j,{}):"!"}),(0,f.jsxs)("span",{className:"ed-koseo__body",children:[(0,f.jsxs)("span",{className:"ed-koseo__head",children:[(0,f.jsx)("span",{className:"ed-koseo__label",children:e.label}),(0,f.jsx)("span",{className:"ed-koseo__who",children:e.who})]}),e.hint&&(0,f.jsx)("span",{className:"ed-koseo__hint",children:e.hint})]})]},e.id)),!a.length&&!t&&(0,f.jsx)("span",{className:"ed-small",children:(0,r.__)("모두 좋아요.","editnday")}),(0,f.jsxs)("div",{className:"ed-koseo__foot",children:[(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>n(!t),children:t?(0,r.__)("고칠 것만 보기","editnday"):(0,r.sprintf)(/* translators: %s: okN */ /* translators: %s: okN */(0,r.__)("통과한 것도 보기 (%s)","editnday"),d)}),(0,f.jsx)("span",{className:"ed-muted",children:(0,r.__)("조사·띄어쓰기가 달라도 같은 말로 봐요 (구글·네이버 기준)","editnday")})]})]})}function Mt({st:e}){const[t,n]=(0,o.useState)("google"),s=e.seo.kept||{},d=s.title||e.seo.title||e.title||"",a=s.description||e.seo.description||e.excerpt||"",i=window.editndayConfig?.seoPlugin,l=window.location.host,c=(e,t,n)=>e<t?(0,r.__)("짧음","editnday"):e>n?(0,r.__)("김","editnday"):(0,r.__)("적정","editnday");return(0,f.jsxs)(w,{children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("검색 결과 미리보기","editnday")}),(0,f.jsxs)("span",{className:"ed-chips",children:[(0,f.jsx)(S,{on:"google"===t,onClick:()=>n("google"),children:(0,r.__)("구글","editnday")}),(0,f.jsx)(S,{on:"naver"===t,onClick:()=>n("naver"),children:(0,r.__)("네이버","editnday")})]})]}),(0,f.jsxs)("div",{className:`ed-serp is-${t}`,children:[(0,f.jsxs)("span",{className:"ed-serp__u",children:[l," › ",at(e.slug)||"…"]}),(0,f.jsx)("span",{className:"ed-serp__t",children:d||(0,r.__)("제목 없음","editnday")}),(0,f.jsx)("span",{className:"ed-serp__d",children:a||(0,r.__)("설명이 없어요. SEO 설명을 만들어 보세요.","editnday")})]}),(0,f.jsx)("span",{className:"ed-muted",children:(0,r.sprintf)(/* translators: 1: 제목 글자 수, 2: 제목 길이 판정(짧음·적정·김), 3: 설명 글자 수, 4: 설명 길이 판정 */ /* translators: 1: 제목 글자 수, 2: 제목 길이 판정(짧음·적정·김), 3: 설명 글자 수, 4: 설명 길이 판정 */8 (0, r.__)("제목 %1$d자 (%2$s) · 설명 %3$d자 (%4$s)","editnday"),d.length,c(d.length,20,45),a.length,c(a.length,60,110))}),i&&(0,f.jsx)("span",{className:"ed-muted",children:s.title||s.description?(0,r.sprintf)(/* translators: 1: SEO 플러그인 이름, 2: 직접 쓴 칸 (제목·설명), 3: SEO 플러그인 이름 */ /* translators: 1: SEO 플러그인 이름, 2: 직접 쓴 칸 (제목·설명), 3: SEO 플러그인 이름 */(0,r.__)("%1$s에 직접 쓴 %2$s이 있어 그 값이 나가요. 에디튼 값을 쓰려면 %3$s에서 그 칸을 비워 주세요.","editnday"),i,[s.title&&(0,r.__)("제목","editnday"),s.description&&(0,r.__)("설명","editnday")].filter(Boolean).join("·"),i):(0,r.sprintf)(/* translators: %s: plugin */ /* translators: %s: plugin */(0,r.__)("저장하면 %s 칸에도 들어가요.","editnday"),i)})]})}function Ot(e,t){return t?(0,r.__)("닫기","editnday"):e?(0,r.__)("다시","editnday"):(0,r.__)("만들기","editnday")}function Tt(){const e=window.editndayConfig?.siteOpen;return e?.blocking?.length?(0,f.jsxs)(w,{className:"ed-ask ed-siteopen",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("검색에 나오지 않을 수 있어요","editnday")}),(0,f.jsx)("span",{className:"ed-small",children:(0,r.sprintf)(/* translators: %s: 안 된 워드프레스 설정 목록 */ /* translators: %s: 안 된 워드프레스 설정 목록 */9 (0, r.__)("워드프레스 설정에서 %s이(가) 아직 안 됐어요. 이대로 발행하면 검색엔진이 이 글을 찾지 못하거나 늦게 찾아요.","editnday"),e.blocking.join(", "))}),e.canManage&&(0,f.jsx)("a",{className:"ed-link",href:e.url,children:(0,r.__)("에디튼 → 사이트 오픈에서 확인하기","editnday")})]}):null}function qt(){const e=window.editndayConfig?.seoMode||{},t=(0,J.useSelect)(e=>"1"===e("core/editor").getEditedPostAttribute("meta")?._editnday_noindex,[]);return"with"===e.mode?(0,f.jsx)("p",{className:"ed-muted ed-seomode",children:(0,r.sprintf)(/* translators: %s: 함께 쓰는 SEO 플러그인 이름 (두 번 나옴) */ /* translators: %s: 함께 쓰는 SEO 플러그인 이름 (두 번 나옴) */10 (0, r.__)("%1$s와 함께 쓰는 중이에요. 검색엔진이 읽는 머리말(제목·설명·공유 미리보기)은 %1$s가 내고, 에디튼은 값을 채우고 점검해요.","editnday"),e.plugin)}):(0,f.jsxs)(w,{className:"ed-seomode",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("검색엔진·공유 머리말","editnday")}),(0,f.jsx)("span",{className:"ed-small",children:(0,r.__)("SEO 플러그인 없이 쓰는 중이라 에디튼이 직접 내요: SEO 제목·설명, 카카오톡·페이스북 공유 미리보기, 글 구조화 데이터.","editnday")}),(0,f.jsx)(p.CheckboxControl,{__nextHasNoMarginBottom:!0,label:(0,r.__)("이 글은 검색 결과에 보이지 않게","editnday"),checked:t,onChange:e=>(0,J.dispatch)("core/editor").editPost({meta:{_editnday_noindex:e?"1":""}})})]})}function Ft({st:e}){const[t,n]=(0,o.useState)(!1),s=(0,J.useSelect)(e=>e("core/block-editor").getBlocks(),[]),d=(0,J.useSelect)(e=>{const t=e("core/editor");return"auto-draft"===t.getEditedPostAttribute("status")?null:t.getEditedPostAttribute("modified")||null},[]),a=Bt(s),i=String(Ze().getEditedPostContent()),l=window.location.host;let c=0,_=0;for(const e of i.matchAll(/<a\s[^>]*href=["']([^"']+)["']/gi))try{const t=new URL(e[1],window.location.href);if(!/^https?:$/.test(t.protocol))continue;t.host===l?c++:_++}catch{}const u=window.editndayConfig?.aiReady||{},{score:h,items:y}=function(e){const t=String(e.body||""),n=t.split(/(?<=[.!?。])\s+|\n+/).filter(e=>/\d/.test(e)).length,s=[...t.replace(/\s+/g,"")].length,d=!e.modified||(e.now??Date.now())-new Date(e.modified).getTime()<31536e6,a=[],i=(e,t,n,s,d,i)=>a.push({part:e,id:t,points:n,ok:!!s,label:d,hint:s?"":i}),l=(0,r.__)("형식","editnday"),o=(0,r.__)("내용","editnday");return i(l,"lead",12,e.summaryVisible,(0,r.__)("결론 먼저 (글 앞 요약)","editnday"),(0,r.__)('GEO 요약을 "본문에 보이게"로 넣으면 AI가 첫 단락에서 답을 가져가요',"editnday")),i(l,"headings",8,e.headings>=3,(0,r.sprintf)(/* translators: %d: 소제목 수 */ /* translators: %d: 소제목 수 */(0,r.__)("소제목 %d개","editnday"),e.headings),(0,r.__)("소제목을 3개 이상으로 나누면 AI가 질문마다 답할 부분을 찾아요","editnday")),i(l,"faq",8,e.faq>=2,(0,r.sprintf)(/* translators: %d: 질문답 수 */ /* translators: %d: 질문답 수 */(0,r.__)("질문답 %d개","editnday"),e.faq),(0,r.__)("AEO 질문답을 2개 이상 넣어요","editnday")),i(l,"identity",6,e.identity,(0,r.__)("내 블로그 정체성","editnday"),(0,r.__)("사이트 오픈 4단계에서 한 줄 소개·다른 곳 주소를 넣으면 AI가 누가 쓴 글인지 알아봐요","editnday")),i(l,"internal",8,e.internal>=1,(0,r.sprintf)(/* translators: %d: 내부 링크 수 */ /* translators: %d: 내부 링크 수 */(0,r.__)("내 글 링크 %d개","editnday"),e.internal),(0,r.__)('이어지는 내 글을 하나 이상 연결해요 (발행 준비의 "이어지는 내 글")',"editnday")),i(l,"bots",8,!1!==e.bots,!1===e.bots?(0,r.__)("AI 검색 봇이 막힘","editnday"):(0,r.__)("AI 검색 봇 허용","editnday"),(0,r.__)("사이트 오픈 4단계에서 robots.txt·방화벽을 확인해요","editnday")),i(o,"numbers",12,n>=3,(0,r.sprintf)(/* translators: %d: 숫자 문장 수 */ /* translators: %d: 숫자 문장 수 */(0,r.__)("숫자가 든 문장 %d개","editnday"),n),(0,r.__)("통계·가격·날짜처럼 확인할 수 있는 숫자를 3문장 이상에 넣으면 AI가 근거로 써요","editnday")),i(o,"sources",12,e.external>=2,(0,r.sprintf)(/* translators: %d: 출처 링크 수 */ /* translators: %d: 출처 링크 수 */(0,r.__)("출처 링크 %d개","editnday"),e.external),(0,r.__)("숫자·주장의 출처를 2곳 이상 링크로 밝혀요","editnday")),i(o,"author",8,e.authorBio,(0,r.__)("저자 소개","editnday"),(0,r.__)("[사용자 → 프로필]의 자기소개를 채우면 누가 썼는지(전문성)가 보여요","editnday")),i(o,"fresh",8,d,d?(0,r.__)("1년 안에 고친 글","editnday"):(0,r.__)("1년 넘게 고치지 않은 글","editnday"),(0,r.__)("AI는 최신 정보를 인용해요. 숫자를 다시 확인하고 고쳐 주세요","editnday")),i(o,"length",10,s>=1500,(0,r.sprintf)(/* translators: %s: 글자 수 */ /* translators: %s: 글자 수 */(0,r.__)("본문 %s자","editnday"),s.toLocaleString("ko-KR")),(0,r.__)("1,500자 이상이면 AI가 인용할 근거가 충분해요","editnday")),{score:a.reduce((e,t)=>e+(t.ok?t.points:0),0),items:a}}({summaryVisible:s.some(e=>"summary"===e.attributes?.metadata?.editnday),headings:a.headings.length,faq:e.schema.faq?.length||0,identity:!!u.identity,internal:c,external:_,bots:u.bots??null,body:a.body,authorBio:!!u.authorBio,modified:d}),m=y.filter(e=>!e.ok).sort((e,t)=>t.points-e.points),p=h>=80?"is-ok":h>=60?"is-warn":"is-bad";return(0,f.jsxs)(w,{className:"ed-aicite",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("AI 인용 준비","editnday")}),(0,f.jsx)("span",{className:`ed-aicite__score ${p}`,children:(0,r.sprintf)(/* translators: %d: 점수 */ /* translators: %d: 점수 */11 (0, r.__)("%d / 100","editnday"),h)})]}),(0,f.jsx)("div",{className:"ed-aicite__bar","aria-hidden":"true",children:(0,f.jsx)("span",{className:p,style:{width:`${h}%`}})}),(0,f.jsx)("p",{className:"ed-muted ed-small",children:h>=80?(0,r.__)("ChatGPT·구글 AI 개요·네이버 AI 브리핑이 인용하기 좋은 글이에요.","editnday"):(0,r.__)("80점이 넘으면 AI 답변에 인용되기 좋은 글이에요. 점수가 큰 것부터 채워 보세요.","editnday")}),m.slice(0,t?m.length:3).map(e=>(0,f.jsxs)("div",{className:"ed-aicite__item",children:[(0,f.jsxs)("span",{className:"ed-aicite__pts",children:["+",e.points]}),(0,f.jsxs)("span",{children:[(0,f.jsx)("strong",{children:e.label}),(0,f.jsxs)("span",{className:"ed-muted ed-small",children:[" ",e.hint]})]})]},e.id)),m.length>3&&(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>n(!t),children:t?(0,r.__)("접기","editnday"):(0,r.sprintf)(/* translators: %d: 남은 항목 수 */ /* translators: %d: 남은 항목 수 */12 (0, r.__)("빠진 것 %d개 더 보기","editnday"),m.length-3)})]})}function Lt({st:e,onCheck:t}){const n=Et(e),s=n.filter(e=>e.ok).length;return(0,f.jsxs)(w,{className:"ed-koseo-line",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("검색·AI 점검","editnday")}),(0,f.jsx)("span",{className:"ed-small",children:(0,r.sprintf)(/* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */ /* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */13 (0, r.__)("%1$d개 중 %2$d개 통과","editnday"),n.length,s)})]}),t&&(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:t,children:(0,r.__)("글 점검에서 자세히 보기","editnday")})]})}function Rt({onNew:e,onCheck:t}){const n=ft(),[s,d]=(0,o.useState)(null),[a,i]=(0,o.useState)(null),[l,c]=(0,o.useState)(null),[u,m]=(0,o.useState)(n.schema.mode||"visible"),[g,x]=(0,o.useState)(!1),[b,v]=(0,o.useState)(0),[C,I]=(0,o.useState)(null),[$,B]=(0,o.useState)(""),[P,M]=(0,o.useState)("bottom"),[T,q]=(0,o.useState)("title"),[F,L]=(0,o.useState)("ink"),[R,K]=(0,o.useState)(null),H=Qe("_editnday_indexed"),U=(0,J.useSelect)(e=>["publish","future","private"].includes(e("core/editor").getEditedPostAttribute("status")),[]),V=(0,J.useSelect)(e=>e("core/editor").isSavingPost(),[]),G=(0,J.useSelect)(e=>{const t=e("core/editor");return"future"===t.getEditedPostAttribute("status")?t.getEditedPostAttribute("date"):null},[]),W=e=>!!s&&s.split(",").includes(e),X=async(e,t)=>{d(e),v(Date.now()),i(null);try{await t()}catch(e){i(e?.message&&!e.message.includes("<")?e.message:(0,r.__)("만들지 못했어요. 잠시 뒤 다시 해 주세요.","editnday"))}finally{d(null)}},Z={st:n,busy:s,isBusy:W,run:X,since:b,aeoMode:u,setCatPanel:I,setRedo:x,onImage:$,titlePos:P,titleKind:T},Y=(e,t={})=>y(_.publishFieldActions,{...Z,key:e,...t}),Q=()=>(0,f.jsxs)("span",{className:"ed-busy",children:[(0,f.jsx)("span",{className:"ed-pulse"}),(0,r.__)("만드는 중","editnday")," ",(0,f.jsx)(E,{since:b})]});return(0,f.jsxs)(f.Fragment,{children:[G?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(A,{eyebrow:(0,r.__)("예약한 글","editnday"),title:(0,r.__)("예약한 글 다듬기","editnday"),sub:(0,r.__)("발행되기 전까지 대표 이미지, 검색 설정, 요약과 질문·답을 다시 만들거나 고칠 수 있어요.","editnday")}),(0,f.jsx)("div",{className:"ed-note",children:(0,o.createInterpolateElement)((0,r.sprintf)(/* translators: %s: 예약 발행 시각. <b>…</b>는 굵게 (버튼 이름) */ /* translators: %s: 예약 발행 시각. <b>…</b>는 굵게 (버튼 이름) */14 (0, r.__)("<b>%s</b>에 발행돼요. 여기서 바꾼 내용은 맨 아래 <b>[바뀐 내용 저장]</b>을 눌러야 예약된 글에 들어가요. 시간은 오른쪽 위 <b>[예약됨]</b>에서 바꿔요.","editnday"),Dt(G)),{b:(0,f.jsx)("strong",{})})})]}):U?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(A,{eyebrow:(0,r.__)("발행한 글","editnday"),title:(0,r.__)("발행한 글 다듬기","editnday"),sub:(0,r.__)("대표 이미지, 검색 설정, 요약과 질문·답을 다시 만들거나 고칠 수 있어요.","editnday")}),(0,f.jsx)("div",{className:"ed-note",children:(0,o.createInterpolateElement)(/* translators: <b>…</b>는 굵게 (버튼 이름) */ /* translators: <b>…</b>는 굵게 (버튼 이름) */15 (0, r.__)("이미 공개된 글이에요. 여기서 바꾼 내용은 맨 아래 <b>[바뀐 내용 사이트에 반영]</b>을 눌러야 사이트에 반영돼요.","editnday"),{b:(0,f.jsx)("strong",{})})})]}):(0,f.jsx)(A,{eyebrow:(0,r.__)("발행 준비","editnday"),title:(0,r.__)("발행 전에 다듬을 것","editnday"),sub:(0,r.__)("하나씩 하거나 한 번에 해요. 만든 값은 고칠 수 있어요.","editnday")}),a&&(0,f.jsx)("div",{className:"ed-note is-error",children:a}),(0,f.jsxs)(w,{className:"ed-tasks",children:[(0,f.jsxs)("div",{className:"ed-cardhead",children:[(0,f.jsxs)("span",{className:"ed-cardhead__t",children:[(0,r.__)("할 일","editnday")," ",(0,f.jsx)("span",{className:"ed-tag",children:(0,r.sprintf)(/* translators: 1: 된 것, 2: 전체 */ /* translators: 1: 된 것, 2: 전체 */16 (0, r.__)("%1$d / %2$d 됨","editnday"),ht.filter(([e])=>$t(n,e)).length+(n.featured?1:0)+(n.featuredAlt?1:0),ht.length+2)})]}),Y("all",{place:"head"})]}),Y("all",{place:"live"}),ht.map(([e,t,s])=>{const d=Y(e,{place:"row"}),a=!h()&&["seo","aeo","geo"].includes(e);return(0,f.jsxs)("div",{className:"ed-taskwrap",children:[(0,f.jsxs)("div",{className:"ed-task",children:[(0,f.jsx)("span",{className:`ed-circ${$t(n,e)?" is-filled":""}${W(e)?" is-busy":""}`,children:$t(n,e)&&(0,f.jsx)(j,{})}),(0,f.jsxs)("span",{className:"ed-task__t",children:[t," ",s&&(0,f.jsxs)("span",{className:"ed-muted",children:["(",s,")"]})]}),W(e)&&(0,f.jsx)(Q,{}),!W(e)&&$t(n,e)&&(0,f.jsx)("button",{type:"button",className:"ed-mini is-done",onClick:()=>c(l===e?null:e),children:l===e?(0,r.__)("닫기","editnday"):(0,r.__)("보기","editnday")}),!W(e)&&!$t(n,e)&&(0,f.jsx)("button",{type:"button",className:"ed-mini is-plain",onClick:()=>c(l===e?null:e),children:l===e?(0,r.__)("닫기","editnday"):d.length?(0,r.__)("직접","editnday"):(0,r.__)("직접 쓰기","editnday")}),!W(e)&&!$t(n,e)&&d]}),!$t(n,e)&&a&&(0,f.jsx)("div",{className:"ed-prohint-row",children:(0,f.jsx)(D,{label:(0,r.__)("AI로 만들기","editnday")})}),"category"===e&&C&&!$t(n,e)&&(0,f.jsx)(st,{panel:C,onDone:()=>I(null)}),l===e&&(0,f.jsx)(Vt,{k:e,st:n,mode:u,extra:Y(e,{place:"editor"}),below:Y(e,{place:"below"})})]},e)}),(0,f.jsxs)("div",{className:"ed-taskwrap",children:[(0,f.jsxs)("div",{className:"ed-task",children:[(0,f.jsx)("span",{className:"ed-circ"+(n.featured?" is-filled":""),children:!!n.featured&&(0,f.jsx)(j,{})}),(0,f.jsx)("span",{className:"ed-task__t",children:(0,r.__)("대표 이미지","editnday")}),"featured"===s?(0,f.jsx)(Q,{}):(0,f.jsx)("button",{type:"button",className:"ed-mini",disabled:!!s,onClick:()=>x(!g),children:Ot(n.featured,g)})]}),n.featuredUrl&&(0,f.jsx)("img",{className:"ed-thumb",src:n.featuredUrl,alt:n.featuredAlt}),n.featuredUrl&&(0,f.jsx)(Gt,{url:n.featuredUrl,title:n.seo.kept?.title||n.seo.title||n.title||"",description:n.seo.kept?.description||n.seo.description||""}),g&&(0,f.jsxs)("div",{className:"ed-redo",children:[Y("featured"),(0,f.jsx)(D,{label:(0,r.__)("AI로 그림 만들기","editnday")}),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0,label:(0,r.__)("그림에 넣을 제목 (선택)","editnday"),placeholder:(0,r.__)("비워 두면 글자 없는 그림","editnday"),value:$,onChange:B}),(0,f.jsxs)("div",{className:"ed-redo__title",children:[(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>B(n.title||""),children:(0,r.__)("글 제목 그대로 넣기","editnday")}),!!$.trim()&&(0,f.jsx)("span",{className:"ed-chips",children:[["title",(0,r.__)("제목형","editnday")],["caption",(0,r.__)("캡션형","editnday")]].map(([e,t])=>(0,f.jsx)(S,{on:T===e,onClick:()=>q(e),children:t},e))}),!!$.trim()&&(0,f.jsx)("span",{className:"ed-chips",children:[["top",(0,r.__)("위","editnday")],["center",(0,r.__)("가운데","editnday")],["bottom",(0,r.__)("아래","editnday")]].map(([e,t])=>(0,f.jsx)(S,{on:P===e,onClick:()=>M(e),children:t},e))})]}),(0,f.jsx)("div",{className:"ed-redo__actions",children:!!n.featured&&(0,f.jsx)(N,{disabled:!!s||!$.trim(),onClick:()=>X("featured",async()=>(await Ct($,P,T),x(!1))),children:(0,r.__)("지금 그림에 제목만 넣기","editnday")})})]}),(0,f.jsxs)("div",{className:"ed-tpl",children:[(0,f.jsx)("span",{className:"ed-small ed-strong",children:(0,r.__)("AI 없이 배경 틀로 만들기","editnday")}),(0,f.jsx)("span",{className:"ed-tpl__swatches",children:kt.map(([e,t,n,s])=>(0,f.jsx)("button",{type:"button",className:"ed-tpl__sw"+(F===e?" is-on":""),style:{background:n.length>1?`linear-gradient(135deg, ${n[0]}, ${n[1]})`:n[0],color:s},"aria-pressed":F===e,title:t,onClick:()=>L(e),children:(0,r.__)("가","editnday")},e))}),(0,f.jsx)(N,{disabled:!!s||!($.trim()||n.title?.trim()),onClick:()=>X("featured",async()=>(await vt($.trim()||n.title,F),x(!1))),children:(0,r.__)("배경 틀로 만들기","editnday")}),(0,f.jsxs)("span",{className:"ed-muted",children:[(0,r.__)('위 "그림에 넣을 제목"을, 비워 두면 글 제목을 1200×630 그림 가운데에 넣어요.',"editnday")," ","가운데에 넣어요."]})]}),(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>{const e=window.wp?.media?.({title:(0,r.__)("대표 이미지 고르기","editnday"),library:{type:"image"},multiple:!1,button:{text:(0,r.__)("대표 이미지로","editnday")}});e&&(e.on("select",()=>{const t=e.state().get("selection").first()?.toJSON();t?.id&&Ye({featured_media:t.id}),x(!1)}),e.open())},children:(0,r.__)("미디어 라이브러리에서 고르기","editnday")})]})]}),(0,f.jsxs)("div",{className:"ed-task",children:[(0,f.jsx)("span",{className:"ed-circ"+(n.featuredAlt?" is-filled":""),children:n.featuredAlt&&(0,f.jsx)(j,{})}),(0,f.jsx)("span",{className:"ed-task__t",children:(0,r.__)("대표 이미지 ALT","editnday")}),"alt"===s?(0,f.jsx)(Q,{}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("button",{type:"button",className:"ed-mini is-plain",disabled:!n.featured,onClick:()=>c("alt"===l?null:"alt"),children:"alt"===l?(0,r.__)("닫기","editnday"):(0,r.__)("직접 쓰기","editnday")}),Y("alt")]})]}),n.featuredAlt&&"alt"!==l&&(0,f.jsx)("p",{className:"ed-alttext",children:n.featuredAlt}),"alt"===l&&!!n.featured&&(0,f.jsx)(Ut,{id:n.featured,alt:n.featuredAlt,onDone:()=>c(null)})]}),Y("all"),(0,f.jsx)(Mt,{st:n}),(0,f.jsx)(Tt,{}),(0,f.jsx)(qt,{}),(0,f.jsx)(Ft,{st:n}),(0,f.jsx)(Lt,{st:n,onCheck:t}),(0,f.jsxs)(w,{children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("AEO·GEO 넣는 방식","editnday")}),(0,f.jsxs)(O,{checked:"visible"===u,onChange:()=>{m("visible"),et("_editnday_schema",{...Qe("_editnday_schema"),mode:"visible"}),gt(Qe("_editnday_schema"))},children:[(0,r.__)("본문에 보이게","editnday")," ",(0,f.jsx)("span",{className:"ed-muted",children:(0,r.__)("· 글 앞 요약, 글 끝 자주 묻는 질문","editnday")})]}),(0,f.jsxs)(O,{checked:"structured"===u,onChange:()=>{m("structured"),et("_editnday_schema",{...Qe("_editnday_schema"),mode:"structured"}),gt({})},children:[(0,r.__)("구조화 데이터로만","editnday")," ",(0,f.jsx)("span",{className:"ed-muted",children:(0,r.__)("· 본문 내용 그대로, 검색봇·AI가 읽는 형식","editnday")})]})]}),(0,f.jsxs)(w,{className:"ed-related",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("strong",{children:(0,r.__)("이어지는 내 글","editnday")}),(0,f.jsx)("button",{type:"button",className:"ed-mini",disabled:!!s,onClick:()=>X("related",async()=>{const e=await z()({path:"/editnday/v1/publish/related",method:"POST",data:{postId:n.postId,title:n.title,tags:n.tags,categories:n.categories,content:Ze().getEditedPostContent()}});K(e.items||[])}),children:R?(0,r.__)("다시 찾기","editnday"):(0,r.__)("찾기","editnday")})]}),null===R&&(0,f.jsx)("div",{className:"ed-muted",children:(0,r.__)("이 글과 태그·제목이 겹치는 내 공개 글을 찾아 본문 끝에 링크로 넣을 수 있어요.","editnday")}),R&&!R.length&&(0,f.jsx)("div",{className:"ed-muted",children:(0,r.__)("이어 붙일 만한 글을 찾지 못했어요. 태그를 먼저 달면 더 잘 찾아요.","editnday")}),(R||[]).map(e=>(0,f.jsxs)("div",{className:"ed-row ed-between ed-related__item",children:[(0,f.jsxs)("span",{children:[e.title," ",(0,f.jsx)("span",{className:"ed-muted",children:e.date})]}),(0,f.jsx)("button",{type:"button",className:"ed-mini",disabled:e.added,onClick:()=>{It(e),K(t=>t.map(t=>t.id===e.id?{...t,added:!0}:t))},children:e.added?(0,r.__)("넣었어요","editnday"):(0,r.__)("넣기","editnday")})]},e.id))]}),U&&!G&&H.at&&(0,f.jsxs)("div",{className:"ed-muted ed-indexed",children:[(0,r.__)("검색엔진에 알림:","editnday")," ",new Date(H.at).toLocaleString("ko-KR",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"}),Object.entries(H.results||{}).map(([e,t])=>` · ${"naver"===e?(0,r.__)("네이버","editnday"):(0,r.__)("Bing 등","editnday")} ${t>=200&&t<300?"✓":"✕"}`)]}),(0,f.jsx)(Kt,{}),(0,f.jsx)(Ht,{live:U,scheduled:!!G}),(0,f.jsxs)("div",{className:"ed-foot",children:[G?(0,f.jsx)(k,{disabled:!!V,onClick:async()=>{await(0,J.dispatch)("core/editor").savePost(),(0,J.dispatch)("core/notices").createSuccessNotice((0,r.__)("저장했어요. 예약한 시간에 이 내용으로 발행돼요.","editnday"),{type:"snackbar"})},children:V?(0,r.__)("저장하는 중…","editnday"):(0,r.__)("바뀐 내용 저장","editnday")}):U?(0,f.jsx)(k,{disabled:!!V,onClick:async()=>{await(0,J.dispatch)("core/editor").savePost(),(0,J.dispatch)("core/notices").createSuccessNotice((0,r.__)("바뀐 내용을 사이트에 반영했어요.","editnday"),{type:"snackbar"})},children:V?(0,r.__)("반영하는 중…","editnday"):(0,r.__)("바뀐 내용 사이트에 반영","editnday")}):(0,f.jsx)(k,{onClick:()=>(0,J.dispatch)("core/editor").openPublishSidebar?.(),children:(0,r.__)("공개 전 점검하고 발행","editnday")}),(0,f.jsx)(N,{onClick:e,children:(0,r.__)("새 글 시작","editnday")})]})]})}function Kt(){const e=window.editndayConfig?.indexnow,[t,n]=(0,o.useState)(e?.state),[s,d]=(0,o.useState)(!1);if("unset"!==t||!e?.canManage||e?.blocked)return null;const a=async t=>{d(!0);try{const s=await z()({path:"/editnday/v1/indexnow",method:"POST",data:{on:t}});e.state=s.state,window.editndayConfig.autoSend&&(window.editndayConfig.autoSend.indexnow=!!s.available),n(s.state),(0,J.dispatch)("core/notices").createSuccessNotice(t?(0,r.__)("검색엔진에 알리기를 켰어요. 에디튼 → 설정에서 언제든 끌 수 있어요.","editnday"):(0,r.__)("켜지 않았어요. 에디튼 → 설정에서 언제든 켤 수 있어요.","editnday"),{type:"snackbar"})}catch(e){(0,J.dispatch)("core/notices").createErrorNotice(e?.message||(0,r.__)("저장하지 못했어요.","editnday"),{type:"snackbar"})}finally{d(!1)}};return(0,f.jsxs)(w,{className:"ed-ask",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("발행하면 검색엔진에 알릴까요?","editnday")}),(0,f.jsx)("span",{className:"ed-small",children:(0,r.__)("글을 발행하거나 고치면 그 글의 주소를 네이버·Bing 등에 바로 알려서, 새 글을 더 빨리 찾게 해요 (IndexNow). 글 주소만 보내고, 비공개 글은 보내지 않아요. 구글은 이 방식을 받지 않아요.","editnday")}),(0,f.jsxs)("div",{className:"ed-row ed-gap6",children:[(0,f.jsx)(N,{disabled:s,onClick:()=>a(!0),children:(0,r.__)("켜기","editnday")}),(0,f.jsx)(N,{disabled:s,onClick:()=>a(!1),children:(0,r.__)("지금은 안 함","editnday")})]})]})}function Dt(e){const t=new Date(e);return Number.isNaN(t.getTime())?String(e):t.toLocaleString("ko-KR",{month:"long",day:"numeric",weekday:"short",hour:"numeric",minute:"2-digit"})}function Ht({live:e,scheduled:t}){const n=window.editndayConfig?.autoSend||{},s=!e||t,d=[s&&n.published&&(0,r.__)("고친 내용을 에디튼에 보내 초안과 비교해요","editnday"),n.indexnow&&(s?(0,r.__)("글 주소를 Bing·네이버에 바로 알려요","editnday"):(0,r.__)("반영하면 글 주소를 검색엔진에 다시 알려요","editnday"))].filter(Boolean);if(!d.length)return null;let a="";return t?a=(0,r.__)("예약 시간에 발행되면 자동으로:","editnday"):e||(a=(0,r.__)("발행하면 자동으로:","editnday")),(0,f.jsxs)("p",{className:"ed-muted ed-autosend",children:[a,d.join(" · "),"."," ",(0,f.jsx)("a",{href:window.editndayConfig?.settingsUrl,target:"_blank",rel:"noreferrer",children:(0,r.__)("설정에서 끄기","editnday")})]})}function Ut({id:e,alt:t,onDone:n}){const[s,d]=(0,o.useState)(t||""),[a,i]=(0,o.useState)(!1);return(0,f.jsxs)("div",{className:"ed-taskedit",children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0,label:(0,r.__)("대표 이미지 ALT","editnday"),help:(0,r.__)("그림에 무엇이 보이는지 한 문장으로. 검색엔진과 화면 읽기 프로그램이 읽어요.","editnday"),value:s,onChange:d}),(0,f.jsx)(N,{disabled:a||!s.trim(),onClick:async()=>{i(!0);try{await(0,J.dispatch)("core").saveEntityRecord("postType","attachment",{id:e,alt_text:s.trim()}),n()}catch(e){(0,J.dispatch)("core/notices").createErrorNotice(e?.message||(0,r.__)("저장하지 못했어요.","editnday"),{type:"snackbar"})}finally{i(!1)}},children:a?(0,r.__)("저장 중…","editnday"):(0,r.__)("저장","editnday")})]})}function Vt({k:e,st:t,mode:n,extra:s=[],below:d=[]}){const a=(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(zt,{k:e,st:t,mode:n,extra:s}),d]});return["geo","aeo"].includes(e)||!s.length?a:(0,f.jsxs)(f.Fragment,{children:[a,(0,f.jsx)("div",{className:"ed-row",children:s})]})}function zt({k:e,st:t,mode:n,extra:s}){if("excerpt"===e)return(0,f.jsx)(p.TextareaControl,{__nextHasNoMarginBottom:!0,rows:3,value:t.excerpt,onChange:e=>Ye({excerpt:e})});if("slug"===e)return(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,value:at(t.slug),onChange:e=>Ye({slug:e})});if("seo"===e)return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,label:"Fine Keyword",help:(0,r.__)("저장하면 SEO 플러그인 키워드 칸으로 옮겨요","editnday"),value:t.seo.keyword||"",onChange:e=>et("_editnday_seo",{...t.seo,keyword:e})}),y(_.keywordInfo,{keyword:t.seo.keyword||"",setKeyword:e=>et("_editnday_seo",{...t.seo,keyword:e})}),(0,f.jsx)(ut,{keyword:t.seo.keyword,seo:t.seo}),(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,label:(0,r.__)("SEO 제목","editnday"),value:t.seo.title||"",onChange:e=>et("_editnday_seo",{...t.seo,title:e})}),(0,f.jsx)(p.TextareaControl,{__nextHasNoMarginBottom:!0,label:(0,r.__)("SEO 설명","editnday"),rows:3,value:t.seo.description||"",onChange:e=>et("_editnday_seo",{...t.seo,description:e})})]});const d="visible"===n,a=e=>et("_editnday_schema",{...t.schema,...e,mode:n}),i=e=>{gt(Qe("_editnday_schema"),[e]),(0,J.dispatch)("core/notices").createSuccessNotice("faq"===e?(0,r.__)("본문 끝 질문과 답을 바꿨어요.","editnday"):(0,r.__)("본문 앞 요약을 바꿨어요.","editnday"),{type:"snackbar"})},l=(0,f.jsx)("span",{className:"ed-muted",children:d?(0,r.__)("본문 박스를 바로 고쳐도 돼요. 여기서 고쳤다면 [본문에 반영]을 눌러야 본문이 바뀌어요.","editnday"):(0,r.__)("본문에는 안 보여요. 본문에 있는 내용만 남겨 주세요.","editnday")});if("geo"===e)return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(p.TextareaControl,{__nextHasNoMarginBottom:!0,label:d?(0,r.__)("글 앞 요약","editnday"):(0,r.__)("검색봇·AI가 읽는 요약","editnday"),help:(0,r.__)("글 전체를 두세 문장으로. 검색 결과와 AI 답변에 인용되기 좋아요.","editnday"),rows:4,value:t.schema.summary||"",onChange:e=>a({summary:e})}),!d&&window.editndayConfig?.seoPlugin?(0,f.jsx)("span",{className:"ed-muted",children:(0,r.sprintf)(/* translators: %s: window.editndayConfig.seoPlugin */ /* translators: %s: window.editndayConfig.seoPlugin */(0,r.__)('%s가 글 정보를 이미 내고 있어, 같은 글이 두 번 잡히지 않게 요약은 구조화 데이터에 넣지 않아요. AI 인용에 쓰이게 하려면 "본문에 보이게"를 고르세요.',"editnday"),window.editndayConfig.seoPlugin)}):l,(0,f.jsxs)("div",{className:"ed-row",children:[d&&(0,f.jsx)(N,{disabled:!t.schema.summary?.trim(),onClick:()=>i("summary"),children:(0,r.__)("본문에 반영","editnday")}),s]})]});if("aeo"===e){const e=t.schema.faq?.length?t.schema.faq:[{question:"",answer:""}],n=(t,n)=>a({faq:e.map((e,s)=>s===t?{...e,...n}:e)});return(0,f.jsxs)("div",{className:"ed-faq",children:[e.map((t,s)=>(0,f.jsxs)("div",{className:"ed-faq__item is-edit",children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,label:(0,r.sprintf)(/* translators: %s: i + 1 */ /* translators: %s: i + 1 */(0,r.__)("질문 %s","editnday"),s+1),placeholder:(0,r.__)("독자가 검색창에 칠 만한 질문","editnday"),value:t.question,onChange:e=>n(s,{question:e})}),(0,f.jsx)(p.TextareaControl,{__nextHasNoMarginBottom:!0,label:(0,r.__)("답","editnday"),rows:3,value:t.answer,onChange:e=>n(s,{answer:e})}),e.length>1&&(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>a({faq:e.filter((e,t)=>t!==s)}),children:(0,r.__)("이 질문 빼기","editnday")})]},s)),l,(0,f.jsxs)("div",{className:"ed-row",children:[e.length<6&&(0,f.jsx)(N,{onClick:()=>a({faq:[...e,{question:"",answer:""}]}),children:(0,r.__)("질문 더하기","editnday")}),d&&(0,f.jsx)(N,{disabled:!e.some(e=>e.question?.trim()&&e.answer?.trim()),onClick:()=>i("faq"),children:(0,r.__)("본문에 반영","editnday")}),s]})]})}return"category"===e?(0,f.jsx)(nt,{}):"tags"===e?(0,f.jsx)("span",{className:"ed-muted",children:t.tags.length?(0,r.__)("워드프레스 태그 칸에 넣었어요. 오른쪽 ‘글’ 설정에서 고칠 수 있어요.","editnday"):(0,r.__)("태그는 오른쪽 ‘글’ 설정의 태그 칸에서 넣어요. 이 글을 찾을 만한 낱말 3~5개면 충분해요.","editnday")}):null}function Gt({url:e,title:t,description:n}){const[s,d]=(0,o.useState)(!1);let a="";try{a=new URL(window.location.href).hostname.replace(/^www\./,"")}catch(e){}return s?(0,f.jsxs)("div",{className:"ed-share",children:[(0,f.jsxs)("div",{className:"ed-share__card",children:[(0,f.jsx)("div",{className:"ed-share__img",style:{backgroundImage:`url("${e}")`},role:"img","aria-label":(0,r.__)("1.91:1로 잘린 대표 이미지","editnday")}),(0,f.jsxs)("div",{className:"ed-share__text",children:[(0,f.jsx)("span",{className:"ed-muted",children:a}),(0,f.jsx)("strong",{children:t||(0,r.__)("(제목 없음)","editnday")}),n&&(0,f.jsx)("span",{className:"ed-share__desc",children:n})]})]}),(0,f.jsxs)("p",{className:"ed-muted",children:[(0,r.__)("카카오톡·페이스북·X 링크는 보통 가운데를 1.91:1(1200×630)로 잘라 보여요. 가장자리의 글자·얼굴이 잘리면 그림을 다시 고르거나 만들어 보세요.","editnday")," ",(0,f.jsx)("button",{type:"button",className:"ed-mini",onClick:()=>d(!1),children:(0,r.__)("닫기","editnday")})]})]}):(0,f.jsx)("button",{type:"button",className:"ed-mini",style:{margin:"6px 0 2px"},onClick:()=>d(!0),children:(0,r.__)("공유될 때 모습 보기","editnday")})}function Jt(){const e=ft(),t=(0,c.applyFilters)(_.prepublishFixes,null),n=Et(e),s=n.filter(e=>!e.ok),[d,a]=(0,o.useState)(!1),[i,l]=(0,o.useState)(null),u=(()=>{try{const t=JSON.parse(e&&window.wp?.data?.select("core/editor").getEditedPostAttribute("meta")?._editnday_job||"null");return t?t.reviewed?"done":"pending":"none"}catch(e){return"none"}})(),h=["none"!==u&&{ok:"done"===u,label:"done"===u?(0,r.__)("확인할 곳 처리함","editnday"):(0,r.__)("확인할 곳이 남아 있어요 (에디튼 사이드바)","editnday")},{ok:e.categories.length>0,label:e.categories.length?(0,r.sprintf)(/* translators: %s: st.categoryNames.join( ', ' ) */ /* translators: %s: st.categoryNames.join( ', ' ) */(0,r.__)("카테고리: %s","editnday"),e.categoryNames.join(", ")):(0,r.__)("카테고리를 아직 고르지 않았어요 (기본 카테고리만)","editnday"),fix:t&&(async()=>{const e=await t.text(["category"]);l(e.categories?.length?null:{near:e.nearCategories||[],suggest:e.newCategory||""})}),key:"category"},e.memberCategoryNames?.length>0&&{ok:!1,label:(0,r.sprintf)(/* translators: %s: st.memberCategoryNames.join( ', ' ) */ /* translators: %s: st.memberCategoryNames.join( ', ' ) */(0,r.__)("회원 전용 카테고리: %s — 공개해도 회원만 볼 수 있어요 (SureMembers)","editnday"),e.memberCategoryNames.join(", "))},{ok:!s.length,label:s.length?(0,r.sprintf)(/* translators: 1: 통과한 수, 2: 전체 수, 3: 안 된 항목 이름(두 개까지), 4: 더 있으면 " 등" */ /* translators: 1: 통과한 수, 2: 전체 수, 3: 안 된 항목 이름(두 개까지), 4: 더 있으면 " 등" */(0,r.__)("검색·AI 점검 %1$s/%2$s: %3$s%4$s (에디튼 사이드바 → 발행 준비)","editnday"),n.length-s.length,n.length,s.slice(0,2).map(e=>e.label).join(", "),s.length>2?(0,r.__)(" 등","editnday"):""):(0,r.sprintf)(/* translators: %1$s: ko.length, %2$s: ko.length */ /* translators: %1$s: ko.length, %2$s: ko.length */(0,r.__)("검색·AI 점검 %1$s/%2$s","editnday"),n.length,n.length)},{ok:!!e.excerpt,label:e.excerpt?(0,r.__)("발췌문 있음","editnday"):(0,r.__)("발췌문 없음","editnday"),fix:t&&(()=>t.text(["excerpt"]))},{ok:!!e.seo.description,label:e.seo.description?(0,r.__)("SEO 설명 있음","editnday"):(0,r.__)("SEO 설명 없음","editnday"),fix:t&&(()=>t.text(["seo"]))},{ok:!!e.featured,label:e.featured?(0,r.__)("대표 이미지 있음","editnday"):(0,r.__)("대표 이미지 없음","editnday"),fix:t?.featured},(e.schema.faq?.length||e.schema.summary)&&{ok:!0,label:(0,r.sprintf)(/* translators: 1: 만든 데이터 목록 (예: 요약 · 질문 3개), 2: 본문에 안 보일 때 덧붙이는 설명 */ /* translators: 1: 만든 데이터 목록 (예: 요약 · 질문 3개), 2: 본문에 안 보일 때 덧붙이는 설명 */(0,r.__)("검색봇·AI용 데이터: %1$s%2$s","editnday"),[e.schema.summary&&(0,r.__)("요약","editnday"),e.schema.faq?.length&&(0,r.sprintf)(/* translators: %d: 질문 수 */ /* translators: %d: 질문 수 */17 (0, r.__)("질문 %d개","editnday"),e.schema.faq.length)].filter(Boolean).join(" · "),"structured"===e.schema.mode?(0,r.__)(" (본문에 안 보임, 에디튼 사이드바에서 고침)","editnday"):"")},(window.editndayConfig?.autoSend?.published||window.editndayConfig?.autoSend?.indexnow)&&{ok:!0,label:(0,r.sprintf)(/* translators: %s: 발행 때 자동으로 하는 일 목록 */ /* translators: %s: 발행 때 자동으로 하는 일 목록 */(0,r.__)("발행되면(예약이면 그 시간에) 자동으로: %s (관리자 메뉴 에디튼에서 끌 수 있어요)","editnday"),[window.editndayConfig.autoSend.published&&(0,r.__)("고친 내용을 에디튼에 보내요","editnday"),window.editndayConfig.autoSend.indexnow&&(0,r.__)("글 주소를 검색엔진에 알려요","editnday")].filter(Boolean).join(" · "))},e.featured&&{ok:!!e.featuredAlt,label:e.featuredAlt?(0,r.__)("대표 이미지 ALT 있음","editnday"):(0,r.__)("대표 이미지 ALT 없음","editnday"),fix:t?.alt}].filter(Boolean),y=h.filter(e=>!e.ok&&e.fix);return(0,f.jsxs)("div",{className:"editnday ed-prepublish",children:[h.map(e=>(0,f.jsxs)("div",{children:[(0,f.jsxs)("div",{className:"ed-task",children:[(0,f.jsx)("span",{className:"ed-circ"+(e.ok?" is-filled":" is-warn"),children:e.ok?(0,f.jsx)(j,{}):"!"}),(0,f.jsx)("span",{className:"ed-task__t",children:e.label}),!e.ok&&e.fix&&(0,f.jsx)("button",{type:"button",className:"ed-mini",disabled:d,onClick:async()=>{a(!0);try{await e.fix()}finally{a(!1)}},children:"category"===e.key?(0,r.__)("고르기","editnday"):(0,r.__)("AI로 만들기","editnday")})]}),"category"===e.key&&i&&!e.ok&&(0,f.jsx)(st,{panel:i,onDone:()=>l(null)})]},e.label)),y.length>1&&(0,f.jsx)("button",{type:"button",className:"ed-ghost",disabled:d,onClick:async()=>{a(!0);try{const n=[!e.categories.length&&"category",!e.excerpt&&"excerpt",!e.seo.description&&"seo"].filter(Boolean);if(n.length){const e=await t.text(n);n.includes("category")&&!e.categories?.length&&l({near:e.nearCategories||[],suggest:e.newCategory||""})}e.featured||await t.featured(),await t.alt().catch(()=>{})}finally{a(!1)}},children:d?(0,r.__)("만드는 중…","editnday"):(0,r.__)("남은 것 모두 하기","editnday")})]})}const Wt=window.wp.plugins,Xt=window.wp.domReady;var Zt=n.n(Xt);const Yt=()=>"undefined"!=typeof window&&window.speechSynthesis?window.speechSynthesis:null;function Qt({result:e}){const[t,n]=(0,o.useState)(!1),[s,d]=(0,o.useState)(null);if((0,o.useEffect)(()=>()=>Yt()?.cancel(),[]),!t)return(0,f.jsx)("button",{type:"button",className:"ed-link ed-sentences__toggle",onClick:()=>n(!0),children:(0,r.__)("문장별로 보기","editnday")});const a=new Set(e.issues.filter(e=>["long_sentence","many_clauses","adverb_heavy"].includes(e.rule)).map(e=>e.sentence));return(0,f.jsxs)("div",{className:"ed-sentences",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("문장별로 보기","editnday")}),(0,f.jsx)("button",{type:"button",className:"ed-link ed-muted",onClick:()=>{Yt()?.cancel(),d(null),n(!1)},children:(0,r.__)("접기","editnday")})]}),(0,f.jsx)("span",{className:"ed-small",children:(0,r.__)("한 줄에 한 문장이에요. 한 호흡(60자)을 넘으면 노랑, 100자를 넘으면 빨강. 소리 내어 읽어 어색하면 나눠요.","editnday")}),e.sections.map(e=>{const t=je(e.text);return t.length?(0,f.jsxs)("div",{className:"ed-sentences__sec",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsxs)("strong",{className:"ed-sentences__h",children:[e.heading||(0,r.__)("도입","editnday"),(0,f.jsxs)("span",{className:"ed-muted",children:[" · ",(0,r.sprintf)(/* translators: %d: 문장 수 */ /* translators: %d: 문장 수 */18 (0, r.__)("%d문장","editnday"),t.length)]})]}),Yt()&&(0,f.jsx)("button",{type:"button",className:"ed-mini",onClick:()=>(e=>{const t=Yt();if(!t)return;if(s===e.id)return t.cancel(),void d(null);t.cancel();const n=new window.SpeechSynthesisUtterance((e.heading?e.heading+". ":"")+je(e.text).join(" "));n.lang="ko-KR",n.rate=1,n.onend=()=>d(null),n.onerror=()=>d(null),d(e.id),t.speak(n)})(e),"aria-pressed":s===e.id,children:s===e.id?(0,r.__)("멈추기","editnday"):(0,r.__)("읽어 주기","editnday")})]}),t.map((e,t)=>{let n="";return e.length>100?n=" is-long":e.length>60&&(n=" is-breath"),(0,f.jsxs)("button",{type:"button",className:`ed-sentences__s${n}${a.has(e)?" is-flag":""}`,onClick:()=>_e(e),title:(0,r.__)("본문에서 보기","editnday"),children:[(0,f.jsx)("span",{className:"ed-sentences__n",children:e.length}),(0,f.jsx)("span",{children:e})]},t)})]},e.id):null})]})}const en={da:(0,r.__)("-다","editnday"),yo:(0,r.__)("-요","editnday"),sumnida:(0,r.__)("-습니다","editnday")},tn=[{id:"ai",rules:["banned_phrase"],label:(0,r.__)("AI가 쓴 티가 나는 표현","editnday"),hint:(0,r.__)('상투적인 칭찬, 글을 소개하는 문장, "결론적으로" 같은 정리 말은 빼거나 내 말로 바꿔요.',"editnday")},{id:"spell",rules:["common_mistake"],label:(0,r.__)("자주 틀리는 표현","editnday"),hint:(0,r.__)("몇일 → 며칠, 되요 → 돼요, 컨텐츠 → 콘텐츠처럼 자주 틀리는 표현을 표준 표기로 고쳐요. 맞춤법 전체를 보지는 않아요.","editnday")},{id:"ending",rules:["ending_mixed"],label:(0,r.__)("어미 섞임","editnday"),hint:e=>e.ending?(0,r.sprintf)(/* translators: %s: ENDING_LABEL[ r.ending ] */ /* translators: %s: ENDING_LABEL[ r.ending ] */(0,r.__)("이 글은 대부분 '%s'로 끝나요. 다른 어미로 끝난 문장을 맞춰요.","editnday"),en[e.ending]):(0,r.__)("문장이 더 쌓이면 어미를 봐요.","editnday")},{id:"similar",rules:["repeated_sentence"],label:(0,r.__)("닮은 문장","editnday"),hint:(0,r.__)("앞에서 한 말을 다시 하고 있어요. 한 곳만 남기거나 다르게 써요.","editnday")},{id:"repeat",rules:["repetition"],label:(0,r.__)("같은 표현 되풀이","editnday"),hint:(0,r.__)("같은 말이 세 번 넘게 나와요. 몇 곳은 다른 말로 바꿔요.","editnday")},{id:"start",rules:["same_start"],label:(0,r.__)("같은 말로 시작하는 문장","editnday"),hint:(0,r.__)('"또한 … 또한 …"처럼 이어지면 단조로워요. 접속어를 빼거나 순서를 바꿔요.',"editnday")},{id:"long",rules:["long_sentence"],label:(0,r.__)("긴 문장","editnday"),hint:(0,r.__)("100자가 넘는 문장은 모바일에서 읽기 힘들어요. 둘로 나눠요.","editnday")},{id:"adverb",rules:["adverb_heavy"],label:(0,r.__)("부사 몰림","editnday"),hint:(0,r.__)("한 문장에 정말·너무·아주 같은 부사가 둘 넘게 있어요. 빼도 뜻이 바뀌지 않으면 빼요. 부사가 빠질수록 담백해져요.","editnday")},{id:"clauses",rules:["many_clauses"],label:(0,r.__)("이어 붙인 문장","editnday"),hint:(0,r.__)("'-고, -는데, -지만'으로 절이 네 개 넘게 이어졌어요. 정보 하나에 문장 하나로 나누면 읽는 사람이 놓치지 않아요.","editnday")},{id:"para",rules:["long_paragraph"],label:(0,r.__)("긴 단락","editnday"),hint:(0,r.__)("한 단락이 500자를 넘으면 화면이 글자로 가득해요. 나눠요.","editnday")},{id:"number",rules:["number_format"],label:(0,r.__)("숫자 표기","editnday"),hint:(0,r.__)("큰 수를 쉼표 있게도 없게도 썼어요. 한 가지로 맞춰요.","editnday")},{id:"foreign",rules:["foreign_script"],label:(0,r.__)("일본어·한자 섞임","editnday"),hint:(0,r.__)("한국어 글에 일본어나 한자가 섞였어요.","editnday")},{id:"alt",rules:["image_alt"],label:(0,r.__)("대체 텍스트 없는 이미지","editnday"),hint:(0,r.__)("검색엔진과 화면 읽기 프로그램이 그림을 이해하게 대체 텍스트(ALT)를 적어요.","editnday")}],nn="editnday_textcheck_off",sn=()=>{try{return JSON.parse(window.localStorage.getItem(nn)||"[]")}catch(e){return[]}},dn=e=>{try{window.localStorage.setItem(nn,JSON.stringify(e))}catch(e){}};function an(){const e=(0,J.useSelect)(e=>e("core/block-editor").getBlocks(),[]),[t,n]=(0,o.useState)(()=>ze(e));(0,o.useEffect)(()=>{const t=setTimeout(()=>n(ze(e)),800);return()=>clearTimeout(t)},[e]);const[s,d]=(0,o.useState)(sn),[a,i]=(0,o.useState)(!1),[l,c]=(0,o.useState)(null);if(t.metrics.chars<50)return(0,f.jsxs)(w,{className:"ed-koseo",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("한국어 글 점검","editnday")}),(0,f.jsx)("span",{className:"ed-small",children:(0,r.__)("본문을 쓰면 여기서 바로 점검해요.","editnday")})]});const u=tn.filter(e=>!s.includes(e.id)).map(e=>({...e,issues:t.issues.filter(t=>e.rules.includes(t.rule))})),h=u.filter(e=>!e.issues.length).length,m=u.filter(e=>e.issues.length),p=a?u:m;return(0,f.jsxs)(w,{className:"ed-koseo ed-textcheck",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,r.__)("한국어 글 점검","editnday")}),(0,f.jsx)("span",{className:"ed-koseo__score"+(m.length?"":" is-ok"),children:(0,r.sprintf)(/* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */ /* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */19 (0, r.__)("%1$d개 중 %2$d개 통과","editnday"),u.length,h)})]}),p.map(e=>{const n=l===e.id,a="function"==typeof e.hint?e.hint(t):e.hint;return(0,f.jsxs)("div",{className:"ed-koseo__item",children:[(0,f.jsx)("span",{className:"ed-circ"+(e.issues.length?" is-warn":" is-filled"),children:e.issues.length?"!":(0,f.jsx)(j,{})}),(0,f.jsxs)("span",{className:"ed-koseo__body",children:[(0,f.jsxs)("button",{type:"button",className:"ed-koseo__head ed-textcheck__head","aria-expanded":n,disabled:!e.issues.length,onClick:()=>c(n?null:e.id),children:[(0,f.jsx)("span",{className:"ed-koseo__label",children:e.label}),(0,f.jsx)("span",{className:"ed-koseo__who",children:e.issues.length?(0,r.sprintf)(/* translators: %s: it.issues.length */ /* translators: %s: it.issues.length */(0,r.__)("%s곳","editnday"),e.issues.length):(0,r.__)("없음","editnday")})]}),n&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("span",{className:"ed-koseo__hint",children:a}),e.issues.slice(0,5).map((e,t)=>(0,f.jsxs)("button",{type:"button",className:"ed-textcheck__sent",onClick:()=>{var t;(t=e).clientId?(0,J.dispatch)("core/block-editor").selectBlock(t.clientId):_e(t.sentence)||(0,J.dispatch)("core/notices").createWarningNotice((0,r.__)("본문에서 문장을 찾지 못했어요","editnday"),{type:"snackbar"})},title:(0,r.__)("본문에서 보기","editnday"),children:[["common_mistake","adverb_heavy","many_clauses"].includes(e.rule)&&(0,f.jsxs)("strong",{children:[e.detail," · "]}),e.sentence.length>70?`${e.sentence.slice(0,70)}…`:e.sentence]},t)),e.issues.length>5&&(0,f.jsx)("span",{className:"ed-muted",children:(0,r.sprintf)(/* translators: %d: 더 있는 곳 수 */ /* translators: %d: 더 있는 곳 수 */20 (0, r.__)("그 밖에 %d곳","editnday"),e.issues.length-5)}),(0,f.jsx)("button",{type:"button",className:"ed-link ed-muted",onClick:()=>(e=>{const t=s.includes(e)?s.filter(t=>t!==e):[...s,e];d(t),dn(t)})(e.id),children:(0,r.__)("이 항목 점검 끄기","editnday")}),y(_.checkItemActions,{item:e.id,issues:e.issues}),"number"!==e.id&&(0,f.jsx)(D,{label:(0,r.__)("AI로 고치기","editnday")})]})]})]},e.id)}),!m.length&&!a&&(0,f.jsx)("span",{className:"ed-small",children:(0,r.__)("모두 좋아요.","editnday")}),(0,f.jsx)(Qt,{result:t}),(0,f.jsxs)("div",{className:"ed-koseo__foot",children:[(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>i(!a),children:a?(0,r.__)("고칠 것만 보기","editnday"):(0,r.sprintf)(/* translators: %s: okN */ /* translators: %s: okN */(0,r.__)("통과한 것도 보기 (%s)","editnday"),h)}),s.length>0&&(0,f.jsx)("button",{type:"button",className:"ed-link ed-muted",onClick:()=>{d([]),dn([])},children:(0,r.sprintf)(/* translators: %d: 꺼 둔 항목 수 */ /* translators: %d: 꺼 둔 항목 수 */21 (0, r.__)("꺼 둔 항목 %d개 다시 켜기","editnday"),s.length)}),(0,f.jsx)("span",{className:"ed-muted",children:(0,r.__)("문장을 누르면 본문에서 보여 줘요. 맞춤법 전체가 아니라 자주 틀리는 표현만 봐요.","editnday")})]})]})}function rn(){const e=ft();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(A,{eyebrow:(0,r.__)("글 점검","editnday"),title:(0,r.__)("이 글을 점검해요","editnday"),sub:(0,r.__)("쓰는 동안 문장과 검색을 함께 봐요. 글을 고치면 잠깐 뒤 다시 점검해요.","editnday")}),(0,f.jsx)(an,{}),(0,f.jsx)(Pt,{st:e}),(0,f.jsx)(U,{})]})}function ln(){const e=(0,J.useSelect)(e=>!e("core/editor").isEditedPostEmpty(),[]),t=(0,J.useSelect)(e=>["publish","future","private"].includes(e("core/editor").getEditedPostAttribute("status")),[]),[n,s]=(0,o.useState)(null),d=[{id:"check",label:(0,r.__)("글 점검","editnday"),render:e=>(0,f.jsx)(rn,{api:e})},{id:"publish",label:(0,r.__)("발행 준비","editnday"),render:e=>(0,f.jsx)(Rt,{onNew:()=>h()?m(u.newPost):window.location.href="post-new.php",onCheck:()=>e.goTab("check")})}],a=y(_.tabs,{free:d}),i=a.length?a:d,l=(0,o.useRef)(!1),c=e=>{l.current||(l.current=!0,s(e))},p=i.some(e=>e.decides);(0,o.useEffect)(()=>{p||c(t&&e&&!(()=>{try{return!!JSON.parse((0,J.select)("core/editor").getEditedPostAttribute("meta")?._editnday_job||"null")?.id}catch(e){return!1}})()?"publish":"check")},[p,t,e]);const g=n??i[0].id,x=y(_.notice,{tab:g});return(0,f.jsxs)("div",{className:"editnday ed-body",children:[x,(0,f.jsx)(v,{tabs:i.map(e=>[e.id,e.label]),value:g,onChange:s}),i.map(e=>{const t=e.id===g;return t||e.keepMounted?(0,f.jsx)(o.Fragment,{children:e.render({active:t,goTab:s,onDecide:c})},e.id):null})]})}window.editnday=Object.freeze({...a,...i,...s,...d});const on=()=>(0,f.jsx)(x,{size:18}),cn=()=>(0,f.jsxs)("div",{className:"editnday-header",children:[(0,f.jsx)("img",{src:window.editndayConfig?.wordmark,alt:(0,r.__)("에디튼","editnday"),height:"18"}),(0,f.jsxs)("span",{className:"editnday-header__ver",children:["v",window.editndayConfig?.version]}),h()&&(0,f.jsxs)("span",{className:"editnday-header__pro",title:(0,r.__)("에디튼 프로","editnday"),children:["P",window.editndayConfig?.proVersion&&(0,f.jsx)("span",{className:"editnday-header__prover",children:window.editndayConfig.proVersion})]})]});Zt()(()=>(0,Wt.registerPlugin)("editnday",{render:()=>(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(l.PluginSidebarMoreMenuItem,{target:"editnday-sidebar",icon:(0,f.jsx)(on,{}),children:(0,r.__)("에디튼","editnday")}),(0,f.jsx)(l.PluginSidebar,{name:"editnday-sidebar",title:(0,r.__)("에디튼","editnday"),icon:(0,f.jsx)(on,{}),header:(0,f.jsx)(cn,{}),children:(0,f.jsx)(ln,{})}),(0,f.jsx)(l.PluginPrePublishPanel,{title:(0,r.__)("에디튼 발행 점검","editnday"),initialOpen:!0,icon:(0,f.jsx)(on,{}),children:(0,f.jsx)(Jt,{})})]})}))}};const t={};function n(s){const d=t[s];if(void 0!==d)return d.exports;const a=t[s]={exports:{}};return e[s](a,a.exports,n),a.exports}n.m=e,(()=>{const e=[];n.O=(t,s,d)=>{if(!s){for(var a=0;a<e.length;a++){let[s,d]=e[a],r=!0;for(var i=0;i<s.length;i++)n.O.j(s[i])?s.splice(i--,1):r=!1;if(r){e.splice(a--,1);const n=d();void 0!==n&&(t=n)}}return t}e.push([s,d])}})(),n.n=e=>{const t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var s in t)n.o(t,s)&&!n.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},n.o=(e,t)=>Object.hasOwn(e,t),n.r=e=>{Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{const e={57:0,350:0};n.O.j=t=>0===e[t];const t=(t,s)=>{let[d,a,i]=s;var r,l,o=0;if(d.some(t=>0!==e[t])){for(r in a)n.o(a,r)&&(n.m[r]=a[r]);if(i)var c=i(n)}for(t&&t(s);o<d.length;o++)l=d[o],n.o(e,l)&&e[l]&&e[l][0](),e[l]=0;return n.O(c)},s=globalThis.webpackChunk_editnday_plugin||=[];s.forEach(t.bind(null,0)),s.push=t.bind(null,s.push.bind(s))})();let s=n.O(void 0,[350],()=>n(786));s=n.O(s)})();1 (()=>{"use strict";var e={786(e,t,n){var s={};n.r(s),n.d(s,{EVENT:()=>u,SLOT:()=>_,emit:()=>m,hasPro:()=>h,slot:()=>y});var a={};n.r(a),n.d(a,{Bar:()=>M,Card:()=>w,Check:()=>j,Chip:()=>S,Cta:()=>k,Elapsed:()=>B,Ghost:()=>N,Head:()=>A,Live:()=>P,Opt:()=>I,Radio:()=>T,Req:()=>$,Stepper:()=>L,Steps:()=>E,Symbol:()=>x,Tabs:()=>v,Tag:()=>C});var d={};n.r(d),n.d(d,{CONTENT_STYLE:()=>te,applyToSentence:()=>re,bodyHeadings:()=>Q,clearEmptyStart:()=>ie,contentStyleOn:()=>ne,findSentenceBlock:()=>ce,hasSection:()=>W,insertSection:()=>X,insertSectionAfter:()=>ee,plainText:()=>ae,restoreBlocks:()=>oe,setTitle:()=>le,showSentence:()=>_e,withContentStyle:()=>se});var i={};n.r(i),n.d(i,{CategoryNoFit:()=>st,KoSeoCard:()=>Lt,PublishScreen:()=>Jt,TASKS:()=>ht,TEMPLATES:()=>kt,TPL_ASPECTS:()=>vt,TPL_LAYOUTS:()=>St,closestSentence:()=>ct,contentText:()=>tt,decode:()=>at,drawTemplate:()=>It,ed:()=>Ye,edit:()=>Ze,hasWord:()=>rt,insertRelated:()=>Mt,memberOnly:()=>lt,placeVisible:()=>gt,readMeta:()=>Qe,setFineKeyword:()=>xt,strip:()=>Ot,tagIds:()=>yt,templateFeatured:()=>At,templatePreview:()=>Et,titleFeatured:()=>Pt,useKoSeo:()=>qt,usePublishState:()=>ft,writeMeta:()=>et});const l=window.wp.i18n,r=window.wp.editor,o=window.wp.element,c=window.wp.hooks,_={pro:"editnday.pro",tabs:"editnday.sidebar.tabs",notice:"editnday.notice",checkItemActions:"editnday.check.itemActions",publishFieldActions:"editnday.publish.fieldActions",keywordFix:"editnday.publish.keywordFix",keywordInfo:"editnday.publish.keywordInfo",prepublishFixes:"editnday.prepublish.fixes"},u={newPost:"editnday.newPost"},h=()=>!!(0,c.applyFilters)(_.pro,null),y=(e,t={})=>{const n=(0,c.applyFilters)(e,[],t);return Array.isArray(n)?n.filter(Boolean):[]},m=(e,...t)=>(0,c.doAction)(e,...t),p=window.wp.components,g=window.wp.compose,f=window.ReactJSXRuntime,x=({size:e=16,color:t="#243235"})=>(0,f.jsx)("svg",{viewBox:"0 0 44 46.6",width:e,height:e,"aria-hidden":"true",children:(0,f.jsx)("path",{fill:t,d:"M43.22,21.083c.304-6.426-2.765-9.571-2.765-9.571-4.952-5.651-16.923-5.378-27.013-5.047-1.774,0-2.833.293-4.019.748-1.738.635-3.071,1.831-4.423,3.1-1.435,1.352-2.621,3.131-3.517,5.49C.131,19.294-.296,23.225.2,27.005c0,.003,0,.005.001.008,0,0,1.116,5.041,2.233,7.124.662,1.241,4.373,5.311,5.531,5.987,2.069,1.2,5.559,2.262,7.863,1.117-.386-.455-.814-.91-1.035-1.476-.221-.538-.221-1.228.166-1.669.11-.138.221-.262.331-.372.772.028,1.499.428,5.568.428,5.378.133,16.915,1.493,15.26-2.767-13.801-.264-20.166-.917-22.161-3.05-.475-.508-.34-1.395.13-.921,3.733,3.767,23.166,3.09,23.175,3.095,3.119.035,5.785-8.914,5.957-13.425ZM12.152,28.125c-2.019.168-3.793-2.006-2.416-3.297.971-.912,2.233-1.046,3.547.038,1.691,1.459.425,3.13-1.131,3.26Z"})}),b=()=>(0,f.jsx)("svg",{viewBox:"0 0 24 24",width:"16",height:"16",fill:"none",stroke:"#243235",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",children:(0,f.jsx)("path",{d:"M7 17L17 7M9 7h8v8"})}),j=({color:e="#fff"})=>(0,f.jsx)("svg",{viewBox:"0 0 24 24",width:"12",height:"12",fill:"none",stroke:e,strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,f.jsx)("path",{d:"M5 12.5l4.5 4.5L19 7.5"})}),w=({children:e,className:t=""})=>(0,f.jsx)("div",{className:`ed-card ${t}`,children:e}),k=({children:e,onClick:t,disabled:n})=>(0,f.jsxs)("button",{type:"button",className:"ed-cta",onClick:t,disabled:n,children:[(0,f.jsx)("span",{children:e}),(0,f.jsx)("span",{className:"ed-cta__dot",children:(0,f.jsx)(b,{})})]}),N=({children:e,onClick:t,disabled:n})=>(0,f.jsx)("button",{type:"button",className:"ed-ghost",onClick:t,disabled:n,children:e}),v=({tabs:e,value:t,onChange:n})=>(0,f.jsx)("div",{className:"ed-tabs",role:"tablist",children:e.map(([e,s])=>(0,f.jsx)("button",{type:"button",role:"tab","aria-selected":t===e,className:"ed-tab"+(t===e?" is-on":""),onClick:()=>n(e),children:s},e))}),S=({children:e,on:t,lav:n,onClick:s})=>(0,f.jsx)("button",{type:"button",className:`ed-chip${t?" is-on":""}${n?" is-lav":""}`,onClick:s,"aria-pressed":!!t,children:e}),C=({children:e,tone:t})=>(0,f.jsx)("span",{className:"ed-tag"+(t?` is-${t}`:""),children:e}),$=()=>(0,f.jsx)("span",{className:"ed-req",role:"img","aria-label":(0,l.__)("필수","editnday")}),I=()=>(0,f.jsx)("span",{className:"ed-opt",children:(0,l.__)("선택","editnday")}),A=({eyebrow:e,title:t,sub:n})=>(0,f.jsxs)("div",{className:"ed-head",children:[e&&(0,f.jsx)("span",{className:"ed-eyebrow",children:e}),(0,f.jsx)("h2",{className:"ed-h",children:t}),n&&(0,f.jsx)("p",{className:"ed-sub",children:n})]}),E=({steps:e})=>(0,f.jsx)("div",{className:"ed-steps",children:e.map(e=>(0,f.jsxs)("div",{className:`ed-step is-${e.state}`,children:[(0,f.jsx)("span",{className:"ed-circ",children:"done"===e.state&&(0,f.jsx)(j,{})}),(0,f.jsx)("span",{className:"ed-step__label",children:e.label}),e.meta&&(0,f.jsx)("span",{className:"ed-muted ed-step__meta",children:e.meta})]},e.label))});function B({since:e}){const[t,n]=(0,o.useState)(Date.now());(0,o.useEffect)(()=>{const e=setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(e)},[]);const s=Math.max(0,Math.round((t-e)/1e3));return(0,f.jsx)("span",{className:"ed-muted ed-elapsed",children:s>=60?(0,l.sprintf)(/* translators: %1$s: Math.floor( s / 60 ), %2$s: s % 60 */ /* translators: %1$s: Math.floor( s / 60 ), %2$s: s % 60 */(0,l.__)("%1$s분 %2$s초째","editnday"),Math.floor(s/60),s%60):(0,l.sprintf)(/* translators: %s: s */ /* translators: %s: s */(0,l.__)("%s초째","editnday"),s)})}const P=({text:e,since:t})=>(0,f.jsxs)("div",{className:"ed-live",children:[(0,f.jsx)("span",{className:"ed-pulse"}),(0,f.jsx)("span",{className:"ed-live__t",children:e}),(0,f.jsx)(B,{since:t})]}),M=({ratio:e,busy:t})=>(0,f.jsxs)("div",{className:"ed-bar"+(t?" is-busy":""),role:"progressbar","aria-valuenow":Math.round(100*e),"aria-valuemin":0,"aria-valuemax":100,children:[(0,f.jsx)("div",{className:"ed-bar__fill",style:{width:`${Math.max(4,100*e)}%`}}),(0,f.jsx)("div",{className:"ed-bar__hatch"})]}),T=({checked:e,onChange:t,children:n})=>{const s=`ed-radio-${(0,g.useInstanceId)(T)}`;return(0,f.jsxs)("label",{htmlFor:s,className:"ed-radio"+(e?" is-on":""),children:[(0,f.jsx)("input",{id:s,type:"radio",checked:e,onChange:t}),(0,f.jsx)("span",{className:"ed-rdot"}),(0,f.jsx)("span",{children:n})]})},O={start:[0,-1,""],research:[0,0,(0,l.__)("에디튼이 자료를 모으는 중 · 1~2분","editnday")],plan:[1,-1,""],writing:[1,1,(0,l.__)("다 쓰면 확인할 곳을 보여 드려요 · 2~3분","editnday")],review:[2,-1,(0,l.__)("확인할 곳을 정하면 발행 준비로 넘어가요","editnday")],done:[2,-1,""]},F=[(0,l.__)("주제·메모","editnday"),(0,l.__)("구성안 고르기","editnday"),(0,l.__)("확인·발행","editnday")],q=[(0,l.__)("자료 조사","editnday"),(0,l.__)("본문 쓰기","editnday")];function L({stage:e}){const t=O[e];if(!t)return null;const[n,s,a]=t,d=s>=0?s:n-1;return(0,f.jsxs)("div",{className:"ed-stepper","aria-label":(0,l.sprintf)(/* translators: 1: 지금 단계 번호, 2: 진행 중인 일 (예: ", 구성안 만드는 중") */ /* translators: 1: 지금 단계 번호, 2: 진행 중인 일 (예: ", 구성안 만드는 중") */(0,l.__)("작가가 할 일 3단계 중 %1$s단계%2$s","editnday"),n+1,s>=0?(0,l.sprintf)(/* translators: %s: 진행 중인 일 */ /* translators: %s: 진행 중인 일 */ 2 (0,l.__)(", %s 중","editnday"),q[s]):""),children:[(0,f.jsx)("div",{className:"ed-stepper__flow",children:F.map((e,t)=>{const a=t<=d,i=!a&&t===n&&s<0;return[(0,f.jsxs)("div",{className:`ed-stepper__st${a?" is-done":""}${i?" is-now":""}`,children:[(0,f.jsx)("span",{className:"ed-stepper__dot",children:a?(0,f.jsx)(j,{}):t+1}),(0,f.jsx)("span",{className:"ed-stepper__lbl",children:e})]},e),t<q.length&&(0,f.jsxs)("div",{className:`ed-stepper__link${t===s?" is-run":""}${t<d||t<n&&s<0?" is-done":""}`,children:[(0,f.jsx)("span",{className:"ed-stepper__line"}),(0,f.jsxs)("em",{children:[q[t],t===s?(0,l.__)("중","editnday"):""]})]},q[t])]})}),a&&(0,f.jsx)("span",{className:"ed-stepper__note",children:a})]})}const R="editnday_pro_card_off";function D({onClose:e}){return(0,f.jsxs)(p.Modal,{title:(0,l.__)("에디튼 프로","editnday"),onRequestClose:e,className:"ed-proinfo",size:"medium",children:[(0,f.jsx)("p",{children:(0,l.__)("에디튼 프로는 지금 쓰는 에디튼에 AI를 더해요. 무료 기능은 그대로이고, 같은 사이드바에 버튼과 [새 글 쓰기] 탭이 생겨요.","editnday")}),(0,f.jsxs)("ul",{children:[(0,f.jsx)("li",{children:(0,l.__)("새 글 쓰기: 주제와 메모로 자료 조사 → 구성안 → 내 문체의 초안 → 확인할 곳까지 (글 1편 10크레딧 안팎)","editnday")}),(0,f.jsx)("li",{children:(0,l.__)("글 점검에서 찾은 문장을 AI로 고치기, 줄이기, 다시 쓰기","editnday")}),(0,f.jsx)("li",{children:(0,l.__)("발행 준비 칸 채우기: 발췌문·태그·카테고리·영문 주소·SEO 제목과 설명·요약·질문답 (한 번에)","editnday")}),(0,f.jsx)("li",{children:(0,l.__)("대표 이미지 만들기(1장 1크레딧)와 ALT, 단락 더 쓰기(1크레딧)","editnday")})]}),(0,f.jsx)("p",{className:"ed-muted",children:(0,l.__)("프로를 설치하고 라이선스를 넣으면 바로 쓸 수 있어요. 지금 이 화면의 기능은 프로 없이도 계속 무료예요.","editnday")}),(0,f.jsx)("p",{children:(0,f.jsx)("a",{className:"components-button is-primary",href:"https://editn.day/",target:"_blank",rel:"noopener noreferrer",children:(0,l.__)("에디튼 프로 알아보기","editnday")})})]})}function K({label:e}){const[t,n]=(0,o.useState)(!1);return h()?null:(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("button",{type:"button",className:"ed-prohint",onClick:()=>n(!0),children:[e," ",(0,f.jsx)("span",{className:"ed-prohint__tag",title:(0,l.__)("프로","editnday"),children:"P"})]}),t&&(0,f.jsx)(D,{onClose:()=>n(!1)})]})}const H=()=>{try{return"1"===window.localStorage.getItem(R)}catch(e){return!1}};function z(){const[e,t]=(0,o.useState)(H),[n,s]=(0,o.useState)(!1);return h()||e?null:(0,f.jsxs)(w,{className:"ed-procard",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsxs)("span",{className:"ed-lbl",children:[(0,l.__)("초안도 써 드려요","editnday")," ",(0,f.jsx)("span",{className:"ed-prohint__tag",title:(0,l.__)("프로","editnday"),children:"P"})]}),(0,f.jsx)("button",{type:"button",className:"ed-link ed-muted",onClick:()=>{t(!0);try{window.localStorage.setItem(R,"1")}catch(e){}},"aria-label":(0,l.__)("이 안내 닫기","editnday"),children:(0,l.__)("닫기","editnday")})]}),(0,f.jsx)("span",{className:"ed-small",children:(0,l.__)("에디튼 프로는 주제와 메모만으로 자료를 찾아 내 문체의 초안을 쓰고, 여기서 찾은 문장도 AI로 고쳐요.","editnday")}),(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>s(!0),children:(0,l.__)("자세히 보기","editnday")}),n&&(0,f.jsx)(D,{onClose:()=>s(!1)})]})}const U=window.wp.apiFetch;var J=n.n(U);const V=window.wp.blocks,G=window.wp.data;function W(e){return(0,G.select)("core/block-editor").getBlocks().some(t=>"core/heading"===t.name&&t.attributes?.metadata?.editnday===e)}function X({id:e,heading:t,text:n}){if(e&&W(e))return!1;const s=[(0,V.createBlock)("core/heading",{level:2,content:ue(t),metadata:{editnday:e}})],a=(0,V.pasteHandler)({plainText:String(n).replace(/~/g,"\\~"),mode:"BLOCKS"});return s.push(...(Array.isArray(a)?a:[]).map(se)),(0,G.dispatch)("core/block-editor").insertBlocks(s),!0}const Y=e=>String(e.attributes?.content??"").replace(/<[^>]+>/g,"").trim(),Z=e=>"faq"===e.attributes?.metadata?.editnday;function Q(){return(0,G.select)("core/block-editor").getBlocks().filter(e=>"core/heading"===e.name&&2===(e.attributes.level??2)&&Y(e)).map(Y)}function ee({heading:e,text:t,afterHeading:n}){const s=(0,G.select)("core/block-editor").getBlocks(),a=e=>"core/heading"===e.name&&2===(e.attributes.level??2),d=s.findIndex(Z),i=d>=0?d:s.length,l=s.findIndex(e=>a(e)&&Y(e)===n);let r=i;if(l>=0&&l<i){const e=s.findIndex((e,t)=>t>l&&a(e));r=e>=0&&e<i?e:i}const o=(0,V.pasteHandler)({plainText:String(t).replace(/~/g,"\\~"),mode:"BLOCKS"}),c=[(0,V.createBlock)("core/heading",{level:2,content:ue(e),metadata:{editnday:`extra-${Date.now()}`}}),...(Array.isArray(o)?o:[]).map(se)];return(0,G.dispatch)("core/block-editor").insertBlocks(c,r),c.map(e=>e.clientId)}const te="is-style-editnday",ne=()=>"off"!==window.editndayConfig?.contentStyle;function se(e){if("core/list"!==e?.name&&"core/table"!==e?.name||!ne())return e;const t=e.attributes.className||"";return/\bis-style-/.test(t)||(e.attributes.className=`${t} ${te}`.trim()),e}const ae=e=>String(e).replace(/\[([^\]]+)\]\([^)]*\)/g,"$1"),de=e=>String(e).replace(/\[([^\]]+)\]\(([^)\s]+)\)/g,'<a href="$2">$1</a>');function ie(){const e=(0,G.select)("core/block-editor").getBlocks();1!==e.length||"core/paragraph"!==e[0].name||e[0].attributes.content||(0,G.dispatch)("core/block-editor").removeBlocks([e[0].clientId])}function le(e){(0,G.dispatch)("core/editor").editPost({title:e})}function re(e,t){const n=(0,G.select)("core/block-editor"),s=n=>{for(const a of n){if("core/paragraph"===a.name||"core/list-item"===a.name){const n=String(a.attributes.content??""),s=[e,de(e),ae(e)].find(e=>n.includes(e)),d=s?n.indexOf(s):-1;if(d>=0){const e=(n.slice(0,d)+de(t??"")+n.slice(d+s.length)).replace(/\s{2,}/g," ").trim();return(0,G.dispatch)("core/block-editor").updateBlockAttributes(a.clientId,{content:e}),{clientId:a.clientId,before:n}}}const n=!!a.innerBlocks?.length&&s(a.innerBlocks);if(n)return n}return!1};return s(n.getBlocks())}function oe(e){const t=(0,G.select)("core/block-editor");for(const n of[...e].reverse())t.getBlock(n.clientId)&&(0,G.dispatch)("core/block-editor").updateBlockAttributes(n.clientId,{content:n.before})}function ce(e){const t=[e,de(e),ae(e)],n=e=>{for(const s of e){const e=String(s.attributes?.content??"");if(e&&t.some(t=>e.includes(t)))return s.clientId;const a=s.innerBlocks?.length&&n(s.innerBlocks);if(a)return a}return null};return n((0,G.select)("core/block-editor").getBlocks())}function _e(e){const t=ce(e);if(!t)return!1;const n=document.querySelector('iframe[name="editor-canvas"]')?.contentDocument||document,s=n.querySelector(`[data-block="${t}"]`),a=n.defaultView,d=s&&function(e,t){const n=e.ownerDocument,s=n.createTreeWalker(e,4),a=[];let d="";for(let e=s.nextNode();e;e=s.nextNode())a.push({n:e,start:d.length}),d+=e.nodeValue;const i=e=>e.replace(/\s+/g," "),l=i(d).indexOf(i(t).trim());if(l<0)return null;const r=[];for(let e=0,t=!1;e<d.length;e++){const n=/\s/.test(d[e]);n&&t||r.push(e),t=n}const o=r[l],c=(r[l+i(t).trim().length-1]??d.length-1)+1,_=e=>{const t=a.findLastIndex(t=>t.start<=e),n=a[Math.max(0,t)];return[n.n,Math.min(e-n.start,n.n.nodeValue.length)]},u=n.createRange();return u.setStart(..._(o)),u.setEnd(..._(c)),u}(s,ae(e));if(!d||!a?.CSS?.highlights||"function"!=typeof a.Highlight)return(0,G.dispatch)("core/block-editor").selectBlock(t),(0,G.dispatch)("core/block-editor").flashBlock?.(t),!0;(d.startContainer.parentElement||s).scrollIntoView({behavior:"smooth",block:"center"});let i=n.getElementById("editnday-mark-style");i||(i=n.createElement("style"),i.id="editnday-mark-style",n.head.appendChild(i)),a.CSS.highlights.set("editnday-mark",new a.Highlight(d));const l=Date.now();return clearInterval(_e.timer),_e.timer=setInterval(()=>{const e=Date.now()-l,t=e<2500?.75:Math.max(0,.75*(1-(e-2500)/1500));i.textContent=`::highlight(editnday-mark){background-color:rgba(211,183,241,${t.toFixed(3)});color:inherit}`,0===t&&(clearInterval(_e.timer),a.CSS.highlights.delete("editnday-mark"))},50),!0}const ue=e=>String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),he=(e,t,n="낱말")=>({re:new RegExp(`(?<![가-힣])${e}`,"g"),fix:t,kind:n}),ye=(e,t)=>({re:new RegExp(e,"g"),fix:t,kind:"어미"}),me=[he("몇 ?일(?!본|반|부|정|자리|손|꾼|요일|단|등|대|원|차)","며칠"),he("웬지","왠지"),he("왠만","웬만"),he("왠일","웬일"),he("왠걸","웬걸"),he("왠 (?=[가-힣])","웬 "),he("금새","금세"),he("일일히","일일이"),he("깨끗히","깨끗이"),he("틈틈히","틈틈이"),he("곰곰히","곰곰이"),he("번번히","번번이"),he("일찌기","일찍이"),he("오랫만","오랜만"),he("오랜동안","오랫동안"),he("설겆이","설거지"),he("희안","희한"),he("어의없","어이없"),he("역활","역할"),he("되물림","대물림"),he("구지(?= |[.,])","굳이"),he("어짜피","어차피"),he("어줍잖","어쭙잖"),he("널부러","널브러"),he("닥달","닦달"),he("짜집기","짜깁기"),he("설레임","설렘"),he("설레이","설레"),he("헤매이","헤매"),he("되뇌이","되뇌"),he("애시당초","애당초"),he("무릎쓰","무릅쓰"),he("뒤치닥거리","뒤치다꺼리"),he("개거품","게거품"),he("칠흙","칠흑"),he("희노애락","희로애락"),he("인권비","인건비"),he("뇌졸증","뇌졸중"),he("숫가락","숟가락"),he("육계장","육개장"),{re:/찌게(?! ?(하|해|했|되|만들))/g,fix:"찌개",kind:"낱말"},he("떡볶기","떡볶이"),he("윗층","위층"),he("윗쪽","위쪽"),he("아랫층","아래층"),he("가르키","가리키(가리킬 때)·가르치(알려 줄 때)"),he("모자르","모자라"),he("들어나(?=[다고는면서지])","드러나"),he("들어났","드러났"),he("어떡게","어떻게"),he("어떻해","어떡해"),ye("되요","돼요"),ye("되서(?![가-힣])","돼서"),ye("되야","돼야"),ye("됬","됐"),ye("떄","때"),ye("됀","된"),ye("뵈요","봬요"),ye("뵜","뵀"),ye("(?<=[가-힣])이예요","이에요"),ye("아니예요","아니에요"),ye("있슴(?![가-힣])","있음"),ye("없슴(?![가-힣])","없음"),ye("알맞는","알맞은"),ye("걸맞는","걸맞은"),ye("치뤄","치러"),ye("치뤘","치렀"),ye("잠궈","잠가"),ye("잠궜","잠갔"),ye("담궈","담가"),ye("담궜","담갔"),ye("삼가해","삼가"),ye("(?<![가-힣])할려고","하려고"),ye("(?<![가-힣])할려면","하려면"),ye("(?<![가-힣])볼려고","보려고"),ye("(?<![가-힣])먹을려고","먹으려고"),ye("(?<![가-힣])될려고","되려고"),ye("안절부절(?=하|했|한)","안절부절못"),{re:/않(?= ?(하|해|했|된|되|돼))/g,fix:"안",kind:"어미"},{re:/(?<=지 )안(?=[아았는을])/g,fix:"않",kind:"어미"},{re:/가능한 (?=빨리|많이|빠르게|일찍|자주|정확하게|짧게)/g,fix:"가능한 한 ",kind:"표현"},{re:/(?<=답을 )맞(?=추|춰|췄)/g,fix:"맞히(정답을 맞히다)",kind:"표현"},{re:/(?<=사단이 )(났|나)/g,fix:"'사달이 났다'",kind:"표현"},{re:/(?<=(?:하기|하시기|되기|되시기|가기|오기)를 )바래/g,fix:"바라",kind:"표현"},{re:/(?<=(?:하길|되길|가길|오길) )바래/g,fix:"바라",kind:"표현"},he("컨텐츠","콘텐츠","외래어"),he("메세지","메시지","외래어"),he("악세사리","액세서리","외래어"),he("악세서리","액세서리","외래어"),he("리더쉽","리더십","외래어"),he("멤버쉽","멤버십","외래어"),he("파트너쉽","파트너십","외래어"),he("스폰서쉽","스폰서십","외래어"),he("타겟","타깃","외래어"),he("비지니스","비즈니스","외래어"),he("워크샵","워크숍","외래어"),he("스케쥴","스케줄","외래어"),he("쥬스","주스","외래어"),he("초콜렛","초콜릿","외래어"),he("케익","케이크","외래어"),he("카페트","카펫","외래어"),he("부페","뷔페","외래어"),he("렌트카","렌터카","외래어"),he("프로포즈","프러포즈","외래어"),he("로보트","로봇","외래어"),he("앙케이트","앙케트","외래어"),he("엑세스","액세스","외래어"),he("어플리케이션","애플리케이션","외래어"),he("싸이트","사이트","외래어"),he("화이팅","파이팅","외래어"),he("데이타","데이터","외래어"),he("컨셉","콘셉트","외래어"),he("팜플렛","팸플릿","외래어")],pe=e=>(e.charCodeAt(0)-44032)%28,ge=e=>!!e&&e>="가"&&e<="힣";function fe(e){const t=[];for(const n of e.matchAll(/([가-힣])(께|껄)(?=요|[\s.,!?~]|$)/g))8===pe(n[1])&&t.push({wrong:n[0],fix:`${n[1]}${"께"===n[2]?"게":"걸"}`});return t}function xe(e){const t=[];for(const n of e.matchAll(/([가-힣])(율|률)/g)){if(!ge(n[1]))continue;const e=pe(n[1]),s=0===e||4===e?"율":"률";n[2]!==s&&t.push({wrong:n[0],fix:`${n[1]}${s}`})}return t}function be(e){const t=[];for(const n of je(e.text)){const s=[];for(const e of me)for(const t of n.matchAll(e.re))s.push({wrong:t[0].trim(),fix:e.fix.trim()});s.push(...fe(n),...xe(n));const a=new Set;for(const d of s)a.has(d.wrong)||(a.add(d.wrong),t.push({sectionId:e.id,rule:"common_mistake",severity:"warn",detail:`"${d.wrong}" → "${d.fix}"`,sentence:n}))}return t}function je(e){return function(e){return e.replace(/\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/https?:\/\/\S+/g,"")}(e).replace(/\n+/g,"\n").split(/(?<=[.!?。])\s+|\n/).map(e=>e.replace(/^[#>\-*\s|]+/,"").trim()).filter(e=>e.length>3&&!e.startsWith("|"))}function we(e){const t=je(e).map(e=>e.length),n=t.length||1;return{chars:e.replace(/^#.*$/gm,"").trim().length,sentences:t.length,sentenceAvg:Math.round(t.reduce((e,t)=>e+t,0)/n*10)/10,long100:Math.round(t.filter(e=>e>=100).length/n*1e3)/10,short25:Math.round(t.filter(e=>e<25).length/n*1e3)/10}}const ke=[{re:/완벽한|압도적인|독보적인|특별한 경험/,label:"상투 극찬"},{re:/이상으로 .{0,10}(살펴|알아)/,label:"요약형 맺음"},{re:/(이번 글|이 글)에서(는)? .{0,30}(살펴보|알아보|따라가|다루|정리해)/,label:"메타 서술"},{re:/결론적으로|요약하자면|정리하자면|^정리하면|^요컨대|^종합하면/,label:"정리형 연결어"},{re:/(앞으로|다음에는?|이제부터).{0,40}(보게|하게|찾게|쓰게|되게) 될 것 같다/,label:"작가 행동을 지어냈을 수 있음"},{re:/(기준|대상)[이가과은는]?.{0,12}(다르|달라).{0,20}(겹쳐|합쳐|곧바로|하나로|그대로).{0,8}(읽|비교|보)/,label:"정형 문장 (기준이 달라 합쳐 읽기 어렵다)"}];function Ne(e,t=[]){const n=[];for(const s of je(e.text)){for(const t of ke)t.re.test(s)&&n.push({sectionId:e.id,rule:"banned_phrase",severity:"warn",detail:t.label,sentence:s});for(const a of t)a&&s.includes(a)&&n.push({sectionId:e.id,rule:"banned_phrase",severity:"block",detail:`금지 표현 "${a}"`,sentence:s})}return n}const ve=/[\u3040-\u30ff\u31f0-\u31ff\uff66-\uff9f]/,Se=/[\u3400-\u4dbf\u4e00-\u9fff]/g;function Ce(e,t=100){return je(e.text).filter(e=>e.length>t).map(n=>({sectionId:e.id,rule:"long_sentence",severity:"warn",detail:`${n.length}자 문장 (${t}자 넘음)`,sentence:n}))}const $e=/^(또한|그리고|하지만|그러나|그런데|또|특히|이처럼|따라서|즉|게다가|물론|결국)[\s,]/;function Ie(e){const t=je(e.text),n=t.map(e=>e.split(/[\s,]/)[0]??""),s=[];for(let a=1;a<t.length;a++){const d=n[a];if(d.length<2||d!==n[a-1])continue;const i=$e.test(t[a])&&$e.test(t[a-1]),l=a>=2&&n[a-2]===d;(i||l)&&s.push({sectionId:e.id,rule:"same_start",severity:"warn",detail:`"${d}"(으)로 시작하는 문장이 이어짐`,sentence:t[a]})}return s}const Ae=new RegExp(`(?:^|[\\s"'(“‘])(${["정말","정말로","진짜","진짜로","너무","너무나","아주","매우","완전","엄청","굉장히","상당히","꽤","좀","조금","약간","거의","솔직히","사실","항상","늘","자주","무척","되게","많이","훨씬","딱","전혀","결코","절대","분명","확실히","당연히","역시","그냥","막","가장","제일","특히"].join("|")})(?=[\\s,.!?)”’]|$)`,"g");function Ee(e,t=1){return je(e.text).flatMap(n=>{const s=[...n.matchAll(Ae)].map(e=>e[1]??"");return s.length>t?[{sectionId:e.id,rule:"adverb_heavy",severity:"warn",detail:`부사 ${s.length}개: ${s.join("·")}`,sentence:n}]:[]})}const Be=/(?:고|는데|ㄴ데|은데|지만|며|면서|거나|니까|므로|어서|아서|해서|라서|려고|더니|다가)(?=[,\s])/g,Pe=/(?:^|\s)(그리고|그런데|그래서|그러나|하지만|그러면서|그러니까|그러므로|그렇지만|그러다가)(?=[,\s])/g;function Me(e,t=3){return je(e.text).flatMap(n=>{const s=(n.replace(Pe," ").match(Be)??[]).length+1;return s>t?[{sectionId:e.id,rule:"many_clauses",severity:"warn",detail:`절 ${s}개`,sentence:n}]:[]})}function Te(e){const t=e.map(e=>e.text).join("\n");if(!/\d{1,3}(,\d{3})+/.test(t))return[];const n=[];for(const t of e)for(const e of je(t.text))for(const s of e.matchAll(/(?<![\d,.])(\d{4,})(?![\d,])/g)){const a=Number(s[1]),d=e.slice(s.index+s[1].length),i=e.slice(0,s.index);4===s[1].length&&(a>=1900&&a<=2099||/^\s*(년|~)/.test(d)||/~\s*$/.test(i))||n.push({sectionId:t.id,rule:"number_format",severity:"warn",detail:`"${s[1]}" — 다른 곳은 쉼표를 썼어요 (${Number(a).toLocaleString("en-US")})`,sentence:e})}return n}function Oe(e){const t=e.evidence.join(" ");return je(e.text).filter(e=>[...e.match(new RegExp(ve.source,"g"))??[],...e.replace(/\([^()]*\)/g,"").match(Se)??[]].some(e=>!t.includes(e))).map(t=>({sectionId:e.id,rule:"foreign_script",severity:"warn",detail:"한국어가 아닌 글자(일본어·한자)가 섞였어요",sentence:t}))}const Fe={da:"-다",yo:"-요",sumnida:"-습니다"};function qe(e,t="da"){const n=je(e.text).map(e=>({sent:e,t:e.replace(/[.!?"'”’)\]\s]+$/,"")}));return"da"===t?n.filter(({sent:e})=>/([어아여해에예지네]요|죠|(?<!아)니다)[.!]?$/.test(e)).map(({sent:t})=>({sectionId:e.id,rule:"ending_mixed",severity:"warn",detail:"평서체('-다') 글에 다른 어미",sentence:t})):n.filter(({t:e})=>/다$/.test(e)&&!/(니다|니까)$/.test(e)).map(({sent:n})=>({sectionId:e.id,rule:"ending_mixed",severity:"warn",detail:`존댓말('${Fe[t]}') 글에 평서체('-다') 문장`,sentence:n}))}function Le(e){const t=new Map;for(const n of e)for(const e of je(n.text)){const s=e.split(/\s+/);for(let a=0;a+3<=s.length;a++){const d=s.slice(a,a+3).join(" ");if(d.length<8)continue;const i=t.get(d)??{n:0,sectionId:n.id,sentence:e};i.n++,t.set(d,i)}}return[...t.entries()].filter(([,e])=>e.n>=3).map(([e,t])=>({sectionId:t.sectionId,rule:"repetition",severity:"warn",detail:`"${e}" ${t.n}회 반복`,sentence:t.sentence}))}const Re=e=>{const t=e.replace(/\s+/g,""),n=new Set;for(let e=0;e+2<=t.length;e++)n.add(t.slice(e,e+2));return n};function De(e,t=.4){const n=e.flatMap(e=>je(e.text).filter(e=>e.length>=20).map(t=>({id:e.id,x:t,g:Re(t)}))),s=[],a=new Set;for(let e=0;e<n.length;e++)for(let d=e+1;d<n.length;d++){const i=n[e],l=n[d];if(i.id===l.id||a.has(l.x))continue;let r=0;i.g.forEach(e=>l.g.has(e)&&r++),r/(i.g.size+l.g.size-r)<t||(a.add(l.x),s.push({sectionId:l.id,rule:"repeated_sentence",severity:"warn",detail:`앞에서 거의 같은 말을 했어요: "${i.x.length>60?`${i.x.slice(0,60)}…`:i.x}"`,sentence:l.x}))}return s}const Ke=["core/paragraph","core/heading","core/list-item","core/quote","core/pullquote","core/verse"],He=e=>String(e??"").replace(/<br\s*\/?>/gi,"\n").replace(/<[^>]+>/g,"").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/�?39;/g,"'").replace(/&#(\d+);/g,(e,t)=>String.fromCodePoint(Number(t))).replace(/&#x([0-9a-f]+);/gi,(e,t)=>String.fromCodePoint(parseInt(t,16))).trim(),ze=e=>["summary","faq"].includes(e?.attributes?.metadata?.editnday)||/\beditnday-(summary|faq|related)/.test(e?.attributes?.className||"");function Ue(e){const t=[],n=e=>{for(const s of e||[])if(!ze(s)){if("core/paragraph"===s.name){const e=He(s.attributes?.content);e.length>500&&t.push({rule:"long_paragraph",detail:(0,l.sprintf)(/* translators: %s: t.length */ /* translators: %s: t.length */(0,l.__)("%s자 단락","editnday"),e.length),sentence:`${e.slice(0,40)}…`,clientId:s.clientId})}"core/image"!==s.name||String(s.attributes?.alt??"").trim()||t.push({rule:"image_alt",detail:(0,l.__)("대체 텍스트 없음","editnday"),sentence:(0,l.sprintf)(/* translators: %s: String( b.attributes?.url ?? '' ) .split( '/' ) .pop() || '' */ /* translators: %s: String( b.attributes?.url ?? '' ) .split( '/' ) .pop() || '' */(0,l.__)("이미지 %s","editnday"),String(s.attributes?.url??"").split("/").pop()||"").trim(),clientId:s.clientId}),n(s.innerBlocks)}};return n(e),t}function Je(e){const t=function(e){const t=[];let n={id:"s0",heading:"",lines:[],blockIds:[]},s=0;const a=e=>{for(const d of e||[])if(!ze(d))if("core/heading"===d.name&&(d.attributes?.level??2)<=2)(n.lines.length||n.heading)&&t.push(n),n={id:"s"+ ++s,heading:He(d.attributes?.content),lines:[],blockIds:[d.clientId]};else{if(Ke.includes(d.name)){const e=He(d.attributes?.content??d.attributes?.value??d.attributes?.citation);e&&(n.lines.push(e),n.blockIds.push(d.clientId))}a(d.innerBlocks)}};return a(e),(n.lines.length||n.heading)&&t.push(n),t.map(e=>({id:e.id,heading:e.heading,text:e.lines.join("\n"),evidence:[],blockIds:e.blockIds}))}(e),n=t.map(e=>e.text).join("\n"),s=function(e){const t={da:0,yo:0,sumnida:0};for(const n of je(e)){const e=n.replace(/[.!?"'”’)\]\s]+$/,"");/(니다|니까)$/.test(e)?t.sumnida++:/([어아여해에예지네]요|죠)$/.test(e)?t.yo++:/다$/.test(e)&&t.da++}return t.da+t.yo+t.sumnida<4?null:Object.entries(t).sort((e,t)=>t[1]-e[1])[0][0]}(n),a=[...t.flatMap(e=>[...Ne(e),...be(e),...s?qe(e,s):[],...Oe(e),...Ce(e),...Ee(e),...Me(e),...Ie(e)]),...De(t),...Le(t),...Te(t),...Ue(e)];return{sections:t,ending:s,issues:a,metrics:we(n)}}const Ve=[(0,l.__)("에서부터","editnday"),(0,l.__)("이라는","editnday"),(0,l.__)("이라고","editnday"),(0,l.__)("으로는","editnday"),(0,l.__)("에서는","editnday"),(0,l.__)("에서도","editnday"),(0,l.__)("으로서","editnday"),(0,l.__)("으로써","editnday"),(0,l.__)("이에요","editnday"),(0,l.__)("입니다","editnday"),(0,l.__)("에게","editnday"),(0,l.__)("에서","editnday"),(0,l.__)("한테","editnday"),(0,l.__)("으로","editnday"),(0,l.__)("까지","editnday"),(0,l.__)("부터","editnday"),(0,l.__)("처럼","editnday"),(0,l.__)("보다","editnday"),(0,l.__)("이나","editnday"),(0,l.__)("이란","editnday"),(0,l.__)("이라","editnday"),(0,l.__)("이랑","editnday"),(0,l.__)("이다","editnday"),(0,l.__)("인데","editnday"),(0,l.__)("이고","editnday"),(0,l.__)("이며","editnday"),(0,l.__)("이죠","editnday"),(0,l.__)("이야","editnday"),(0,l.__)("로서","editnday"),(0,l.__)("로써","editnday"),(0,l.__)("로는","editnday"),(0,l.__)("에는","editnday"),(0,l.__)("에도","editnday"),(0,l.__)("와는","editnday"),(0,l.__)("과는","editnday"),(0,l.__)("라는","editnday"),(0,l.__)("라고","editnday"),(0,l.__)("마다","editnday"),(0,l.__)("조차","editnday"),(0,l.__)("밖에","editnday"),(0,l.__)("예요","editnday"),(0,l.__)("은","editnday"),(0,l.__)("는","editnday"),(0,l.__)("이","editnday"),(0,l.__)("가","editnday"),(0,l.__)("을","editnday"),(0,l.__)("를","editnday"),(0,l.__)("의","editnday"),(0,l.__)("에","editnday"),(0,l.__)("께","editnday"),(0,l.__)("로","editnday"),(0,l.__)("와","editnday"),(0,l.__)("과","editnday"),(0,l.__)("도","editnday"),(0,l.__)("만","editnday"),(0,l.__)("나","editnday"),(0,l.__)("란","editnday"),(0,l.__)("라","editnday"),(0,l.__)("랑","editnday"),(0,l.__)("다","editnday"),(0,l.__)("인","editnday"),(0,l.__)("고","editnday"),(0,l.__)("며","editnday"),(0,l.__)("죠","editnday"),(0,l.__)("야","editnday"),(0,l.__)("뿐","editnday")],Ge=e=>!!e&&/[\p{L}\p{N}]/u.test(e);function We(e,t){const n=String(t||"").toLowerCase().replace(/\s+/g,""),s=String(e||"").toLowerCase();if(!n||!s)return 0;const a=[];let d="";for(let e=0;e<s.length;e++)/\s/.test(s[e])||(a.push(e),d+=s[e]);let i=0,l=0;for(;;){const e=d.indexOf(n,l);if(e<0)break;l=e+1;const t=a[e],r=a[e+n.length-1]+1;if(Ge(s[t-1]))continue;const o=s.slice(r);if(!Ge(o[0])){i++;continue}const c=Ve.find(e=>o.startsWith(e));c&&!Ge(o[c.length])&&i++}return i}const Xe=(e,t="")=>(e.find(([e])=>e)||[null,t])[1],Ye=()=>(0,G.select)("core/editor"),Ze=e=>(0,G.dispatch)("core/editor").editPost(e),Qe=e=>{try{return JSON.parse(Ye().getEditedPostAttribute("meta")?.[e]||"{}")||{}}catch(e){return{}}},et=(e,t)=>Ze({meta:{[e]:JSON.stringify(t)}}),tt=()=>String(Ye().getEditedPostContent()).replace(/<!--[\s\S]*?-->/g,"").replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim();function nt({near:e=[]}){const{all:t,chosen:n}=(0,G.useSelect)(e=>({all:e("core").getEntityRecords("taxonomy","category",{per_page:100,hide_empty:!1,_fields:"id,name"})||[],chosen:e("core/editor").getEditedPostAttribute("categories")||[]}),[]);return(0,f.jsx)("span",{className:"ed-chips",children:t.filter(e=>e.id!==it()).map(t=>(0,f.jsxs)(S,{on:n.includes(t.id),lav:!n.includes(t.id)&&e.includes(at(t.name)),onClick:()=>(e=>{const t=n.includes(e)?n.filter(t=>t!==e):[...n.filter(e=>e!==it()),e];Ze({categories:t.length?t:[it()]})})(t.id),children:[at(t.name),lt(t.id)&&(0,f.jsx)("span",{className:"ed-chip__lock",title:(0,l.sprintf)(/* translators: %s: memberOnly( c.id ).join( ', ' ) */ /* translators: %s: memberOnly( c.id ).join( ', ' ) */(0,l.__)("SureMembers 회원 전용: %s","editnday"),lt(t.id).join(", ")),children:(0,l.__)("회원 전용","editnday")})]},t.id))})}function st({panel:e,onDone:t}){const[n,s]=(0,o.useState)(null),[a,d]=(0,o.useState)(!1),[i,r]=(0,o.useState)(null);return(0,f.jsxs)("div",{className:"ed-redo",children:[(0,f.jsxs)("span",{className:"ed-small",children:[(0,l.__)("딱 맞는 카테고리가 없어요.","editnday")," ",e.near?.length?(0,l.__)("보라색이 그나마 가까운 곳이에요.","editnday"):"",(0,l.__)("골라 주세요.","editnday")]}),(0,f.jsx)(nt,{near:e.near||[]}),null===n?(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>s(e.suggest||""),children:(0,l.__)("+ 새 카테고리 만들기","editnday")}):(0,f.jsxs)("div",{className:"ed-row ed-gap6",children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,placeholder:(0,l.__)("새 카테고리 이름","editnday"),value:n,onChange:s}),(0,f.jsx)("button",{type:"button",className:"ed-mini",disabled:a||!n.trim(),onClick:async()=>{d(!0),r(null);try{const e=await J()({path:"/wp/v2/categories",method:"POST",data:{name:n.trim()}}).catch(async e=>"term_exists"===e?.code?{id:e.data?.term_id}:Promise.reject(e));e?.id&&Ze({categories:[e.id]}),t?.()}catch(e){r((0,l.__)("카테고리를 만들지 못했어요. 권한을 확인해 주세요.","editnday"))}finally{d(!1)}},children:(0,l.__)("만들기","editnday")})]}),i&&(0,f.jsx)("span",{className:"ed-small is-error",children:i})]})}const at=e=>{const t=document.createElement("textarea");return t.innerHTML=e,t.value},dt=e=>{try{return decodeURIComponent(e||"")}catch(t){return e||""}},it=()=>window.editndayConfig?.defaultCategory,lt=e=>window.editndayConfig?.memberCategories?.[e]||null,rt=(e,t)=>{const n=String(t||"").trim();if(!n)return!1;const s=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`(^|[^\\p{L}\\p{N}])${s}($|[^\\p{L}\\p{N}])`,"iu").test(String(e||""))},ot=/(에서|으로|부터|까지|에게|처럼|보다|의|은|는|이|가|을|를|와|과|로|에|도|만)$/;function ct(e){const t=e.split(/\s+/).map(e=>e.replace(ot,"").toLowerCase()).filter(Boolean);let n=null;const s=e=>{for(const a of e){if("core/paragraph"===a.name||"core/list-item"===a.name){const e=He(String(a.attributes.content??""));for(const s of e.split(/(?<=[.!?。])\s+/)){const e=s.trim();if(e.length<8)continue;const a=e.toLowerCase(),d=t.filter(e=>a.includes(e)).length;d&&(!n||d>n.score)&&(n={sentence:e,score:d})}}a.innerBlocks?.length&&s(a.innerBlocks)}};return s((0,G.select)("core/block-editor").getBlocks()),n?.sentence??null}function _t({keyword:e}){const t=(0,G.useSelect)(e=>e("core/block-editor").getBlocks(),[]),n=(0,o.useMemo)(()=>ct(e),[e,t]);return n?(0,f.jsxs)("span",{className:"ed-kwplace",children:[(0,f.jsx)("span",{className:"ed-muted",children:(0,l.sprintf)(/* translators: %s: Fine Keyword */ /* translators: %s: Fine Keyword */ 3 (0,l.__)('이 문장에 "%s"를 그대로 넣으면 돼요:',"editnday"),e)}),(0,f.jsx)("span",{className:"ed-quote",children:n}),(0,f.jsxs)("span",{className:"ed-row ed-gap6",children:[(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>_e(n),children:(0,l.__)("본문에서 보기","editnday")}),y(_.keywordFix,{keyword:e,sentence:n})]})]}):(0,f.jsx)("span",{className:"ed-muted ed-kwplace",children:(0,l.sprintf)(/* translators: %s: Fine Keyword */ /* translators: %s: Fine Keyword */ 4 (0,l.__)('본문 첫 단락에 "%s"를 그대로 한 번 넣어 보세요 (바로 뒤에 조사 없이).',"editnday"),e)})}function ut({keyword:e,seo:t}){const[n,s]=(0,o.useState)(!1),a=window.editndayConfig?.seoPlugin;if(!e?.trim()||!a)return null;const d=[!rt(tt(),e)&&(0,l.__)("본문","editnday"),!rt(t.title,e)&&(0,l.__)("제목","editnday"),!rt(t.description,e)&&(0,l.__)("설명","editnday")].filter(Boolean);return d.length?(0,f.jsxs)("span",{className:"ed-small is-warn",children:[(0,l.sprintf)(/* translators: 1: SEO 플러그인 이름, 2: 키워드를 못 찾은 곳 (예: 본문·제목) */ /* translators: 1: SEO 플러그인 이름, 2: 키워드를 못 찾은 곳 (예: 본문·제목) */ 5 (0,l.__)("%1$s 점수로는 %2$s에서 못 찾아요","editnday"),a,d.join("·"))," ",(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>s(!n),children:n?(0,l.__)("닫기","editnday"):(0,l.__)("왜?","editnday")}),n&&(0,f.jsx)("span",{className:"ed-muted ed-koseo__hint",children:(0,l.__)("조사가 붙거나('코스피는') 띄어쓰기가 다르면 다른 말로 봐요. 구글·네이버는 같은 말로 보니 점수만의 문제예요.","editnday")}),!rt(tt(),e)&&(0,f.jsx)(_t,{keyword:e})]}):(0,f.jsx)("span",{className:"ed-small",children:(0,l.sprintf)(/* translators: %s: SEO 플러그인 이름 */ /* translators: %s: SEO 플러그인 이름 */ 6 (0,l.__)("%s 키워드 점검 통과","editnday"),a)})}const ht=[["excerpt",(0,l.__)("발췌문","editnday")],["tags",(0,l.__)("태그","editnday"),(0,l.__)("있는 태그 우선","editnday")],["category",(0,l.__)("카테고리","editnday"),(0,l.__)("있는 것 중에서","editnday")],["slug",(0,l.__)("영문 주소","editnday")],["seo",(0,l.__)("SEO 제목·설명","editnday"),(0,l.__)("Fine Keyword 포함","editnday")],["aeo","AEO",(0,l.__)("질문·답","editnday")],["geo","GEO",(0,l.__)("AI 인용용 요약","editnday")]];async function yt(e){const t=[];for(const n of e){const e=(await J()({path:`/wp/v2/tags?search=${encodeURIComponent(n)}&per_page=20&_fields=id,name`})).find(e=>e.name===n);t.push(e?e.id:(await J()({path:"/wp/v2/tags",method:"POST",data:{name:n}})).id)}return t}const mt=e=>String(e??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),pt=(0,l.__)("한눈에 보는 질문과 답","editnday");function gt({summary:e,faq:t},n=["summary","faq"]){const s=(0,G.select)("core/block-editor").getBlocks().filter(e=>n.includes(e.attributes?.metadata?.editnday)),a=String(s.find(e=>"faq"===e.attributes.metadata.editnday)?.innerBlocks.find(e=>"core/heading"===e.name)?.attributes.content||"").trim(),d=s.map(e=>e.clientId);d.length&&(0,G.dispatch)("core/block-editor").removeBlocks(d,!1),t=n.includes("faq")?(t||[]).filter(e=>e.question?.trim()&&e.answer?.trim()):[],e?.trim()&&n.includes("summary")&&(0,G.dispatch)("core/block-editor").insertBlocks((0,V.createBlock)("core/group",{metadata:{editnday:"summary",name:(0,l.__)("요약","editnday")},className:"editnday-box editnday-box--summary"},[(0,V.createBlock)("core/paragraph",{content:(0,l.sprintf)(/* translators: %s: asText( summary ) */ /* translators: %s: asText( summary ) */(0,l.__)("<strong>요약</strong> %s","editnday"),mt(e))})]),0),t?.length&&(0,G.dispatch)("core/block-editor").insertBlocks((0,V.createBlock)("core/group",{metadata:{editnday:"faq",name:(0,l.__)("질문과 답","editnday")},className:"editnday-box editnday-box--faq"},[(0,V.createBlock)("core/heading",{level:2,content:a&&"자주 묻는 질문"!==a?a:pt}),...t.map((e,t)=>(0,V.createBlock)("core/details",{summary:mt(e.question),showContent:0===t},[(0,V.createBlock)("core/paragraph",{content:mt(e.answer)})]))]))}function ft(){return(0,G.useSelect)(e=>{const t=e("core/editor"),n=t.getEditedPostAttribute("featured_media"),s=n?e("core").getMedia(n):null;return{postId:t.getCurrentPostId(),title:t.getEditedPostAttribute("title"),excerpt:t.getEditedPostAttribute("excerpt"),slug:t.getEditedPostAttribute("slug"),tags:t.getEditedPostAttribute("tags")||[],categories:(t.getEditedPostAttribute("categories")||[]).filter(e=>e!==it()),categoryNames:(t.getEditedPostAttribute("categories")||[]).filter(e=>e!==it()).map(t=>e("core").getEntityRecord("taxonomy","category",t)?.name).filter(Boolean),memberCategoryNames:(t.getEditedPostAttribute("categories")||[]).filter(e=>lt(e)).map(t=>e("core").getEntityRecord("taxonomy","category",t)?.name).filter(Boolean),featured:n||0,featuredAlt:s?.alt_text??"",featuredUrl:s?.media_details?.sizes?.medium?.source_url??s?.source_url,seo:(()=>{try{return JSON.parse(t.getEditedPostAttribute("meta")?._editnday_seo||"{}")||{}}catch(e){return{}}})(),schema:(()=>{try{return JSON.parse(t.getEditedPostAttribute("meta")?._editnday_schema||"{}")||{}}catch(e){return{}}})()}},[])}function xt(e){et("_editnday_seo",{...Qe("_editnday_seo"),keyword:String(e).slice(0,40)})}const bt='EditndayTitle, "Pretendard Variable", Pretendard, "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif';let jt=null;const wt=()=>{const e=window.editndayConfig?.titleFont;return jt||(jt=e&&window.FontFace?new window.FontFace("EditndayTitle",`url(${e})`,{weight:"100 900"}).load().then(e=>document.fonts.add(e)).catch(()=>null):Promise.resolve()),jt},kt=[["ink",(0,l.__)("먹색","editnday"),["#1f2a2c"],"#ffffff"],["cream",(0,l.__)("크림","editnday"),["#f4eee3"],"#243235"],["lavender",(0,l.__)("라벤더","editnday"),["#a988e0","#6c48b5"],"#ffffff"],["ocean",(0,l.__)("바다","editnday"),["#0f4c75","#3a8fc9"],"#ffffff"],["sunset",(0,l.__)("노을","editnday"),["#ff9a8b","#f0627f"],"#ffffff"],["forest",(0,l.__)("숲","editnday"),["#134e5e","#5fa77a"],"#ffffff"]];async function Nt(e,t){let n;try{n=await new Promise(t=>e.toBlob(t,"image/jpeg",.9))}catch(e){n=null}if(!n)throw new Error((0,l.__)("이 사이트의 이미지 주소 설정 때문에 그림에 글자를 넣지 못했어요.","editnday"));const s=new window.FormData;s.append("postId",Ye().getCurrentPostId()),Object.entries(t).forEach(([e,t])=>s.append(e,t)),s.append("image",n,"featured-title.jpg");const a=await J()({path:"/editnday/v1/publish/image-title",method:"POST",body:s});return Ze({featured_media:a.id}),(0,G.dispatch)("core").invalidateResolution("getMedia",[a.id]),a}const vt=[["og",(0,l.__)("공유 1.91:1","editnday"),1200,630],["16:9",(0,l.__)("가로 16:9","editnday"),1600,900],["4:3",(0,l.__)("가로 4:3","editnday"),1440,1080],["3:4",(0,l.__)("세로 3:4","editnday"),1080,1440],["9:16",(0,l.__)("세로 9:16","editnday"),1080,1920]],St=[["center",(0,l.__)("가운데","editnday")],["magazine",(0,l.__)("잡지형","editnday")],["band",(0,l.__)("아래 띠","editnday")]];function Ct(e){const t=/^#?([0-9a-f]{6})$/i.exec(e||"");if(!t)return"#ffffff";const[n,s,a]=[0,2,4].map(e=>parseInt(t[1].slice(e,e+2),16)/255),d=e=>e<=.03928?e/12.92:((e+.055)/1.055)**2.4;return.2126*d(n)+.7152*d(s)+.0722*d(a)>.45?"#1f2a2c":"#ffffff"}function $t(e,t,n,s,a,d=3){for(let i=s;i>a;i-=4)if(e.font=`800 ${i}px ${bt}`,Bt(e,t,n,1/0).length<=d)return{size:i,lines:Bt(e,t,n,d)};return e.font=`800 ${a}px ${bt}`,{size:a,lines:Bt(e,t,n,d)}}function It({text:e,template:t="ink",color:n="",layout:s="center",aspect:a="og",scale:d=1}){const i="custom"===t&&/^#[0-9a-f]{6}$/i.test(n),[,,l,r]=i?["custom","",[n],Ct(n)]:kt.find(e=>e[0]===t)||kt[0],[,,o,c]=vt.find(e=>e[0]===a)||vt[0],_=Math.round(o*d),u=Math.round(c*d),h=document.createElement("canvas");h.width=_,h.height=u;const y=h.getContext("2d");y.fillStyle=(()=>{if(l.length>1){const e=y.createLinearGradient(0,0,_,u);return e.addColorStop(0,l[0]),e.addColorStop(1,l[1]),e}return l[0]})(),y.fillRect(0,0,_,u);const m=Math.min(_,u),p=Math.round(.1*m),g=String(window.editndayConfig?.siteName||"").trim().slice(0,40),f=Math.round(.042*m);if(y.textBaseline="alphabetic","band"===s){const t=Math.round(u*(u>_?.34:.4));y.fillStyle=r,y.fillRect(0,u-t,_,t);const{size:n,lines:s}=$t(y,e,_-2*p,Math.round(.12*m),Math.round(.06*m),2);y.font=`800 ${n}px ${bt}`,y.fillStyle=(l.length,l[0]),y.textAlign="left";const a=Math.round(1.25*n),d=n+(s.length-1)*a,i=u-t+(t-d)/2+.85*n;return s.forEach((e,t)=>y.fillText(e,p,i+t*a)),g&&(y.font=`700 ${f}px ${bt}`,y.fillStyle=r,y.globalAlpha=.75,y.fillText(g,p,p+f),y.globalAlpha=1),h}if("magazine"===s){y.fillStyle=r,y.textAlign="left",g&&(y.font=`700 ${f}px ${bt}`,y.globalAlpha=.8,y.fillText(g,p,p+f),y.globalAlpha=1);const{size:t,lines:n}=$t(y,e,_-2*p,Math.round(.14*m),Math.round(.07*m),u>_?4:3);y.font=`800 ${t}px ${bt}`;const s=Math.round(1.22*t),a=u-p-(n.length-1)*s;return y.fillRect(p,a-t-Math.round(.05*m),Math.round(.09*m),Math.max(3,Math.round(.012*m))),n.forEach((e,t)=>y.fillText(e,p,a+t*s)),h}const{size:x,lines:b}=$t(y,e,_-2*p,Math.round(.14*m),Math.round(.07*m),u>_?4:3);y.font=`800 ${x}px ${bt}`,y.fillStyle=r,y.textAlign="center";const j=Math.round(1.28*x),w=(b.length-1)*j,k=(u-w)/2+.35*x-.4*f;return b.forEach((e,t)=>y.fillText(e,_/2,k+t*j)),g&&(y.font=`700 ${f}px ${bt}`,y.globalAlpha=.72,y.fillText(g,_/2,u-.9*p),y.globalAlpha=1),h}async function At(e,t="ink",n={}){return e.trim()?(await wt(),Nt(It({text:e,template:t,...n}),{template:"custom"===t?`custom-${String(n.color||"").replace("#","")}`:t,alt:e.trim()})):null}async function Et(e){return e.text?.trim()?(await wt(),It({...e,scale:.3}).toDataURL("image/jpeg",.8)):""}function Bt(e,t,n,s=3){const a=[];let d="";return t.trim().split(/\s+/).forEach(t=>(t=>{const s=d?d+" "+t:t;if(e.measureText(s).width<=n)d=s;else if(d&&(a.push(d),d=""),e.measureText(t).width<=n)d=t;else for(const s of t)e.measureText(d+s).width>n&&(a.push(d),d=""),d+=s})(t)),d&&a.push(d),a.length>s&&(a.length=s,a[s-1]=a[s-1].replace(/.$/,"…")),a}async function Pt(e,t="bottom",n="title"){const s=Ye().getEditedPostAttribute("featured_media");if(!s||!e.trim())return null;await wt();const a=await J()({path:`/editnday/v1/publish/image-source?id=${s}`}),d=await new Promise((e,t)=>{const n=new window.Image;n.crossOrigin="anonymous",n.onload=()=>e(n),n.onerror=()=>t(new Error((0,l.__)("그림을 불러오지 못했어요.","editnday"))),n.src=a.url}),i=Math.min(d.naturalWidth,1600),r=Math.round(d.naturalHeight*i/d.naturalWidth),o=document.createElement("canvas");o.width=i,o.height=r;const c=o.getContext("2d");c.drawImage(d,0,0,i,r);const _="caption"===n;if("center"===t)c.fillStyle=_?"rgba(0,0,0,0.18)":"rgba(0,0,0,0.42)",c.fillRect(0,0,i,r);else{const e="top"===t,n=_?.2:.65,s=c.createLinearGradient(0,e?r*n:r*(1-n),0,e?0:r);s.addColorStop(0,"rgba(0,0,0,0)"),s.addColorStop(1,_?"rgba(0,0,0,0.45)":"rgba(0,0,0,0.74)"),c.fillStyle=s,c.fillRect(0,e?0:r*(1-n),i,r*n)}const u=_?Math.max(12,Math.round(.011*i)):Math.round(.064*i);c.font=`${_?700:800} ${u}px ${bt}`,c.fillStyle="#fff",c.textBaseline="alphabetic",c.shadowColor="rgba(0,0,0,0.45)",c.shadowBlur=.25*u;const h=Math.round(i*(_?.03:.06)),y=Bt(c,e,i-h*(_?4:2)),m=Math.round(1.28*u),p=(y.length-1)*m;let g=r-h-p;return"top"===t?g=h+.85*u:"center"===t&&(g=(r-p)/2+.35*u),c.textAlign="center",y.forEach((e,t)=>c.fillText(e,i/2,g+t*m)),Nt(o,{sourceId:a.id})}function Mt(e){const t=(0,G.select)("core/block-editor"),n=`<a href="${encodeURI(e.url)}">${String(e.title).replace(/&/g,"&").replace(/</g,"<")}</a>`,s=(0,V.createBlock)("core/list-item",{content:n}),a=t.getBlocks().find(e=>"core/list"===e.name&&String(e.attributes.className||"").includes("editnday-related"));a?(0,G.dispatch)("core/block-editor").insertBlock(s,a.innerBlocks.length,a.clientId):(0,G.dispatch)("core/block-editor").insertBlocks([(0,V.createBlock)("core/paragraph",{content:(0,l.__)("<strong>함께 읽으면 좋은 글</strong>","editnday"),className:"editnday-related-title"}),(0,V.createBlock)("core/list",{className:"editnday-related"},[s])],t.getBlockCount())}const Tt=(e,t)=>({excerpt:!!e.excerpt,tags:e.tags.length>0,category:e.categories.length>0,slug:/^[a-z0-9]+(-[a-z0-9]+)*$/.test(e.slug||"")&&!/^\d+$/.test(e.slug),seo:!!e.seo.description,aeo:!!e.schema.faq?.some(e=>e.question?.trim()&&e.answer?.trim()),geo:!!e.schema.summary?.trim(),featured:!!e.featured,alt:!!e.featuredAlt}[t]),Ot=e=>String(e??"").replace(/<[^>]+>/g," ").replace(/ /g," ").replace(/\s+/g," ").trim();function Ft(e){const t=[];let n="",s=0;const a=e=>{for(const d of e){const e=d.attributes?.metadata?.editnday;"core/heading"===d.name?t.push(Ot(d.attributes.content)):"core/paragraph"===d.name&&!n&&"summary"!==e&&Ot(d.attributes.content)?n=Ot(d.attributes.content):"core/image"===d.name&&d.attributes.url&&s++,"summary"!==e&&"faq"!==e&&d.innerBlocks?.length&&a(d.innerBlocks)}};a(e);const d=String(Ye().getEditedPostContent());return{headings:t,firstPara:n,images:s,links:(d.match(/<a\s[^>]*href=/gi)||[]).length,body:tt()}}function qt(e){const t=(0,G.useSelect)(e=>e("core/block-editor").getBlocks(),[]),n=e.seo.kept||{};return function(e){const t=String(e.keyword||"").trim(),n=e=>[...String(e||"").trim()].length,s=[],a=(e,t,n,a,d)=>s.push({id:e,ok:t,label:n,hint:t?"":a,who:d});if(t){const s=e=>We(e,t)>0;a("title",s(e.title),s(e.title)?(0,l.__)("제목에 Fine Keyword","editnday"):(0,l.__)("제목에 Fine Keyword가 없어요","editnday"),(0,l.__)("검색 결과 제목 앞쪽에 넣으면 검색어와 바로 맞물려요","editnday"),(0,l.__)("구글·네이버","editnday")),a("first",s(e.firstPara),s(e.firstPara)?(0,l.__)("첫 단락에 Fine Keyword","editnday"):(0,l.__)("첫 단락에 Fine Keyword가 없어요","editnday"),(0,l.__)("무엇에 관한 글인지 첫 단락에서 밝히면 검색엔진과 AI가 주제를 잡기 쉬워요","editnday"),(0,l.__)("구글·네이버·AI","editnday"));const d=e.headings.some(s);a("heading",d,d?(0,l.__)("소제목에 Fine Keyword","editnday"):(0,l.__)("소제목에 Fine Keyword가 없어요","editnday"),(0,l.sprintf)(/* translators: %s: o.headings.length */ /* translators: %s: o.headings.length */(0,l.__)("소제목 %s개 중 하나에 넣으면 글의 짜임이 검색어와 이어져요","editnday"),e.headings.length),(0,l.__)("구글·네이버","editnday"));const i=We(e.body,t),r=n(e.body)?1e3*i/n(e.body):0;a("repeat",i>=1&&r<=6,Xe([[0===i,(0,l.__)("본문에 Fine Keyword가 없어요","editnday")],[r>6,(0,l.sprintf)(/* translators: %s: times */ /* translators: %s: times */(0,l.__)("본문에 Fine Keyword %s번 (많아요)","editnday"),i)]],(0,l.sprintf)(/* translators: %s: times */ /* translators: %s: times */(0,l.__)("본문에 Fine Keyword %s번","editnday"),i)),Xe([[0===i,(0,l.__)("본문에 실제로 쓰는 표기와 같은지 확인해 주세요 (예: 볼보EX60 / VolvoEX60)","editnday")]],(0,l.__)("같은 말을 너무 자주 되풀이하면 구글·네이버 모두 낮게 봐요. 대명사나 다른 표현으로 바꿔 보세요","editnday")),(0,l.__)("구글·네이버","editnday")),n(e.description)&&a("desc",s(e.description),s(e.description)?(0,l.__)("설명에 Fine Keyword","editnday"):(0,l.__)("설명에 Fine Keyword가 없어요","editnday"),(0,l.__)("순위와는 상관없지만, 검색어가 설명에 있으면 검색 결과에서 굵게 보여 눈에 띄어요","editnday"),(0,l.__)("구글·네이버","editnday"))}const d=n(e.title);a("titleLen",d>0&&d<=40,d?(0,l.sprintf)(/* translators: %s: tl */ /* translators: %s: tl */(0,l.__)("검색 결과 제목 %s자","editnday"),d):(0,l.__)("검색 결과 제목이 없어요","editnday"),Xe([[d>40,(0,l.__)("40자를 넘으면 검색 결과에서 잘려요","editnday")]],(0,l.__)("제목을 넣어 주세요","editnday")),(0,l.__)("구글·네이버","editnday"));const i=n(e.description);return a("descLen",i>=40&&i<=110,i?(0,l.sprintf)(/* translators: %s: dl */ /* translators: %s: dl */(0,l.__)("검색 결과 설명 %s자","editnday"),i):(0,l.__)("검색 결과 설명이 없어요","editnday"),Xe([[0===i,(0,l.__)("SEO 설명을 만들어 보세요. 없으면 검색엔진이 본문에서 아무 문장이나 가져가요","editnday")],[i<40,(0,l.__)("너무 짧으면 검색엔진이 본문에서 다른 문장을 가져가요","editnday")]],(0,l.__)("110자를 넘으면 잘려요","editnday")),(0,l.__)("구글·네이버","editnday")),a("headings",e.headings.length>=2,(0,l.sprintf)(/* translators: %s: o.headings.length */ /* translators: %s: o.headings.length */(0,l.__)("소제목 %s개","editnday"),e.headings.length),(0,l.__)("소제목으로 나누면 검색엔진이 단락별 주제를, AI가 답할 부분을 찾기 쉬워요","editnday"),(0,l.__)("구글·네이버·AI","editnday")),a("answer",!!e.summary||e.faq>0,Xe([[e.summary&&e.faq>0,(0,l.sprintf)(/* translators: %s: o.faq */ /* translators: %s: o.faq */(0,l.__)("요약과 질문답 %s개","editnday"),e.faq)],[e.summary,(0,l.__)("요약 있음","editnday")],[e.faq>0,(0,l.sprintf)(/* translators: %s: o.faq */ /* translators: %s: o.faq */(0,l.__)("질문답 %s개","editnday"),e.faq)]],(0,l.__)("요약·질문답이 없어요","editnday")),(0,l.__)("발행 준비의 AEO·GEO로 만들면 AI 답변에 인용되기 쉬워요","editnday"),"AI"),a("links",e.links>0,e.links?(0,l.sprintf)(/* translators: %s: o.links */ /* translators: %s: o.links */(0,l.__)("출처·관련 링크 %s개","editnday"),e.links):(0,l.__)("링크가 없어요","editnday"),(0,l.__)("출처가 보이면 믿을 만한 글로 보고, AI도 근거로 인용해요","editnday"),(0,l.__)("구글·네이버·AI","editnday")),a("images",e.images>0,e.images?(0,l.sprintf)(/* translators: %s: o.images */ /* translators: %s: o.images */(0,l.__)("본문 이미지 %s개","editnday"),e.images):(0,l.__)("본문 이미지가 없어요 (대표 이미지만)","editnday"),(0,l.__)("본문에 사진·도표가 있으면 이미지 검색과 네이버 노출에 도움이 돼요","editnday"),(0,l.__)("구글·네이버","editnday")),s}({keyword:e.seo.keyword,title:n.title||e.seo.title||e.title||"",description:n.description||e.seo.description||"",summary:!!e.schema.summary,faq:e.schema.faq?.length||0,...Ft(t)})}function Lt({st:e}){const[t,n]=(0,o.useState)(!1),s=qt(e),a=s.filter(e=>e.ok).length,d=s.filter(e=>!e.ok),[i,r]=(0,o.useState)("");return(0,f.jsxs)(w,{className:"ed-koseo",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("검색·AI 점검","editnday")}),(0,f.jsx)("span",{className:"ed-koseo__score"+(d.length?"":" is-ok"),children:(0,l.sprintf)(/* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */ /* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */ 7 (0,l.__)("%1$d개 중 %2$d개 통과","editnday"),s.length,a)})]}),!e.seo.keyword?.trim()&&(0,f.jsxs)("div",{className:"ed-koseo__kw",children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,placeholder:(0,l.__)("예: 노벨문학상","editnday"),value:i,onChange:r,onKeyDown:e=>"Enter"===e.key&&i.trim()&&xt(i.trim())}),(0,f.jsx)(N,{disabled:!i.trim(),onClick:()=>xt(i.trim()),children:(0,l.__)("정하기","editnday")}),(0,f.jsx)("span",{className:"ed-muted",children:(0,l.__)("정하면 제목·설명·본문에 키워드가 있는지도 봐요.","editnday")})]}),(t?s:d).map(e=>(0,f.jsxs)("div",{className:"ed-koseo__item",children:[(0,f.jsx)("span",{className:"ed-circ"+(e.ok?" is-filled":" is-warn"),children:e.ok?(0,f.jsx)(j,{}):"!"}),(0,f.jsxs)("span",{className:"ed-koseo__body",children:[(0,f.jsxs)("span",{className:"ed-koseo__head",children:[(0,f.jsx)("span",{className:"ed-koseo__label",children:e.label}),(0,f.jsx)("span",{className:"ed-koseo__who",children:e.who})]}),e.hint&&(0,f.jsx)("span",{className:"ed-koseo__hint",children:e.hint})]})]},e.id)),!d.length&&!t&&(0,f.jsx)("span",{className:"ed-small",children:(0,l.__)("모두 좋아요.","editnday")}),(0,f.jsxs)("div",{className:"ed-koseo__foot",children:[(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>n(!t),children:t?(0,l.__)("고칠 것만 보기","editnday"):(0,l.sprintf)(/* translators: %s: okN */ /* translators: %s: okN */(0,l.__)("통과한 것도 보기 (%s)","editnday"),a)}),(0,f.jsx)("span",{className:"ed-muted",children:(0,l.__)("조사·띄어쓰기가 달라도 같은 말로 봐요 (구글·네이버 기준)","editnday")})]})]})}function Rt({st:e}){const[t,n]=(0,o.useState)("google"),s=e.seo.kept||{},a=s.title||e.seo.title||e.title||"",d=s.description||e.seo.description||e.excerpt||"",i=window.editndayConfig?.seoPlugin,r=window.location.host,c=(e,t,n)=>e<t?(0,l.__)("짧음","editnday"):e>n?(0,l.__)("김","editnday"):(0,l.__)("적정","editnday");return(0,f.jsxs)(w,{children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("검색 결과 미리보기","editnday")}),(0,f.jsxs)("span",{className:"ed-chips",children:[(0,f.jsx)(S,{on:"google"===t,onClick:()=>n("google"),children:(0,l.__)("구글","editnday")}),(0,f.jsx)(S,{on:"naver"===t,onClick:()=>n("naver"),children:(0,l.__)("네이버","editnday")})]})]}),(0,f.jsxs)("div",{className:`ed-serp is-${t}`,children:[(0,f.jsxs)("span",{className:"ed-serp__u",children:[r," › ",dt(e.slug)||"…"]}),(0,f.jsx)("span",{className:"ed-serp__t",children:a||(0,l.__)("제목 없음","editnday")}),(0,f.jsx)("span",{className:"ed-serp__d",children:d||(0,l.__)("설명이 없어요. SEO 설명을 만들어 보세요.","editnday")})]}),(0,f.jsx)("span",{className:"ed-muted",children:(0,l.sprintf)(/* translators: 1: 제목 글자 수, 2: 제목 길이 판정(짧음·적정·김), 3: 설명 글자 수, 4: 설명 길이 판정 */ /* translators: 1: 제목 글자 수, 2: 제목 길이 판정(짧음·적정·김), 3: 설명 글자 수, 4: 설명 길이 판정 */ 8 (0,l.__)("제목 %1$d자 (%2$s) · 설명 %3$d자 (%4$s)","editnday"),a.length,c(a.length,20,45),d.length,c(d.length,60,110))}),i&&(0,f.jsx)("span",{className:"ed-muted",children:s.title||s.description?(0,l.sprintf)(/* translators: 1: SEO 플러그인 이름, 2: 직접 쓴 칸 (제목·설명), 3: SEO 플러그인 이름 */ /* translators: 1: SEO 플러그인 이름, 2: 직접 쓴 칸 (제목·설명), 3: SEO 플러그인 이름 */(0,l.__)("%1$s에 직접 쓴 %2$s이 있어 그 값이 나가요. 에디튼 값을 쓰려면 %3$s에서 그 칸을 비워 주세요.","editnday"),i,[s.title&&(0,l.__)("제목","editnday"),s.description&&(0,l.__)("설명","editnday")].filter(Boolean).join("·"),i):(0,l.sprintf)(/* translators: %s: plugin */ /* translators: %s: plugin */(0,l.__)("저장하면 %s 칸에도 들어가요.","editnday"),i)})]})}function Dt(e,t){return t?(0,l.__)("닫기","editnday"):e?(0,l.__)("다시","editnday"):(0,l.__)("만들기","editnday")}function Kt(){const e=window.editndayConfig?.siteOpen;return e?.blocking?.length?(0,f.jsxs)(w,{className:"ed-ask ed-siteopen",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("검색에 나오지 않을 수 있어요","editnday")}),(0,f.jsx)("span",{className:"ed-small",children:(0,l.sprintf)(/* translators: %s: 안 된 워드프레스 설정 목록 */ /* translators: %s: 안 된 워드프레스 설정 목록 */ 9 (0,l.__)("워드프레스 설정에서 %s이(가) 아직 안 됐어요. 이대로 발행하면 검색엔진이 이 글을 찾지 못하거나 늦게 찾아요.","editnday"),e.blocking.join(", "))}),e.canManage&&(0,f.jsx)("a",{className:"ed-link",href:e.url,children:(0,l.__)("에디튼 → 사이트 오픈에서 확인하기","editnday")})]}):null}function Ht(){const e=window.editndayConfig?.seoMode||{},t=(0,G.useSelect)(e=>"1"===e("core/editor").getEditedPostAttribute("meta")?._editnday_noindex,[]);return"with"===e.mode?(0,f.jsx)("p",{className:"ed-muted ed-seomode",children:(0,l.sprintf)(/* translators: %s: 함께 쓰는 SEO 플러그인 이름 (두 번 나옴) */ /* translators: %s: 함께 쓰는 SEO 플러그인 이름 (두 번 나옴) */ 10 (0,l.__)("%1$s와 함께 쓰는 중이에요. 검색엔진이 읽는 머리말(제목·설명·공유 미리보기)은 %1$s가 내고, 에디튼은 값을 채우고 점검해요.","editnday"),e.plugin)}):(0,f.jsxs)(w,{className:"ed-seomode",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("검색엔진·공유 머리말","editnday")}),(0,f.jsx)("span",{className:"ed-small",children:(0,l.__)("SEO 플러그인 없이 쓰는 중이라 에디튼이 직접 내요: SEO 제목·설명, 카카오톡·페이스북 공유 미리보기, 글 구조화 데이터.","editnday")}),(0,f.jsx)(p.CheckboxControl,{__nextHasNoMarginBottom:!0,label:(0,l.__)("이 글은 검색 결과에 보이지 않게","editnday"),checked:t,onChange:e=>(0,G.dispatch)("core/editor").editPost({meta:{_editnday_noindex:e?"1":""}})})]})}function zt({st:e}){const[t,n]=(0,o.useState)(!1),s=(0,G.useSelect)(e=>e("core/block-editor").getBlocks(),[]),a=(0,G.useSelect)(e=>{const t=e("core/editor");return"auto-draft"===t.getEditedPostAttribute("status")?null:t.getEditedPostAttribute("modified")||null},[]),d=Ft(s),i=String(Ye().getEditedPostContent()),r=window.location.host;let c=0,_=0;for(const e of i.matchAll(/<a\s[^>]*href=["']([^"']+)["']/gi))try{const t=new URL(e[1],window.location.href);if(!/^https?:$/.test(t.protocol))continue;t.host===r?c++:_++}catch{}const u=window.editndayConfig?.aiReady||{},{score:h,items:y}=function(e){const t=String(e.body||""),n=t.split(/(?<=[.!?。])\s+|\n+/).filter(e=>/\d/.test(e)).length,s=[...t.replace(/\s+/g,"")].length,a=!e.modified||(e.now??Date.now())-new Date(e.modified).getTime()<31536e6,d=[],i=(e,t,n,s,a,i)=>d.push({part:e,id:t,points:n,ok:!!s,label:a,hint:s?"":i}),r=(0,l.__)("형식","editnday"),o=(0,l.__)("내용","editnday");return i(r,"lead",12,e.summaryVisible,(0,l.__)("결론 먼저 (글 앞 요약)","editnday"),(0,l.__)('GEO 요약을 "본문에 보이게"로 넣으면 AI가 첫 단락에서 답을 가져가요',"editnday")),i(r,"headings",8,e.headings>=3,(0,l.sprintf)(/* translators: %d: 소제목 수 */ /* translators: %d: 소제목 수 */(0,l.__)("소제목 %d개","editnday"),e.headings),(0,l.__)("소제목을 3개 이상으로 나누면 AI가 질문마다 답할 부분을 찾아요","editnday")),i(r,"faq",8,e.faq>=2,(0,l.sprintf)(/* translators: %d: 질문답 수 */ /* translators: %d: 질문답 수 */(0,l.__)("질문답 %d개","editnday"),e.faq),(0,l.__)("AEO 질문답을 2개 이상 넣어요","editnday")),i(r,"identity",6,e.identity,(0,l.__)("내 블로그 정체성","editnday"),(0,l.__)("사이트 오픈 4단계에서 한 줄 소개·다른 곳 주소를 넣으면 AI가 누가 쓴 글인지 알아봐요","editnday")),i(r,"internal",8,e.internal>=1,(0,l.sprintf)(/* translators: %d: 내부 링크 수 */ /* translators: %d: 내부 링크 수 */(0,l.__)("내 글 링크 %d개","editnday"),e.internal),(0,l.__)('이어지는 내 글을 하나 이상 연결해요 (발행 준비의 "이어지는 내 글")',"editnday")),i(r,"bots",8,!1!==e.bots,!1===e.bots?(0,l.__)("AI 검색 봇이 막힘","editnday"):(0,l.__)("AI 검색 봇 허용","editnday"),(0,l.__)("사이트 오픈 4단계에서 robots.txt·방화벽을 확인해요","editnday")),i(o,"numbers",12,n>=3,(0,l.sprintf)(/* translators: %d: 숫자 문장 수 */ /* translators: %d: 숫자 문장 수 */(0,l.__)("숫자가 든 문장 %d개","editnday"),n),(0,l.__)("통계·가격·날짜처럼 확인할 수 있는 숫자를 3문장 이상에 넣으면 AI가 근거로 써요","editnday")),i(o,"sources",12,e.external>=2,(0,l.sprintf)(/* translators: %d: 출처 링크 수 */ /* translators: %d: 출처 링크 수 */(0,l.__)("출처 링크 %d개","editnday"),e.external),(0,l.__)("숫자·주장의 출처를 2곳 이상 링크로 밝혀요","editnday")),i(o,"author",8,e.authorBio,(0,l.__)("저자 소개","editnday"),(0,l.__)("[사용자 → 프로필]의 자기소개를 채우면 누가 썼는지(전문성)가 보여요","editnday")),i(o,"fresh",8,a,a?(0,l.__)("1년 안에 고친 글","editnday"):(0,l.__)("1년 넘게 고치지 않은 글","editnday"),(0,l.__)("AI는 최신 정보를 인용해요. 숫자를 다시 확인하고 고쳐 주세요","editnday")),i(o,"length",10,s>=1500,(0,l.sprintf)(/* translators: %s: 글자 수 */ /* translators: %s: 글자 수 */(0,l.__)("본문 %s자","editnday"),s.toLocaleString("ko-KR")),(0,l.__)("1,500자 이상이면 AI가 인용할 근거가 충분해요","editnday")),{score:d.reduce((e,t)=>e+(t.ok?t.points:0),0),items:d}}({summaryVisible:s.some(e=>"summary"===e.attributes?.metadata?.editnday),headings:d.headings.length,faq:e.schema.faq?.length||0,identity:!!u.identity,internal:c,external:_,bots:u.bots??null,body:d.body,authorBio:!!u.authorBio,modified:a}),m=y.filter(e=>!e.ok).sort((e,t)=>t.points-e.points),p=h>=80?"is-ok":h>=60?"is-warn":"is-bad";return(0,f.jsxs)(w,{className:"ed-aicite",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("AI 인용 준비","editnday")}),(0,f.jsx)("span",{className:`ed-aicite__score ${p}`,children:(0,l.sprintf)(/* translators: %d: 점수 */ /* translators: %d: 점수 */ 11 (0,l.__)("%d / 100","editnday"),h)})]}),(0,f.jsx)("div",{className:"ed-aicite__bar","aria-hidden":"true",children:(0,f.jsx)("span",{className:p,style:{width:`${h}%`}})}),(0,f.jsx)("p",{className:"ed-muted ed-small",children:h>=80?(0,l.__)("ChatGPT·구글 AI 개요·네이버 AI 브리핑이 인용하기 좋은 글이에요.","editnday"):(0,l.__)("80점이 넘으면 AI 답변에 인용되기 좋은 글이에요. 점수가 큰 것부터 채워 보세요.","editnday")}),m.slice(0,t?m.length:3).map(e=>(0,f.jsxs)("div",{className:"ed-aicite__item",children:[(0,f.jsxs)("span",{className:"ed-aicite__pts",children:["+",e.points]}),(0,f.jsxs)("span",{children:[(0,f.jsx)("strong",{children:e.label}),(0,f.jsxs)("span",{className:"ed-muted ed-small",children:[" ",e.hint]})]})]},e.id)),m.length>3&&(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>n(!t),children:t?(0,l.__)("접기","editnday"):(0,l.sprintf)(/* translators: %d: 남은 항목 수 */ /* translators: %d: 남은 항목 수 */ 12 (0,l.__)("빠진 것 %d개 더 보기","editnday"),m.length-3)})]})}function Ut({st:e,onCheck:t}){const n=qt(e),s=n.filter(e=>e.ok).length;return(0,f.jsxs)(w,{className:"ed-koseo-line",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("검색·AI 점검","editnday")}),(0,f.jsx)("span",{className:"ed-small",children:(0,l.sprintf)(/* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */ /* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */ 13 (0,l.__)("%1$d개 중 %2$d개 통과","editnday"),n.length,s)})]}),t&&(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:t,children:(0,l.__)("글 점검에서 자세히 보기","editnday")})]})}function Jt({onNew:e,onCheck:t}){const n=ft(),[s,a]=(0,o.useState)(null),[d,i]=(0,o.useState)(null),[r,c]=(0,o.useState)(null),[u,m]=(0,o.useState)(n.schema.mode||"visible"),[g,x]=(0,o.useState)(!1),[b,v]=(0,o.useState)(0),[C,$]=(0,o.useState)(null),[I,E]=(0,o.useState)(""),[P,M]=(0,o.useState)("bottom"),[O,F]=(0,o.useState)("title"),[q,L]=(0,o.useState)(()=>{try{return{tpl:"ink",layout:"center",aspect:"og",color:"#2F5D50",...JSON.parse(window.localStorage.getItem("editndayTpl")||"{}")}}catch{return{tpl:"ink",layout:"center",aspect:"og",color:"#2F5D50"}}}),R=e=>L(t=>{const n={...t,...e};try{window.localStorage.setItem("editndayTpl",JSON.stringify(n))}catch{}return n}),D=q.tpl,[H,z]=(0,o.useState)(""),U=I.trim()||n.title?.trim()||"";(0,o.useEffect)(()=>{let e=!1;const t=setTimeout(()=>{Et({text:U,template:q.tpl,color:q.color,layout:q.layout,aspect:q.aspect}).then(t=>!e&&z(t)).catch(()=>!e&&z(""))},150);return()=>{e=!0,clearTimeout(t)}},[U,q]);const[V,W]=(0,o.useState)(null),X=Qe("_editnday_indexed"),Y=(0,G.useSelect)(e=>["publish","future","private"].includes(e("core/editor").getEditedPostAttribute("status")),[]),Z=(0,G.useSelect)(e=>e("core/editor").isSavingPost(),[]),Q=(0,G.useSelect)(e=>{const t=e("core/editor");return"future"===t.getEditedPostAttribute("status")?t.getEditedPostAttribute("date"):null},[]),ee=e=>!!s&&s.split(",").includes(e),te=async(e,t)=>{a(e),v(Date.now()),i(null);try{await t()}catch(e){i(e?.message&&!e.message.includes("<")?e.message:(0,l.__)("만들지 못했어요. 잠시 뒤 다시 해 주세요.","editnday"))}finally{a(null)}},ne={st:n,busy:s,isBusy:ee,run:te,since:b,aeoMode:u,setCatPanel:$,setRedo:x,onImage:I,titlePos:P,titleKind:O},se=(e,t={})=>y(_.publishFieldActions,{...ne,key:e,...t}),ae=()=>(0,f.jsxs)("span",{className:"ed-busy",children:[(0,f.jsx)("span",{className:"ed-pulse"}),(0,l.__)("만드는 중","editnday")," ",(0,f.jsx)(B,{since:b})]});return(0,f.jsxs)(f.Fragment,{children:[Q?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(A,{eyebrow:(0,l.__)("예약한 글","editnday"),title:(0,l.__)("예약한 글 다듬기","editnday"),sub:(0,l.__)("발행되기 전까지 대표 이미지, 검색 설정, 요약과 질문·답을 다시 만들거나 고칠 수 있어요.","editnday")}),(0,f.jsx)("div",{className:"ed-note",children:(0,o.createInterpolateElement)((0,l.sprintf)(/* translators: %s: 예약 발행 시각. <b>…</b>는 굵게 (버튼 이름) */ /* translators: %s: 예약 발행 시각. <b>…</b>는 굵게 (버튼 이름) */ 14 (0,l.__)("<b>%s</b>에 발행돼요. 여기서 바꾼 내용은 맨 아래 <b>[바뀐 내용 저장]</b>을 눌러야 예약된 글에 들어가요. 시간은 오른쪽 위 <b>[예약됨]</b>에서 바꿔요.","editnday"),Gt(Q)),{b:(0,f.jsx)("strong",{})})})]}):Y?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(A,{eyebrow:(0,l.__)("발행한 글","editnday"),title:(0,l.__)("발행한 글 다듬기","editnday"),sub:(0,l.__)("대표 이미지, 검색 설정, 요약과 질문·답을 다시 만들거나 고칠 수 있어요.","editnday")}),(0,f.jsx)("div",{className:"ed-note",children:(0,o.createInterpolateElement)(/* translators: <b>…</b>는 굵게 (버튼 이름) */ /* translators: <b>…</b>는 굵게 (버튼 이름) */ 15 (0,l.__)("이미 공개된 글이에요. 여기서 바꾼 내용은 맨 아래 <b>[바뀐 내용 사이트에 반영]</b>을 눌러야 사이트에 반영돼요.","editnday"),{b:(0,f.jsx)("strong",{})})})]}):(0,f.jsx)(A,{eyebrow:(0,l.__)("발행 준비","editnday"),title:(0,l.__)("발행 전에 다듬을 것","editnday"),sub:(0,l.__)("하나씩 하거나 한 번에 해요. 만든 값은 고칠 수 있어요.","editnday")}),d&&(0,f.jsx)("div",{className:"ed-note is-error",children:d}),(0,f.jsxs)(w,{className:"ed-tasks",children:[(0,f.jsxs)("div",{className:"ed-cardhead",children:[(0,f.jsxs)("span",{className:"ed-cardhead__t",children:[(0,l.__)("할 일","editnday")," ",(0,f.jsx)("span",{className:"ed-tag",children:(0,l.sprintf)(/* translators: 1: 된 것, 2: 전체 */ /* translators: 1: 된 것, 2: 전체 */ 16 (0,l.__)("%1$d / %2$d 됨","editnday"),ht.filter(([e])=>Tt(n,e)).length+(n.featured?1:0)+(n.featuredAlt?1:0),ht.length+2)})]}),se("all",{place:"head"})]}),se("all",{place:"live"}),ht.map(([e,t,s])=>{const a=se(e,{place:"row"}),d=!h()&&["seo","aeo","geo"].includes(e);return(0,f.jsxs)("div",{className:"ed-taskwrap",children:[(0,f.jsxs)("div",{className:"ed-task",children:[(0,f.jsx)("span",{className:`ed-circ${Tt(n,e)?" is-filled":""}${ee(e)?" is-busy":""}`,children:Tt(n,e)&&(0,f.jsx)(j,{})}),(0,f.jsxs)("span",{className:"ed-task__t",children:[t," ",s&&(0,f.jsxs)("span",{className:"ed-muted",children:["(",s,")"]})]}),ee(e)&&(0,f.jsx)(ae,{}),!ee(e)&&Tt(n,e)&&(0,f.jsx)("button",{type:"button",className:"ed-mini is-done",onClick:()=>c(r===e?null:e),children:r===e?(0,l.__)("닫기","editnday"):(0,l.__)("보기","editnday")}),!ee(e)&&!Tt(n,e)&&(0,f.jsx)("button",{type:"button",className:"ed-mini is-plain",onClick:()=>c(r===e?null:e),children:r===e?(0,l.__)("닫기","editnday"):a.length?(0,l.__)("직접","editnday"):(0,l.__)("직접 쓰기","editnday")}),!ee(e)&&!Tt(n,e)&&a]}),!Tt(n,e)&&d&&(0,f.jsx)("div",{className:"ed-prohint-row",children:(0,f.jsx)(K,{label:(0,l.__)("AI로 만들기","editnday")})}),"category"===e&&C&&!Tt(n,e)&&(0,f.jsx)(st,{panel:C,onDone:()=>$(null)}),r===e&&(0,f.jsx)(Yt,{k:e,st:n,mode:u,extra:se(e,{place:"editor"}),below:se(e,{place:"below"})})]},e)}),(0,f.jsxs)("div",{className:"ed-taskwrap",children:[(0,f.jsxs)("div",{className:"ed-task",children:[(0,f.jsx)("span",{className:"ed-circ"+(n.featured?" is-filled":""),children:!!n.featured&&(0,f.jsx)(j,{})}),(0,f.jsx)("span",{className:"ed-task__t",children:(0,l.__)("대표 이미지","editnday")}),"featured"===s?(0,f.jsx)(ae,{}):(0,f.jsx)("button",{type:"button",className:"ed-mini",disabled:!!s,onClick:()=>x(!g),children:Dt(n.featured,g)})]}),n.featuredUrl&&(0,f.jsx)("img",{className:"ed-thumb",src:n.featuredUrl,alt:n.featuredAlt}),n.featuredUrl&&(0,f.jsx)(Qt,{url:n.featuredUrl,title:n.seo.kept?.title||n.seo.title||n.title||"",description:n.seo.kept?.description||n.seo.description||""}),g&&(0,f.jsxs)("div",{className:"ed-redo",children:[se("featured"),(0,f.jsx)(K,{label:(0,l.__)("AI로 그림 만들기","editnday")}),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0,label:(0,l.__)("그림에 넣을 제목 (선택)","editnday"),placeholder:(0,l.__)("비워 두면 글자 없는 그림","editnday"),value:I,onChange:E}),(0,f.jsxs)("div",{className:"ed-redo__title",children:[(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>E(n.title||""),children:(0,l.__)("글 제목 그대로 넣기","editnday")}),!!I.trim()&&(0,f.jsx)("span",{className:"ed-chips",children:[["title",(0,l.__)("제목형","editnday")],["caption",(0,l.__)("캡션형","editnday")]].map(([e,t])=>(0,f.jsx)(S,{on:O===e,onClick:()=>F(e),children:t},e))}),!!I.trim()&&(0,f.jsx)("span",{className:"ed-chips",children:[["top",(0,l.__)("위","editnday")],["center",(0,l.__)("가운데","editnday")],["bottom",(0,l.__)("아래","editnday")]].map(([e,t])=>(0,f.jsx)(S,{on:P===e,onClick:()=>M(e),children:t},e))})]}),(0,f.jsx)("div",{className:"ed-redo__actions",children:!!n.featured&&(0,f.jsx)(N,{disabled:!!s||!I.trim(),onClick:()=>te("featured",async()=>(await Pt(I,P,O),x(!1))),children:(0,l.__)("지금 그림에 제목만 넣기","editnday")})})]}),(0,f.jsxs)("div",{className:"ed-tpl",children:[(0,f.jsx)("span",{className:"ed-small ed-strong",children:(0,l.__)("AI 없이 배경 틀로 만들기","editnday")}),(0,f.jsxs)("div",{className:"ed-tpl__row",children:[(0,f.jsx)("span",{className:"ed-tpl__label",children:(0,l.__)("색","editnday")}),(0,f.jsxs)("span",{className:"ed-tpl__swatches",children:[kt.map(([e,t,n,s])=>(0,f.jsx)("button",{type:"button",className:"ed-tpl__sw"+(D===e?" is-on":""),style:{background:n.length>1?`linear-gradient(135deg, ${n[0]}, ${n[1]})`:n[0],color:s},"aria-pressed":D===e,title:t,onClick:()=>R({tpl:e}),children:(0,l.__)("가","editnday")},e)),(0,f.jsx)("button",{type:"button",className:"ed-tpl__sw ed-tpl__sw--custom"+("custom"===D?" is-on":""),style:"custom"===D?{background:q.color}:void 0,"aria-pressed":"custom"===D,title:(0,l.__)("직접 고른 색","editnday"),onClick:()=>R({tpl:"custom"}),children:"custom"===D?"":"+"})]})]}),"custom"===D&&(0,f.jsxs)("div",{className:"ed-tpl__row",children:[(0,f.jsx)("span",{className:"ed-tpl__label"}),(0,f.jsxs)("span",{className:"ed-tpl__color",children:[(0,f.jsx)("input",{type:"color","aria-label":(0,l.__)("바탕색 고르기","editnday"),value:/^#[0-9a-f]{6}$/i.test(q.color)?q.color:"#2F5D50",onChange:e=>R({color:e.target.value})}),(0,f.jsx)("input",{type:"text","aria-label":(0,l.__)("바탕색 hex","editnday"),value:q.color,maxLength:7,spellCheck:!1,onChange:e=>{const t=e.target.value.trim();R({color:t.startsWith("#")?t:"#"+t})}})]})]}),(0,f.jsxs)("div",{className:"ed-tpl__row",children:[(0,f.jsx)("span",{className:"ed-tpl__label",children:(0,l.__)("배치","editnday")}),(0,f.jsx)("span",{className:"ed-chips",children:St.map(([e,t])=>(0,f.jsx)(S,{on:q.layout===e,onClick:()=>R({layout:e}),children:t},e))})]}),(0,f.jsxs)("div",{className:"ed-tpl__row",children:[(0,f.jsx)("span",{className:"ed-tpl__label",children:(0,l.__)("비율","editnday")}),(0,f.jsx)("span",{className:"ed-chips",children:vt.map(([e,t])=>(0,f.jsx)(S,{on:q.aspect===e,onClick:()=>R({aspect:e}),children:t},e))})]}),H?(0,f.jsx)("img",{className:"ed-tpl__preview",src:H,alt:(0,l.__)("배경 틀 미리보기","editnday")}):(0,f.jsx)("span",{className:"ed-muted",children:(0,l.__)("제목을 쓰면 여기에 미리보기가 나와요.","editnday")}),(0,f.jsx)(N,{disabled:!!s||!U||"custom"===D&&!/^#[0-9a-f]{6}$/i.test(q.color),onClick:()=>te("featured",async()=>(await At(U,D,{color:q.color,layout:q.layout,aspect:q.aspect}),x(!1))),children:(0,l.__)("배경 틀로 만들기","editnday")}),(0,f.jsx)("span",{className:"ed-muted",children:(0,l.__)('위 "그림에 넣을 제목"을, 비워 두면 글 제목을 넣어요. AI·서버 없이 이 컴퓨터에서 바로 그려요.',"editnday")})]}),(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>{const e=window.wp?.media?.({title:(0,l.__)("대표 이미지 고르기","editnday"),library:{type:"image"},multiple:!1,button:{text:(0,l.__)("대표 이미지로","editnday")}});e&&(e.on("select",()=>{const t=e.state().get("selection").first()?.toJSON();t?.id&&Ze({featured_media:t.id}),x(!1)}),e.open())},children:(0,l.__)("미디어 라이브러리에서 고르기","editnday")})]})]}),(0,f.jsxs)("div",{className:"ed-task",children:[(0,f.jsx)("span",{className:"ed-circ"+(n.featuredAlt?" is-filled":""),children:n.featuredAlt&&(0,f.jsx)(j,{})}),(0,f.jsx)("span",{className:"ed-task__t",children:(0,l.__)("대표 이미지 ALT","editnday")}),"alt"===s?(0,f.jsx)(ae,{}):(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("button",{type:"button",className:"ed-mini is-plain",disabled:!n.featured,onClick:()=>c("alt"===r?null:"alt"),children:"alt"===r?(0,l.__)("닫기","editnday"):(0,l.__)("직접 쓰기","editnday")}),se("alt")]})]}),n.featuredAlt&&"alt"!==r&&(0,f.jsx)("p",{className:"ed-alttext",children:n.featuredAlt}),"alt"===r&&!!n.featured&&(0,f.jsx)(Xt,{id:n.featured,alt:n.featuredAlt,onDone:()=>c(null)})]}),se("all"),(0,f.jsx)(Rt,{st:n}),(0,f.jsx)(Kt,{}),(0,f.jsx)(Ht,{}),(0,f.jsx)(zt,{st:n}),(0,f.jsx)(Ut,{st:n,onCheck:t}),(0,f.jsxs)(w,{children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("AEO·GEO 넣는 방식","editnday")}),(0,f.jsxs)(T,{checked:"visible"===u,onChange:()=>{m("visible"),et("_editnday_schema",{...Qe("_editnday_schema"),mode:"visible"}),gt(Qe("_editnday_schema"))},children:[(0,l.__)("본문에 보이게","editnday")," ",(0,f.jsx)("span",{className:"ed-muted",children:(0,l.__)("· 글 앞 요약, 글 끝 자주 묻는 질문","editnday")})]}),(0,f.jsxs)(T,{checked:"structured"===u,onChange:()=>{m("structured"),et("_editnday_schema",{...Qe("_editnday_schema"),mode:"structured"}),gt({})},children:[(0,l.__)("구조화 데이터로만","editnday")," ",(0,f.jsx)("span",{className:"ed-muted",children:(0,l.__)("· 본문 내용 그대로, 검색봇·AI가 읽는 형식","editnday")})]})]}),(0,f.jsxs)(w,{className:"ed-related",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("strong",{children:(0,l.__)("이어지는 내 글","editnday")}),(0,f.jsx)("button",{type:"button",className:"ed-mini",disabled:!!s,onClick:()=>te("related",async()=>{const e=await J()({path:"/editnday/v1/publish/related",method:"POST",data:{postId:n.postId,title:n.title,tags:n.tags,categories:n.categories,content:Ye().getEditedPostContent()}});W(e.items||[])}),children:V?(0,l.__)("다시 찾기","editnday"):(0,l.__)("찾기","editnday")})]}),null===V&&(0,f.jsx)("div",{className:"ed-muted",children:(0,l.__)("이 글과 태그·제목이 겹치는 내 공개 글을 찾아 본문 끝에 링크로 넣을 수 있어요.","editnday")}),V&&!V.length&&(0,f.jsx)("div",{className:"ed-muted",children:(0,l.__)("이어 붙일 만한 글을 찾지 못했어요. 태그를 먼저 달면 더 잘 찾아요.","editnday")}),(V||[]).map(e=>(0,f.jsxs)("div",{className:"ed-row ed-between ed-related__item",children:[(0,f.jsxs)("span",{children:[e.title," ",(0,f.jsx)("span",{className:"ed-muted",children:e.date})]}),(0,f.jsx)("button",{type:"button",className:"ed-mini",disabled:e.added,onClick:()=>{Mt(e),W(t=>t.map(t=>t.id===e.id?{...t,added:!0}:t))},children:e.added?(0,l.__)("넣었어요","editnday"):(0,l.__)("넣기","editnday")})]},e.id))]}),Y&&!Q&&X.at&&(0,f.jsxs)("div",{className:"ed-muted ed-indexed",children:[(0,l.__)("검색엔진에 알림:","editnday")," ",new Date(X.at).toLocaleString("ko-KR",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"}),Object.entries(X.results||{}).map(([e,t])=>` · ${"naver"===e?(0,l.__)("네이버","editnday"):(0,l.__)("Bing 등","editnday")} ${t>=200&&t<300?"✓":"✕"}`)]}),(0,f.jsx)(Vt,{}),(0,f.jsx)(Wt,{live:Y,scheduled:!!Q}),(0,f.jsxs)("div",{className:"ed-foot",children:[Q?(0,f.jsx)(k,{disabled:!!Z,onClick:async()=>{await(0,G.dispatch)("core/editor").savePost(),(0,G.dispatch)("core/notices").createSuccessNotice((0,l.__)("저장했어요. 예약한 시간에 이 내용으로 발행돼요.","editnday"),{type:"snackbar"})},children:Z?(0,l.__)("저장하는 중…","editnday"):(0,l.__)("바뀐 내용 저장","editnday")}):Y?(0,f.jsx)(k,{disabled:!!Z,onClick:async()=>{await(0,G.dispatch)("core/editor").savePost(),(0,G.dispatch)("core/notices").createSuccessNotice((0,l.__)("바뀐 내용을 사이트에 반영했어요.","editnday"),{type:"snackbar"})},children:Z?(0,l.__)("반영하는 중…","editnday"):(0,l.__)("바뀐 내용 사이트에 반영","editnday")}):(0,f.jsx)(k,{onClick:()=>(0,G.dispatch)("core/editor").openPublishSidebar?.(),children:(0,l.__)("공개 전 점검하고 발행","editnday")}),(0,f.jsx)(N,{onClick:e,children:(0,l.__)("새 글 시작","editnday")})]})]})}function Vt(){const e=window.editndayConfig?.indexnow,[t,n]=(0,o.useState)(e?.state),[s,a]=(0,o.useState)(!1);if("unset"!==t||!e?.canManage||e?.blocked)return null;const d=async t=>{a(!0);try{const s=await J()({path:"/editnday/v1/indexnow",method:"POST",data:{on:t}});e.state=s.state,window.editndayConfig.autoSend&&(window.editndayConfig.autoSend.indexnow=!!s.available),n(s.state),(0,G.dispatch)("core/notices").createSuccessNotice(t?(0,l.__)("검색엔진에 알리기를 켰어요. 에디튼 → 설정에서 언제든 끌 수 있어요.","editnday"):(0,l.__)("켜지 않았어요. 에디튼 → 설정에서 언제든 켤 수 있어요.","editnday"),{type:"snackbar"})}catch(e){(0,G.dispatch)("core/notices").createErrorNotice(e?.message||(0,l.__)("저장하지 못했어요.","editnday"),{type:"snackbar"})}finally{a(!1)}};return(0,f.jsxs)(w,{className:"ed-ask",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("발행하면 검색엔진에 알릴까요?","editnday")}),(0,f.jsx)("span",{className:"ed-small",children:(0,l.__)("글을 발행하거나 고치면 그 글의 주소를 네이버·Bing 등에 바로 알려서, 새 글을 더 빨리 찾게 해요 (IndexNow). 글 주소만 보내고, 비공개 글은 보내지 않아요. 구글은 이 방식을 받지 않아요.","editnday")}),(0,f.jsxs)("div",{className:"ed-row ed-gap6",children:[(0,f.jsx)(N,{disabled:s,onClick:()=>d(!0),children:(0,l.__)("켜기","editnday")}),(0,f.jsx)(N,{disabled:s,onClick:()=>d(!1),children:(0,l.__)("지금은 안 함","editnday")})]})]})}function Gt(e){const t=new Date(e);return Number.isNaN(t.getTime())?String(e):t.toLocaleString("ko-KR",{month:"long",day:"numeric",weekday:"short",hour:"numeric",minute:"2-digit"})}function Wt({live:e,scheduled:t}){const n=window.editndayConfig?.autoSend||{},s=!e||t,a=[s&&n.published&&(0,l.__)("고친 내용을 에디튼에 보내 초안과 비교해요","editnday"),n.indexnow&&(s?(0,l.__)("글 주소를 Bing·네이버에 바로 알려요","editnday"):(0,l.__)("반영하면 글 주소를 검색엔진에 다시 알려요","editnday"))].filter(Boolean);if(!a.length)return null;let d="";return t?d=(0,l.__)("예약 시간에 발행되면 자동으로:","editnday"):e||(d=(0,l.__)("발행하면 자동으로:","editnday")),(0,f.jsxs)("p",{className:"ed-muted ed-autosend",children:[d,a.join(" · "),"."," ",(0,f.jsx)("a",{href:window.editndayConfig?.settingsUrl,target:"_blank",rel:"noreferrer",children:(0,l.__)("설정에서 끄기","editnday")})]})}function Xt({id:e,alt:t,onDone:n}){const[s,a]=(0,o.useState)(t||""),[d,i]=(0,o.useState)(!1);return(0,f.jsxs)("div",{className:"ed-taskedit",children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0,label:(0,l.__)("대표 이미지 ALT","editnday"),help:(0,l.__)("그림에 무엇이 보이는지 한 문장으로. 검색엔진과 화면 읽기 프로그램이 읽어요.","editnday"),value:s,onChange:a}),(0,f.jsx)(N,{disabled:d||!s.trim(),onClick:async()=>{i(!0);try{await(0,G.dispatch)("core").saveEntityRecord("postType","attachment",{id:e,alt_text:s.trim()}),n()}catch(e){(0,G.dispatch)("core/notices").createErrorNotice(e?.message||(0,l.__)("저장하지 못했어요.","editnday"),{type:"snackbar"})}finally{i(!1)}},children:d?(0,l.__)("저장 중…","editnday"):(0,l.__)("저장","editnday")})]})}function Yt({k:e,st:t,mode:n,extra:s=[],below:a=[]}){const d=(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(Zt,{k:e,st:t,mode:n,extra:s}),a]});return["geo","aeo"].includes(e)||!s.length?d:(0,f.jsxs)(f.Fragment,{children:[d,(0,f.jsx)("div",{className:"ed-row",children:s})]})}function Zt({k:e,st:t,mode:n,extra:s}){if("excerpt"===e)return(0,f.jsx)(p.TextareaControl,{__nextHasNoMarginBottom:!0,rows:3,value:t.excerpt,onChange:e=>Ze({excerpt:e})});if("slug"===e)return(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,value:dt(t.slug),onChange:e=>Ze({slug:e})});if("seo"===e)return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,label:"Fine Keyword",help:(0,l.__)("저장하면 SEO 플러그인 키워드 칸으로 옮겨요","editnday"),value:t.seo.keyword||"",onChange:e=>et("_editnday_seo",{...t.seo,keyword:e})}),y(_.keywordInfo,{keyword:t.seo.keyword||"",setKeyword:e=>et("_editnday_seo",{...t.seo,keyword:e})}),(0,f.jsx)(ut,{keyword:t.seo.keyword,seo:t.seo}),(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,label:(0,l.__)("SEO 제목","editnday"),value:t.seo.title||"",onChange:e=>et("_editnday_seo",{...t.seo,title:e})}),(0,f.jsx)(p.TextareaControl,{__nextHasNoMarginBottom:!0,label:(0,l.__)("SEO 설명","editnday"),rows:3,value:t.seo.description||"",onChange:e=>et("_editnday_seo",{...t.seo,description:e})})]});const a="visible"===n,d=e=>et("_editnday_schema",{...t.schema,...e,mode:n}),i=e=>{gt(Qe("_editnday_schema"),[e]),(0,G.dispatch)("core/notices").createSuccessNotice("faq"===e?(0,l.__)("본문 끝 질문과 답을 바꿨어요.","editnday"):(0,l.__)("본문 앞 요약을 바꿨어요.","editnday"),{type:"snackbar"})},r=(0,f.jsx)("span",{className:"ed-muted",children:a?(0,l.__)("본문 박스를 바로 고쳐도 돼요. 여기서 고쳤다면 [본문에 반영]을 눌러야 본문이 바뀌어요.","editnday"):(0,l.__)("본문에는 안 보여요. 본문에 있는 내용만 남겨 주세요.","editnday")});if("geo"===e)return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(p.TextareaControl,{__nextHasNoMarginBottom:!0,label:a?(0,l.__)("글 앞 요약","editnday"):(0,l.__)("검색봇·AI가 읽는 요약","editnday"),help:(0,l.__)("글 전체를 두세 문장으로. 검색 결과와 AI 답변에 인용되기 좋아요.","editnday"),rows:4,value:t.schema.summary||"",onChange:e=>d({summary:e})}),!a&&window.editndayConfig?.seoPlugin?(0,f.jsx)("span",{className:"ed-muted",children:(0,l.sprintf)(/* translators: %s: window.editndayConfig.seoPlugin */ /* translators: %s: window.editndayConfig.seoPlugin */(0,l.__)('%s가 글 정보를 이미 내고 있어, 같은 글이 두 번 잡히지 않게 요약은 구조화 데이터에 넣지 않아요. AI 인용에 쓰이게 하려면 "본문에 보이게"를 고르세요.',"editnday"),window.editndayConfig.seoPlugin)}):r,(0,f.jsxs)("div",{className:"ed-row",children:[a&&(0,f.jsx)(N,{disabled:!t.schema.summary?.trim(),onClick:()=>i("summary"),children:(0,l.__)("본문에 반영","editnday")}),s]})]});if("aeo"===e){const e=t.schema.faq?.length?t.schema.faq:[{question:"",answer:""}],n=(t,n)=>d({faq:e.map((e,s)=>s===t?{...e,...n}:e)});return(0,f.jsxs)("div",{className:"ed-faq",children:[e.map((t,s)=>(0,f.jsxs)("div",{className:"ed-faq__item is-edit",children:[(0,f.jsx)(p.TextControl,{__nextHasNoMarginBottom:!0,label:(0,l.sprintf)(/* translators: %s: i + 1 */ /* translators: %s: i + 1 */(0,l.__)("질문 %s","editnday"),s+1),placeholder:(0,l.__)("독자가 검색창에 칠 만한 질문","editnday"),value:t.question,onChange:e=>n(s,{question:e})}),(0,f.jsx)(p.TextareaControl,{__nextHasNoMarginBottom:!0,label:(0,l.__)("답","editnday"),rows:3,value:t.answer,onChange:e=>n(s,{answer:e})}),e.length>1&&(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>d({faq:e.filter((e,t)=>t!==s)}),children:(0,l.__)("이 질문 빼기","editnday")})]},s)),r,(0,f.jsxs)("div",{className:"ed-row",children:[e.length<6&&(0,f.jsx)(N,{onClick:()=>d({faq:[...e,{question:"",answer:""}]}),children:(0,l.__)("질문 더하기","editnday")}),a&&(0,f.jsx)(N,{disabled:!e.some(e=>e.question?.trim()&&e.answer?.trim()),onClick:()=>i("faq"),children:(0,l.__)("본문에 반영","editnday")}),s]})]})}return"category"===e?(0,f.jsx)(nt,{}):"tags"===e?(0,f.jsx)("span",{className:"ed-muted",children:t.tags.length?(0,l.__)("워드프레스 태그 칸에 넣었어요. 오른쪽 ‘글’ 설정에서 고칠 수 있어요.","editnday"):(0,l.__)("태그는 오른쪽 ‘글’ 설정의 태그 칸에서 넣어요. 이 글을 찾을 만한 낱말 3~5개면 충분해요.","editnday")}):null}function Qt({url:e,title:t,description:n}){const[s,a]=(0,o.useState)(!1);let d="";try{d=new URL(window.location.href).hostname.replace(/^www\./,"")}catch(e){}return s?(0,f.jsxs)("div",{className:"ed-share",children:[(0,f.jsxs)("div",{className:"ed-share__card",children:[(0,f.jsx)("div",{className:"ed-share__img",style:{backgroundImage:`url("${e}")`},role:"img","aria-label":(0,l.__)("1.91:1로 잘린 대표 이미지","editnday")}),(0,f.jsxs)("div",{className:"ed-share__text",children:[(0,f.jsx)("span",{className:"ed-muted",children:d}),(0,f.jsx)("strong",{children:t||(0,l.__)("(제목 없음)","editnday")}),n&&(0,f.jsx)("span",{className:"ed-share__desc",children:n})]})]}),(0,f.jsxs)("p",{className:"ed-muted",children:[(0,l.__)("카카오톡·페이스북·X 링크는 보통 가운데를 1.91:1(1200×630)로 잘라 보여요. 가장자리의 글자·얼굴이 잘리면 그림을 다시 고르거나 만들어 보세요.","editnday")," ",(0,f.jsx)("button",{type:"button",className:"ed-mini",onClick:()=>a(!1),children:(0,l.__)("닫기","editnday")})]})]}):(0,f.jsx)("button",{type:"button",className:"ed-mini",style:{margin:"6px 0 2px"},onClick:()=>a(!0),children:(0,l.__)("공유될 때 모습 보기","editnday")})}function en(){const e=ft(),t=(0,c.applyFilters)(_.prepublishFixes,null),n=qt(e),s=n.filter(e=>!e.ok),[a,d]=(0,o.useState)(!1),[i,r]=(0,o.useState)(null),u=(()=>{try{const t=JSON.parse(e&&window.wp?.data?.select("core/editor").getEditedPostAttribute("meta")?._editnday_job||"null");return t?t.reviewed?"done":"pending":"none"}catch(e){return"none"}})(),h=["none"!==u&&{ok:"done"===u,label:"done"===u?(0,l.__)("확인할 곳 처리함","editnday"):(0,l.__)("확인할 곳이 남아 있어요 (에디튼 사이드바)","editnday")},{ok:e.categories.length>0,label:e.categories.length?(0,l.sprintf)(/* translators: %s: st.categoryNames.join( ', ' ) */ /* translators: %s: st.categoryNames.join( ', ' ) */(0,l.__)("카테고리: %s","editnday"),e.categoryNames.join(", ")):(0,l.__)("카테고리를 아직 고르지 않았어요 (기본 카테고리만)","editnday"),fix:t&&(async()=>{const e=await t.text(["category"]);r(e.categories?.length?null:{near:e.nearCategories||[],suggest:e.newCategory||""})}),key:"category"},e.memberCategoryNames?.length>0&&{ok:!1,label:(0,l.sprintf)(/* translators: %s: st.memberCategoryNames.join( ', ' ) */ /* translators: %s: st.memberCategoryNames.join( ', ' ) */(0,l.__)("회원 전용 카테고리: %s — 공개해도 회원만 볼 수 있어요 (SureMembers)","editnday"),e.memberCategoryNames.join(", "))},{ok:!s.length,label:s.length?(0,l.sprintf)(/* translators: 1: 통과한 수, 2: 전체 수, 3: 안 된 항목 이름(두 개까지), 4: 더 있으면 " 등" */ /* translators: 1: 통과한 수, 2: 전체 수, 3: 안 된 항목 이름(두 개까지), 4: 더 있으면 " 등" */(0,l.__)("검색·AI 점검 %1$s/%2$s: %3$s%4$s (에디튼 사이드바 → 발행 준비)","editnday"),n.length-s.length,n.length,s.slice(0,2).map(e=>e.label).join(", "),s.length>2?(0,l.__)(" 등","editnday"):""):(0,l.sprintf)(/* translators: %1$s: ko.length, %2$s: ko.length */ /* translators: %1$s: ko.length, %2$s: ko.length */(0,l.__)("검색·AI 점검 %1$s/%2$s","editnday"),n.length,n.length)},{ok:!!e.excerpt,label:e.excerpt?(0,l.__)("발췌문 있음","editnday"):(0,l.__)("발췌문 없음","editnday"),fix:t&&(()=>t.text(["excerpt"]))},{ok:!!e.seo.description,label:e.seo.description?(0,l.__)("SEO 설명 있음","editnday"):(0,l.__)("SEO 설명 없음","editnday"),fix:t&&(()=>t.text(["seo"]))},{ok:!!e.featured,label:e.featured?(0,l.__)("대표 이미지 있음","editnday"):(0,l.__)("대표 이미지 없음","editnday"),fix:t?.featured},(e.schema.faq?.length||e.schema.summary)&&{ok:!0,label:(0,l.sprintf)(/* translators: 1: 만든 데이터 목록 (예: 요약 · 질문 3개), 2: 본문에 안 보일 때 덧붙이는 설명 */ /* translators: 1: 만든 데이터 목록 (예: 요약 · 질문 3개), 2: 본문에 안 보일 때 덧붙이는 설명 */(0,l.__)("검색봇·AI용 데이터: %1$s%2$s","editnday"),[e.schema.summary&&(0,l.__)("요약","editnday"),e.schema.faq?.length&&(0,l.sprintf)(/* translators: %d: 질문 수 */ /* translators: %d: 질문 수 */ 17 (0,l.__)("질문 %d개","editnday"),e.schema.faq.length)].filter(Boolean).join(" · "),"structured"===e.schema.mode?(0,l.__)(" (본문에 안 보임, 에디튼 사이드바에서 고침)","editnday"):"")},(window.editndayConfig?.autoSend?.published||window.editndayConfig?.autoSend?.indexnow)&&{ok:!0,label:(0,l.sprintf)(/* translators: %s: 발행 때 자동으로 하는 일 목록 */ /* translators: %s: 발행 때 자동으로 하는 일 목록 */(0,l.__)("발행되면(예약이면 그 시간에) 자동으로: %s (관리자 메뉴 에디튼에서 끌 수 있어요)","editnday"),[window.editndayConfig.autoSend.published&&(0,l.__)("고친 내용을 에디튼에 보내요","editnday"),window.editndayConfig.autoSend.indexnow&&(0,l.__)("글 주소를 검색엔진에 알려요","editnday")].filter(Boolean).join(" · "))},e.featured&&{ok:!!e.featuredAlt,label:e.featuredAlt?(0,l.__)("대표 이미지 ALT 있음","editnday"):(0,l.__)("대표 이미지 ALT 없음","editnday"),fix:t?.alt}].filter(Boolean),y=h.filter(e=>!e.ok&&e.fix);return(0,f.jsxs)("div",{className:"editnday ed-prepublish",children:[h.map(e=>(0,f.jsxs)("div",{children:[(0,f.jsxs)("div",{className:"ed-task",children:[(0,f.jsx)("span",{className:"ed-circ"+(e.ok?" is-filled":" is-warn"),children:e.ok?(0,f.jsx)(j,{}):"!"}),(0,f.jsx)("span",{className:"ed-task__t",children:e.label}),!e.ok&&e.fix&&(0,f.jsx)("button",{type:"button",className:"ed-mini",disabled:a,onClick:async()=>{d(!0);try{await e.fix()}finally{d(!1)}},children:"category"===e.key?(0,l.__)("고르기","editnday"):(0,l.__)("AI로 만들기","editnday")})]}),"category"===e.key&&i&&!e.ok&&(0,f.jsx)(st,{panel:i,onDone:()=>r(null)})]},e.label)),y.length>1&&(0,f.jsx)("button",{type:"button",className:"ed-ghost",disabled:a,onClick:async()=>{d(!0);try{const n=[!e.categories.length&&"category",!e.excerpt&&"excerpt",!e.seo.description&&"seo"].filter(Boolean);if(n.length){const e=await t.text(n);n.includes("category")&&!e.categories?.length&&r({near:e.nearCategories||[],suggest:e.newCategory||""})}e.featured||await t.featured(),await t.alt().catch(()=>{})}finally{d(!1)}},children:a?(0,l.__)("만드는 중…","editnday"):(0,l.__)("남은 것 모두 하기","editnday")})]})}const tn=window.wp.plugins,nn=window.wp.domReady;var sn=n.n(nn);const an=()=>"undefined"!=typeof window&&window.speechSynthesis?window.speechSynthesis:null;function dn({result:e}){const[t,n]=(0,o.useState)(!1),[s,a]=(0,o.useState)(null);if((0,o.useEffect)(()=>()=>an()?.cancel(),[]),!t)return(0,f.jsx)("button",{type:"button",className:"ed-link ed-sentences__toggle",onClick:()=>n(!0),children:(0,l.__)("문장별로 보기","editnday")});const d=new Set(e.issues.filter(e=>["long_sentence","many_clauses","adverb_heavy"].includes(e.rule)).map(e=>e.sentence));return(0,f.jsxs)("div",{className:"ed-sentences",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("문장별로 보기","editnday")}),(0,f.jsx)("button",{type:"button",className:"ed-link ed-muted",onClick:()=>{an()?.cancel(),a(null),n(!1)},children:(0,l.__)("접기","editnday")})]}),(0,f.jsx)("span",{className:"ed-small",children:(0,l.__)("한 줄에 한 문장이에요. 한 호흡(60자)을 넘으면 노랑, 100자를 넘으면 빨강. 소리 내어 읽어 어색하면 나눠요.","editnday")}),e.sections.map(e=>{const t=je(e.text);return t.length?(0,f.jsxs)("div",{className:"ed-sentences__sec",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsxs)("strong",{className:"ed-sentences__h",children:[e.heading||(0,l.__)("도입","editnday"),(0,f.jsxs)("span",{className:"ed-muted",children:[" · ",(0,l.sprintf)(/* translators: %d: 문장 수 */ /* translators: %d: 문장 수 */ 18 (0,l.__)("%d문장","editnday"),t.length)]})]}),an()&&(0,f.jsx)("button",{type:"button",className:"ed-mini",onClick:()=>(e=>{const t=an();if(!t)return;if(s===e.id)return t.cancel(),void a(null);t.cancel();const n=new window.SpeechSynthesisUtterance((e.heading?e.heading+". ":"")+je(e.text).join(" "));n.lang="ko-KR",n.rate=1,n.onend=()=>a(null),n.onerror=()=>a(null),a(e.id),t.speak(n)})(e),"aria-pressed":s===e.id,children:s===e.id?(0,l.__)("멈추기","editnday"):(0,l.__)("읽어 주기","editnday")})]}),t.map((e,t)=>{let n="";return e.length>100?n=" is-long":e.length>60&&(n=" is-breath"),(0,f.jsxs)("button",{type:"button",className:`ed-sentences__s${n}${d.has(e)?" is-flag":""}`,onClick:()=>_e(e),title:(0,l.__)("본문에서 보기","editnday"),children:[(0,f.jsx)("span",{className:"ed-sentences__n",children:e.length}),(0,f.jsx)("span",{children:e})]},t)})]},e.id):null})]})}const ln={da:(0,l.__)("-다","editnday"),yo:(0,l.__)("-요","editnday"),sumnida:(0,l.__)("-습니다","editnday")},rn=[{id:"ai",rules:["banned_phrase"],label:(0,l.__)("AI가 쓴 티가 나는 표현","editnday"),hint:(0,l.__)('상투적인 칭찬, 글을 소개하는 문장, "결론적으로" 같은 정리 말은 빼거나 내 말로 바꿔요.',"editnday")},{id:"spell",rules:["common_mistake"],label:(0,l.__)("자주 틀리는 표현","editnday"),hint:(0,l.__)("몇일 → 며칠, 되요 → 돼요, 컨텐츠 → 콘텐츠처럼 자주 틀리는 표현을 표준 표기로 고쳐요. 맞춤법 전체를 보지는 않아요.","editnday")},{id:"ending",rules:["ending_mixed"],label:(0,l.__)("어미 섞임","editnday"),hint:e=>e.ending?(0,l.sprintf)(/* translators: %s: ENDING_LABEL[ r.ending ] */ /* translators: %s: ENDING_LABEL[ r.ending ] */(0,l.__)("이 글은 대부분 '%s'로 끝나요. 다른 어미로 끝난 문장을 맞춰요.","editnday"),ln[e.ending]):(0,l.__)("문장이 더 쌓이면 어미를 봐요.","editnday")},{id:"similar",rules:["repeated_sentence"],label:(0,l.__)("닮은 문장","editnday"),hint:(0,l.__)("앞에서 한 말을 다시 하고 있어요. 한 곳만 남기거나 다르게 써요.","editnday")},{id:"repeat",rules:["repetition"],label:(0,l.__)("같은 표현 되풀이","editnday"),hint:(0,l.__)("같은 말이 세 번 넘게 나와요. 몇 곳은 다른 말로 바꿔요.","editnday")},{id:"start",rules:["same_start"],label:(0,l.__)("같은 말로 시작하는 문장","editnday"),hint:(0,l.__)('"또한 … 또한 …"처럼 이어지면 단조로워요. 접속어를 빼거나 순서를 바꿔요.',"editnday")},{id:"long",rules:["long_sentence"],label:(0,l.__)("긴 문장","editnday"),hint:(0,l.__)("100자가 넘는 문장은 모바일에서 읽기 힘들어요. 둘로 나눠요.","editnday")},{id:"adverb",rules:["adverb_heavy"],label:(0,l.__)("부사 몰림","editnday"),hint:(0,l.__)("한 문장에 정말·너무·아주 같은 부사가 둘 넘게 있어요. 빼도 뜻이 바뀌지 않으면 빼요. 부사가 빠질수록 담백해져요.","editnday")},{id:"clauses",rules:["many_clauses"],label:(0,l.__)("이어 붙인 문장","editnday"),hint:(0,l.__)("'-고, -는데, -지만'으로 절이 네 개 넘게 이어졌어요. 정보 하나에 문장 하나로 나누면 읽는 사람이 놓치지 않아요.","editnday")},{id:"para",rules:["long_paragraph"],label:(0,l.__)("긴 단락","editnday"),hint:(0,l.__)("한 단락이 500자를 넘으면 화면이 글자로 가득해요. 나눠요.","editnday")},{id:"number",rules:["number_format"],label:(0,l.__)("숫자 표기","editnday"),hint:(0,l.__)("큰 수를 쉼표 있게도 없게도 썼어요. 한 가지로 맞춰요.","editnday")},{id:"foreign",rules:["foreign_script"],label:(0,l.__)("일본어·한자 섞임","editnday"),hint:(0,l.__)("한국어 글에 일본어나 한자가 섞였어요.","editnday")},{id:"alt",rules:["image_alt"],label:(0,l.__)("대체 텍스트 없는 이미지","editnday"),hint:(0,l.__)("검색엔진과 화면 읽기 프로그램이 그림을 이해하게 대체 텍스트(ALT)를 적어요.","editnday")}],on="editnday_textcheck_off",cn=()=>{try{return JSON.parse(window.localStorage.getItem(on)||"[]")}catch(e){return[]}},un=e=>{try{window.localStorage.setItem(on,JSON.stringify(e))}catch(e){}};function hn(){const e=(0,G.useSelect)(e=>e("core/block-editor").getBlocks(),[]),[t,n]=(0,o.useState)(()=>Je(e));(0,o.useEffect)(()=>{const t=setTimeout(()=>n(Je(e)),800);return()=>clearTimeout(t)},[e]);const[s,a]=(0,o.useState)(cn),[d,i]=(0,o.useState)(!1),[r,c]=(0,o.useState)(null);if(t.metrics.chars<50)return(0,f.jsxs)(w,{className:"ed-koseo",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("한국어 글 점검","editnday")}),(0,f.jsx)("span",{className:"ed-small",children:(0,l.__)("본문을 쓰면 여기서 바로 점검해요.","editnday")})]});const u=rn.filter(e=>!s.includes(e.id)).map(e=>({...e,issues:t.issues.filter(t=>e.rules.includes(t.rule))})),h=u.filter(e=>!e.issues.length).length,m=u.filter(e=>e.issues.length),p=d?u:m;return(0,f.jsxs)(w,{className:"ed-koseo ed-textcheck",children:[(0,f.jsxs)("div",{className:"ed-row ed-between",children:[(0,f.jsx)("span",{className:"ed-lbl",children:(0,l.__)("한국어 글 점검","editnday")}),(0,f.jsx)("span",{className:"ed-koseo__score"+(m.length?"":" is-ok"),children:(0,l.sprintf)(/* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */ /* translators: 1: 전체 항목 수, 2: 통과한 항목 수 */ 19 (0,l.__)("%1$d개 중 %2$d개 통과","editnday"),u.length,h)})]}),p.map(e=>{const n=r===e.id,d="function"==typeof e.hint?e.hint(t):e.hint;return(0,f.jsxs)("div",{className:"ed-koseo__item",children:[(0,f.jsx)("span",{className:"ed-circ"+(e.issues.length?" is-warn":" is-filled"),children:e.issues.length?"!":(0,f.jsx)(j,{})}),(0,f.jsxs)("span",{className:"ed-koseo__body",children:[(0,f.jsxs)("button",{type:"button",className:"ed-koseo__head ed-textcheck__head","aria-expanded":n,disabled:!e.issues.length,onClick:()=>c(n?null:e.id),children:[(0,f.jsx)("span",{className:"ed-koseo__label",children:e.label}),(0,f.jsx)("span",{className:"ed-koseo__who",children:e.issues.length?(0,l.sprintf)(/* translators: %s: it.issues.length */ /* translators: %s: it.issues.length */(0,l.__)("%s곳","editnday"),e.issues.length):(0,l.__)("없음","editnday")})]}),n&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("span",{className:"ed-koseo__hint",children:d}),e.issues.slice(0,5).map((e,t)=>(0,f.jsxs)("button",{type:"button",className:"ed-textcheck__sent",onClick:()=>{var t;(t=e).clientId?(0,G.dispatch)("core/block-editor").selectBlock(t.clientId):_e(t.sentence)||(0,G.dispatch)("core/notices").createWarningNotice((0,l.__)("본문에서 문장을 찾지 못했어요","editnday"),{type:"snackbar"})},title:(0,l.__)("본문에서 보기","editnday"),children:[["common_mistake","adverb_heavy","many_clauses"].includes(e.rule)&&(0,f.jsxs)("strong",{children:[e.detail," · "]}),e.sentence.length>70?`${e.sentence.slice(0,70)}…`:e.sentence]},t)),e.issues.length>5&&(0,f.jsx)("span",{className:"ed-muted",children:(0,l.sprintf)(/* translators: %d: 더 있는 곳 수 */ /* translators: %d: 더 있는 곳 수 */ 20 (0,l.__)("그 밖에 %d곳","editnday"),e.issues.length-5)}),(0,f.jsx)("button",{type:"button",className:"ed-link ed-muted",onClick:()=>(e=>{const t=s.includes(e)?s.filter(t=>t!==e):[...s,e];a(t),un(t)})(e.id),children:(0,l.__)("이 항목 점검 끄기","editnday")}),y(_.checkItemActions,{item:e.id,issues:e.issues}),"number"!==e.id&&(0,f.jsx)(K,{label:(0,l.__)("AI로 고치기","editnday")})]})]})]},e.id)}),!m.length&&!d&&(0,f.jsx)("span",{className:"ed-small",children:(0,l.__)("모두 좋아요.","editnday")}),(0,f.jsx)(dn,{result:t}),(0,f.jsxs)("div",{className:"ed-koseo__foot",children:[(0,f.jsx)("button",{type:"button",className:"ed-link",onClick:()=>i(!d),children:d?(0,l.__)("고칠 것만 보기","editnday"):(0,l.sprintf)(/* translators: %s: okN */ /* translators: %s: okN */(0,l.__)("통과한 것도 보기 (%s)","editnday"),h)}),s.length>0&&(0,f.jsx)("button",{type:"button",className:"ed-link ed-muted",onClick:()=>{a([]),un([])},children:(0,l.sprintf)(/* translators: %d: 꺼 둔 항목 수 */ /* translators: %d: 꺼 둔 항목 수 */ 21 (0,l.__)("꺼 둔 항목 %d개 다시 켜기","editnday"),s.length)}),(0,f.jsx)("span",{className:"ed-muted",children:(0,l.__)("문장을 누르면 본문에서 보여 줘요. 맞춤법 전체가 아니라 자주 틀리는 표현만 봐요.","editnday")})]})]})}function yn(){const e=ft();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(A,{eyebrow:(0,l.__)("글 점검","editnday"),title:(0,l.__)("이 글을 점검해요","editnday"),sub:(0,l.__)("쓰는 동안 문장과 검색을 함께 봐요. 글을 고치면 잠깐 뒤 다시 점검해요.","editnday")}),(0,f.jsx)(hn,{}),(0,f.jsx)(Lt,{st:e}),(0,f.jsx)(z,{})]})}function mn(){const e=(0,G.useSelect)(e=>!e("core/editor").isEditedPostEmpty(),[]),t=(0,G.useSelect)(e=>["publish","future","private"].includes(e("core/editor").getEditedPostAttribute("status")),[]),[n,s]=(0,o.useState)(null),a=[{id:"check",label:(0,l.__)("글 점검","editnday"),render:e=>(0,f.jsx)(yn,{api:e})},{id:"publish",label:(0,l.__)("발행 준비","editnday"),render:e=>(0,f.jsx)(Jt,{onNew:()=>h()?m(u.newPost):window.location.href="post-new.php",onCheck:()=>e.goTab("check")})}],d=y(_.tabs,{free:a}),i=d.length?d:a,r=(0,o.useRef)(!1),c=e=>{r.current||(r.current=!0,s(e))},p=i.some(e=>e.decides);(0,o.useEffect)(()=>{p||c(t&&e&&!(()=>{try{return!!JSON.parse((0,G.select)("core/editor").getEditedPostAttribute("meta")?._editnday_job||"null")?.id}catch(e){return!1}})()?"publish":"check")},[p,t,e]);const g=n??i[0].id,x=y(_.notice,{tab:g});return(0,f.jsxs)("div",{className:"editnday ed-body",children:[x,(0,f.jsx)(v,{tabs:i.map(e=>[e.id,e.label]),value:g,onChange:s}),i.map(e=>{const t=e.id===g;return t||e.keepMounted?(0,f.jsx)(o.Fragment,{children:e.render({active:t,goTab:s,onDecide:c})},e.id):null})]})}window.editnday=Object.freeze({...d,...i,...s,...a});const pn=()=>(0,f.jsx)(x,{size:18}),gn=()=>(0,f.jsxs)("div",{className:"editnday-header",children:[(0,f.jsx)("img",{src:window.editndayConfig?.wordmark,alt:(0,l.__)("에디튼","editnday"),height:"18"}),(0,f.jsxs)("span",{className:"editnday-header__ver",children:["v",window.editndayConfig?.version]}),h()&&(0,f.jsxs)("span",{className:"editnday-header__pro",title:(0,l.__)("에디튼 프로","editnday"),children:["P",window.editndayConfig?.proVersion&&(0,f.jsx)("span",{className:"editnday-header__prover",children:window.editndayConfig.proVersion})]})]});sn()(()=>(0,tn.registerPlugin)("editnday",{render:()=>(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(r.PluginSidebarMoreMenuItem,{target:"editnday-sidebar",icon:(0,f.jsx)(pn,{}),children:(0,l.__)("에디튼","editnday")}),(0,f.jsx)(r.PluginSidebar,{name:"editnday-sidebar",title:(0,l.__)("에디튼","editnday"),icon:(0,f.jsx)(pn,{}),header:(0,f.jsx)(gn,{}),children:(0,f.jsx)(mn,{})}),(0,f.jsx)(r.PluginPrePublishPanel,{title:(0,l.__)("에디튼 발행 점검","editnday"),initialOpen:!0,icon:(0,f.jsx)(pn,{}),children:(0,f.jsx)(en,{})})]})}))}};const t={};function n(s){const a=t[s];if(void 0!==a)return a.exports;const d=t[s]={exports:{}};return e[s](d,d.exports,n),d.exports}n.m=e,(()=>{const e=[];n.O=(t,s,a)=>{if(!s){for(var d=0;d<e.length;d++){let[s,a]=e[d],l=!0;for(var i=0;i<s.length;i++)n.O.j(s[i])?s.splice(i--,1):l=!1;if(l){e.splice(d--,1);const n=a();void 0!==n&&(t=n)}}return t}e.push([s,a])}})(),n.n=e=>{const t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var s in t)n.o(t,s)&&!n.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},n.o=(e,t)=>Object.hasOwn(e,t),n.r=e=>{Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{const e={57:0,350:0};n.O.j=t=>0===e[t];const t=(t,s)=>{let[a,d,i]=s;var l,r,o=0;if(a.some(t=>0!==e[t])){for(l in d)n.o(d,l)&&(n.m[l]=d[l]);if(i)var c=i(n)}for(t&&t(s);o<a.length;o++)r=a[o],n.o(e,r)&&e[r]&&e[r][0](),e[r]=0;return n.O(c)},s=globalThis.webpackChunk_editnday_plugin||=[];s.forEach(t.bind(null,0)),s.push=t.bind(null,s.push.bind(s))})();let s=n.O(void 0,[350],()=>n(786));s=n.O(s)})(); -
editnday/trunk/build/style-index-rtl.css
r3742866 r3747744 1 .editnday{color:#243235;font-size:12px;letter-spacing:-.01em}.editnday *{box-sizing:border-box}.editnday.ed-body{background:#f4f5f5;display:flex;flex-direction:column;gap:8px;min-height:100%;padding:12px 12px 0}.editnday .ed-head{display:flex;flex-direction:column;gap:4px;padding:2px 0}.editnday .ed-eyebrow{color:#8b9698;font-size:11px;font-weight:500}.editnday .ed-h{color:#111416;font-size:15px;font-weight:600;letter-spacing:-.02em;line-height:1.4;margin:0}.editnday .ed-sub{color:#56676a;font-size:11.5px;line-height:1.55;margin:0}.editnday .ed-card{background:#fff;border-radius:10px;display:flex;flex-direction:column;gap:7px;min-width:0;padding:10px}.editnday .ed-lbl{color:#56676a;font-size:11px;font-weight:600}.editnday .ed-muted{color:#8b9698;font-size:11px}.editnday .ed-small{font-size:12px;line-height:1.5}.editnday .ed-strong{font-weight:600}.editnday .ed-dim{color:#56676a}.editnday .ed-faint{color:#c8cfd0}.editnday .ed-row{align-items:center;display:flex;gap:8px;min-width:0}.editnday .ed-between{justify-content:space-between}.editnday .ed-gap6{gap:6px;margin-top:3px}.editnday .components-text-control__input,.editnday .components-textarea-control__input{border-color:#e1e5e5;border-radius:7px;font-size:12px}.editnday .components-base-control__label{color:#56676a;font-size:11px;font-weight:600;text-transform:none}.editnday .ed-chips{display:flex;flex-wrap:wrap;gap:6px}.editnday .ed-chip{align-items:center;background:#fff;border:1px solid #e1e5e5;border-radius:999px;color:#56676a;cursor:pointer;display:inline-flex;font:inherit;font-size:11px;gap:4px;height:24px;padding:0 9px;white-space:nowrap}.editnday .ed-chip .ed-chip__lock{background:rgba(0,0,0,.08);border-radius:999px;font-size:10px;line-height:16px;padding:0 5px}.editnday .ed-chip.is-on .ed-chip__lock{background:hsla(0,0%,100%,.22)}.editnday .ed-chip.is-lav{background:#e6d6f7;border-color:#e6d6f7}.editnday .ed-chip.is-static{cursor:default}.editnday .ed-chip.is-static b{color:#243235}.editnday .ed-tag{align-items:center;background:#f4f5f5;border-radius:999px;color:#56676a;display:inline-flex;font-size:10px;font-weight:600;height:18px;padding:0 7px;white-space:nowrap}.editnday .ed-tag.is-lav{background:#e6d6f7}.editnday .ed-cta{border:0;border-radius:999px;color:#fff;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;height:38px;position:relative;width:100%}.editnday .ed-cta:disabled{background:#c8cfd0;cursor:not-allowed}.editnday .ed-cta .ed-cta__dot{align-items:center;background:#d3b7f1;border-radius:999px;display:flex;justify-content:center;position:absolute;left:4px;top:4px}.editnday .ed-ghost{background:transparent;border:1px solid #c8cfd0;border-radius:999px;color:#243235;cursor:pointer;font:inherit;font-size:12px;font-weight:500;width:100%}.editnday .ed-iconbtn{background:transparent;border:0;color:#56676a;cursor:pointer;font-size:16px;height:24px;line-height:1;width:24px}.editnday .ed-foot{background:#f4f5f5;border-top:1px solid #e9ecec;bottom:0;display:flex;flex-direction:column;gap:8px;margin:auto -12px 0;padding:10px 12px 12px;position:sticky}.editnday .ed-steps{display:flex;flex-direction:column;gap:9px}.editnday .ed-step{align-items:center;display:flex;font-size:12px;gap:8px;min-width:0}.editnday .ed-step.is-now{font-weight:600}.editnday .ed-step.is-todo{color:#8b9698}.editnday .ed-step .ed-step__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-circ{align-items:center;background:#fff;border:1.5px solid #c8cfd0;border-radius:999px;display:flex;flex:none;height:18px;justify-content:center;width:18px}.editnday .ed-step.is-done .ed-circ{background:#243235;border-color:#243235}.editnday .ed-step.is-now .ed-circ{background:#f3ecfb;border-color:#b48fe0}.editnday .ed-bar{background:#e9ecec;border-radius:999px;display:flex;height:8px;overflow:hidden}.editnday .ed-bar .ed-bar__fill{background:#243235;border-radius:999px;transition:width .4s ease}.editnday .ed-bar .ed-bar__hatch{background:repeating-linear-gradient(-135deg,#d3b7f1 0 6px,transparent 6px 10px);flex:1}.editnday .ed-stats{display:flex;gap:8px}.editnday .ed-stat{background:#fff;border-radius:10px;display:flex;flex:1;flex-direction:column;gap:4px;min-width:0;padding:8px 9px}.editnday .ed-stat .ed-muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-stat__n{color:#111416;font-size:17px;font-weight:600;letter-spacing:-.02em}.editnday .ed-big{color:#111416;font-size:24px;font-weight:600;letter-spacing:-.03em}.editnday .ed-note{background:#fff;border-radius:10px;color:#56676a;font-size:11px;line-height:1.55;padding:8px 10px}.editnday .ed-pastpost{align-items:center;background:#f4f5f5;border-radius:8px;display:flex;gap:8px;padding:8px 10px}.editnday .ed-pastpost>div{flex:1;min-width:0}.editnday .ed-found{background:transparent;border:0;color:#243235;cursor:pointer;font:inherit;font-size:12px;padding:4px 2px;text-align:right}.editnday .ed-found:hover{background:#f4f5f5}.editnday .ed-cov{align-items:flex-start;display:flex;font-size:12px;gap:7px;line-height:1.45}.editnday .ed-cov .ed-cov__q{flex:1;min-width:0}.editnday .ed-covdot{border-radius:999px;flex:none;height:8px;margin-top:5px;width:8px}.editnday .ed-covdot.is-full{background:#243235}.editnday .ed-covdot.is-half{background:linear-gradient(-90deg,#243235 50%,#d3b7f1 0)}.editnday .ed-covdot.is-empty{border:1.5px solid #b48fe0}.editnday .ed-radio{align-items:flex-start;background:#fff;border:1px solid #e9ecec;border-radius:7px;cursor:pointer;display:flex;font-size:12px;gap:7px;line-height:1.45;padding:7px 9px}.editnday .ed-radio input{opacity:0;pointer-events:none;position:absolute}.editnday .ed-rdot{align-items:center;border:1.5px solid #c8cfd0;border-radius:999px;display:flex;flex:none;height:15px;justify-content:center;margin-top:1px;width:15px}.editnday .ed-radio.is-on .ed-rdot{border-color:#243235}.editnday .ed-radio.is-on .ed-rdot:after{background:#243235;border-radius:999px;content:"";height:7px;width:7px}.editnday .ed-sec{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;gap:8px;padding:8px 0}.editnday .ed-sec:first-of-type{border-top:0}.editnday .ed-sec .ed-sec__body{flex:1;min-width:0}.editnday .ed-num{align-items:center;background:#f4f5f5;border-radius:999px;color:#56676a;display:flex;flex:none;font-size:10px;font-weight:700;height:18px;justify-content:center;width:18px}.editnday .ed-video{border-top:1px solid #e9ecec;display:flex;flex-direction:column;gap:8px;padding:10px 0}.editnday .ed-video__head{margin-top:6px}.editnday .ed-video__bar{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between}.editnday .ed-video__actions{display:flex;flex-shrink:0;gap:12px}.editnday .ed-video .ed-link{white-space:nowrap}.editnday .ed-fact{display:flex;flex-direction:column;gap:2px;padding:6px 0 0}.editnday .ed-review__head{align-items:center;background:transparent;border:0;cursor:pointer;display:flex;font:inherit;justify-content:space-between;padding:0}.editnday .ed-quote{background:#f3ecfb;border-radius:8px;color:#111416}.editnday .ed-fix,.editnday .ed-quote{font-size:12px;line-height:1.55;padding:8px 10px}.editnday .ed-fix{border:1px dashed #b48fe0;border-radius:8px}.editnday .ed-seg{display:flex;gap:6px}.editnday .ed-segb{background:#fff;border:1px solid #e1e5e5;border-radius:999px;color:#56676a;cursor:pointer;flex:1;font:inherit;font-size:11px;height:26px}.editnday .ed-segb.is-on{background:#243235;border-color:#243235;color:#fff}.editnday.ed-wide .components-modal__content{background:#f4f5f5}.editnday.ed-wide .ed-wide__body{align-items:start;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:782px){.editnday.ed-wide .ed-wide__body{grid-template-columns:minmax(0,1fr)}}.editnday.ed-wide .ed-sections{grid-row:span 3}.editnday.ed-wide .ed-wide__foot{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.editnday.ed-wide .ed-wide__foot .ed-ghost{padding:0 20px;width:auto}.editnday.ed-wide .ed-wide__foot .ed-cta{width:280px}.editor-header button[aria-controls="editnday:editnday-sidebar"].is-pressed,.interface-pinned-items button[aria-controls="editnday:editnday-sidebar"].is-pressed{background:#243235}.editor-header button[aria-controls="editnday:editnday-sidebar"].is-pressed svg path,.interface-pinned-items button[aria-controls="editnday:editnday-sidebar"].is-pressed svg path{fill:#d3b7f1}.editnday .ed-tasks{gap:0}.editnday .ed-taskwrap{border-top:1px solid #f0f2f2;display:flex;flex-direction:column;gap:6px;padding:7px 0}.editnday .ed-taskwrap:first-child{border-top:0;padding-top:0}.editnday .ed-task{align-items:center;display:flex;font-size:12px;gap:8px;min-width:0}.editnday .ed-task .ed-task__t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.editnday .ed-task .ed-task__t>.ed-muted{display:block;font-size:11px;line-height:1.35}.editnday .ed-tasks>.ed-task{border-top:1px solid #f0f2f2;padding-top:7px}.editnday .ed-circ.is-filled{background:#243235;border-color:#243235}.editnday .ed-circ.is-warn{background:#f3ecfb;border-color:#b48fe0}.editnday .ed-mini{background:#fff;border:1px solid #c8cfd0;border-radius:999px;color:#243235;cursor:pointer;flex:none;font:inherit;font-size:11px;height:24px;padding:0 9px}.editnday .ed-mini.is-plain{border-color:transparent;text-decoration:underline}.editnday .ed-mini.is-done{background:#f3ecfb;border-color:#e6d6f7}.editnday .ed-mini:disabled{cursor:default;opacity:.5}.editnday .ed-redo{display:flex;flex-direction:column;gap:8px}.editnday .ed-redo__title{align-items:center;display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:space-between;margin-top:-2px}.editnday .ed-redo__title>.ed-link{flex-basis:100%;text-align:right}.editnday .ed-redo__title .ed-chips{flex-wrap:nowrap}.editnday .ed-redo__actions{display:flex;flex-direction:column;gap:6px}.editnday .ed-redo .ed-link{align-self:flex-start;white-space:nowrap}.editnday .ed-band{background:#f3ecfb;border-radius:8px;font-size:12px;line-height:1.5;padding:8px 10px}.editnday .ed-band.is-warn{background:#fcf0e3;color:#5c3300}.editnday .ed-band a{font-weight:600}.editnday .ed-prohint{align-self:center;background:none;border:0;color:#6c48b5;cursor:pointer;flex:none;font:inherit;font-size:11px;padding:0;white-space:nowrap}.editnday .ed-prohint:hover{text-decoration:underline}.editnday .ed-prohint__tag{background:#243235;border-radius:999px;color:#e6d6f7;display:inline-block;font-size:9px;font-weight:700;letter-spacing:.06em;line-height:14px;padding:0 5px;vertical-align:1px}.editnday .ed-prohint-row{margin:-4px 30px 6px 0}.editnday .ed-procard{border:1px dashed #d3b7f1}.editnday .ed-koseo__body>.ed-prohint,.editnday .ed-redo>.ed-prohint{align-self:flex-start}.editnday .ed-tpl{border-top:1px dashed #e0e0e0; flex-direction:column;padding-top:8px}.editnday .ed-tpl,.editnday .ed-tpl__swatches{display:flex;gap:6px}.editnday .ed-tpl__sw{border:1px solid rgba(0,0,0,.12);border-radius:8px;cursor:pointer;font-size:13px;font-weight:800;height:32px;width:32px}.editnday .ed-tpl__sw.is-on{box-shadow:0 0 0 2px #fff,0 0 0 4px #8e6bd1}.editnday .ed-tabs{background:#eef0f0;border-radius:999px;display:flex;gap:4px;margin:0 0 12px;padding:4px}.editnday .ed-tab{background:transparent;border:0;border-radius:999px;color:#5f6969;cursor:pointer;flex:1;font:inherit;font-size:12px;height:30px;padding:0 6px;white-space:nowrap}.editnday .ed-tab.is-on{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08);color:#243235;font-weight:600}.editnday .ed-tab:focus-visible{outline:2px solid #b48fe0}.editnday .ed-seomode{font-size:11px;line-height:1.5;margin:0 2px 10px}.editnday .ed-more{align-self:flex-start;margin:2px 2px 8px}.editnday .ed-autosend{font-size:11px;line-height:1.5;margin:4px 2px 0}.editnday .ed-autosend a{color:inherit}.editnday .ed-thumb{aspect-ratio:16/9;border-radius:8px;object-fit:cover;width:100%}.editnday .ed-serp{background:#fff;border:1px solid #e9ecec;border-radius:10px;display:flex;flex-direction:column;gap:3px;padding:10px}.editnday .ed-serp .ed-serp__u{color:#4d5156;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-serp .ed-serp__t{color:#1a0dab;font-size:14px;line-height:1.35}.editnday .ed-serp .ed-serp__d{color:#4d5156;font-size:11.5px;line-height:1.5}.editnday .ed-serp.is-naver .ed-serp__t{color:#001aad;font-weight:600}.editnday .ed-faq{display:flex;flex-direction:column;gap:8px}.editnday .ed-faq__item{display:flex;flex-direction:column;gap:2px}.editnday .ed-link{background:none;border:0;color:#243235;cursor:pointer;font:inherit;padding:0;text-decoration:underline}.editnday .ed-faq__item.is-edit{border-bottom:1px solid #f0f2f2;gap:6px;padding-bottom:8px}.editnday .ed-note.is-error{color:#c2463b}.editnday.ed-prepublish{display:flex;flex-direction:column;gap:8px}.interface-complementary-area:has(.editnday.ed-body),.interface-complementary-area:has(.editnday.ed-body) .components-panel{background:#f4f5f5}@keyframes ed-pulse{0%{box-shadow:0 0 0 0 rgba(180,143,224,.6)}70%{box-shadow:0 0 0 7px rgba(180,143,224,0)}to{box-shadow:0 0 0 0 rgba(180,143,224,0)}}@keyframes ed-hatch{0%{background-position:100% 0}to{background-position:right 28px top 0}}.editnday .ed-live{align-items:center;background:#f3ecfb;border-radius:10px;display:flex;font-size:11.5px;gap:8px;min-width:0;padding:8px 10px}.editnday .ed-live .ed-live__t{color:#243235;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-live .ed-elapsed{flex:none;font-variant-numeric:tabular-nums}.editnday .ed-pulse{background:#b48fe0;border-radius:999px;flex:none;height:8px;width:8px}.editnday .ed-pulse,.editnday .ed-step.is-now .ed-circ{animation:ed-pulse 1.4s ease-out infinite}.editnday .ed-bar.is-busy .ed-bar__hatch{animation:ed-hatch 1.2s linear infinite}@media(prefers-reduced-motion:reduce){.editnday .ed-bar.is-busy .ed-bar__hatch,.editnday .ed-pulse,.editnday .ed-step.is-now .ed-circ{animation:none}}.editnday-header{align-items:center;display:flex;flex:1;gap:8px;min-width:0}.editnday-header img{display:block;height:18px;width:auto}.editnday-header .editnday-header__ver{color:#8b9698;font-size:10.5px;font-variant-numeric:tabular-nums}.editnday-header .editnday-header__pro{background:#243235;border-radius:999px;color:#e6d6f7;font-size:9.5px;font-weight:700;letter-spacing:.06em;line-height:14px;margin-right:-2px;padding:1px 6px}.editnday .ed-busy{align-items:center;color:#243235;display:inline-flex;flex:none;font-size:11px;gap:6px}.editnday .ed-circ.is-busy{animation:ed-pulse 1.4s ease-out infinite;background:#f3ecfb;border-color:#b48fe0}.ed-req,.editnday .ed-req{background:#b48fe0;border-radius:50%;display:inline-block;height:5px;margin-right:4px;vertical-align:middle;width:5px}.ed-opt,.editnday .ed-opt{color:#a3acad;font-size:10px;font-weight:400;margin-right:4px}.editnday :is(.ed-lbl,.components-base-control__label):has(.ed-req){color:#111416;font-weight:700}.editnday :is(.ed-lbl,.components-base-control__label):has(.ed-opt){color:#8b9698;font-weight:500}.editnday :is(.ed-lbl,.components-base-control__label) .ed-muted{font-weight:400}.ed-hint{color:#8b9698;display:block;font-size:11px;margin-bottom:6px}.editnday .ed-small.is-warn{color:#9a5b00;display:block}.editnday .ed-textcheck .ed-textcheck__head{background:none;border:0;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:right;width:100%}.editnday .ed-textcheck .ed-textcheck__head:disabled{cursor:default}.editnday .ed-textcheck .ed-textcheck__sent{background:#f6f2fb;border:1px solid rgba(180,143,224,.45);border-radius:0;color:#3c4646;cursor:pointer;display:block;font:inherit;font-size:11px;line-height:1.5;margin:2px 0;padding:4px 8px;text-align:right;width:100%}.editnday .ed-textcheck .ed-textcheck__sent:hover{background:#efe6f8}.editnday .ed-textcheck .ed-koseo__body>.ed-link{align-self:flex-start;font-size:11px}.editnday .ed-sentences{border-top:1px solid #e1e5e5;display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px}.editnday .ed-sentences .ed-sentences__sec{display:flex;flex-direction:column;gap:2px}.editnday .ed-sentences .ed-sentences__h{color:#243235;font-size:11.5px}.editnday .ed-sentences .ed-sentences__s{align-items:flex-start;background:#fff;border:1px solid #e1e5e5;border-radius:0;color:#3c4646;cursor:pointer;display:flex;font:inherit;font-size:11px;gap:6px;line-height:1.5;margin:0;padding:3px 6px;text-align:right;width:100%}.editnday .ed-sentences .ed-sentences__s:hover{background:#f6f2fb}.editnday .ed-sentences .ed-sentences__s.is-breath{background:#fff9e8;border-color:#e9c46a}.editnday .ed-sentences .ed-sentences__s.is-long{background:#fdf0ec;border-color:#e07a5f}.editnday .ed-sentences .ed-sentences__s.is-flag .ed-sentences__n{color:#b3412a}.editnday .ed-sentences .ed-sentences__n{color:#8b9698;flex:0 0 28px;font-variant-numeric:tabular-nums;text-align:left}.editnday .ed-sentences__toggle{align-self:flex-start;font-size:11px;margin-top:6px}.editnday .ed-koseo .ed-koseo__score{background:#f3ecfb;border-radius:999px;font-size:11px;padding:2px 8px;white-space:nowrap}.editnday .ed-koseo .ed-koseo__score.is-ok{background:#f0f2f2}.editnday .ed-koseo .ed-koseo__kw{align-items:center;display:grid;gap:4px 6px;grid-template-columns:1fr auto}.editnday .ed-koseo .ed-koseo__kw .ed-ghost{padding:0 12px;width:auto}.editnday .ed-koseo .ed-koseo__kw .ed-muted{font-size:11px;grid-column:1/-1}.editnday .ed-koseo .ed-koseo__item{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;font-size:12px;gap:8px;padding-top:7px}.editnday .ed-koseo .ed-koseo__item .ed-circ{flex-shrink:0;margin-top:1px}.editnday .ed-koseo .ed-koseo__body{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.editnday .ed-koseo .ed-koseo__head{align-items:baseline;display:flex;gap:6px;justify-content:space-between}.editnday .ed-koseo .ed-koseo__who{color:#c8cfd0;flex-shrink:0;font-size:10px;white-space:nowrap}.editnday .ed-koseo .ed-koseo__hint{color:#6b7272;font-size:11px;line-height:1.5}.editnday .ed-koseo .ed-koseo__foot{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;flex-direction:column;gap:4px;padding-top:6px}.editnday .ed-koseo .ed-koseo__foot .ed-muted{font-size:11px}.editnday .ed-stepper{display:flex;flex-direction:column;gap:6px;padding:2px 0 6px}.editnday .ed-stepper__flow{align-items:flex-start;display:flex}.editnday .ed-stepper__st{align-items:center;display:flex;flex:none;flex-direction:column;gap:4px;width:64px}.editnday .ed-stepper__dot{align-items:center;background:#fff;border:1.5px solid #c8cfd0;border-radius:50%;color:#8b9698;display:flex;font-size:10px;font-weight:600;height:20px;justify-content:center;width:20px}.editnday .ed-stepper__dot svg{height:11px;width:11px}.editnday .ed-stepper__lbl{color:#8b9698;font-size:10px;line-height:1.25;text-align:center}.editnday .ed-stepper__st.is-done .ed-stepper__dot{background:#243235;border-color:#243235;color:#fff}.editnday .ed-stepper__st.is-done .ed-stepper__lbl{color:#243235}.editnday .ed-stepper__st.is-now .ed-stepper__dot{background:#b48fe0;border-color:#b48fe0;color:#fff}.editnday .ed-stepper__st.is-now .ed-stepper__lbl{color:#243235;font-weight:600}.editnday .ed-stepper__link{align-items:center;display:flex;flex:1;flex-direction:column;gap:2px;min-width:0;padding-top:9px}.editnday .ed-stepper__link .ed-stepper__line{border-top:1.5px dashed #c8cfd0;width:100%}.editnday .ed-stepper__link em{color:#a3acad;font-size:9px;font-style:normal;white-space:nowrap}.editnday .ed-stepper__link.is-done .ed-stepper__line{border-top-color:#243235;border-top-style:solid}.editnday .ed-stepper__link.is-run .ed-stepper__line{animation:ed-stepper-run 1.2s ease-in-out infinite;border-top-color:#b48fe0}.editnday .ed-stepper__link.is-run em{color:#7d55b0;font-weight:600}.editnday .ed-stepper__note{color:#56676a;font-size:11px}@keyframes ed-stepper-run{0%,to{opacity:1}50%{opacity:.35}}.editnday .ed-fold{align-items:baseline;background:none;border:0;color:inherit;cursor:pointer;display:flex;font:inherit;gap:8px;padding:0;text-align:right;width:100%}.editnday .ed-fold .ed-lbl{margin:0}.editnday .ed-fold__v{flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-fold__i{font-size:12px;opacity:.7;text-decoration:underline}.editnday .ed-fold[aria-expanded=true]{margin-bottom:10px}.editnday .ed-preset{font-size:12.5px;margin:-4px 0 10px}.editnday .ed-preset .ed-chips{margin-top:8px}.ed-proinfo ul{list-style:disc;margin:8px 20px 12px 0}.ed-proinfo li{margin-bottom:4px}.ed-proinfo,.editnday{font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Segoe UI,system-ui,sans-serif;letter-spacing:0}.ed-proinfo :not(.ed-covdot):not(.ed-rdot):not(.ed-pulse):not(.ed-cta__dot),.editnday :not(.ed-covdot):not(.ed-rdot):not(.ed-pulse):not(.ed-cta__dot){border-radius:0!important}.editnday{color:#1b1e25}.editnday.ed-body{background:#f6f7f9}.editnday .ed-h{color:#1b1e25;font-weight:650}.editnday .ed-dim,.editnday .ed-muted,.editnday .ed-sub{color:#646c7a}.editnday .ed-lbl{color:#474f5c;font-weight:650}.editnday .ed-card,.editnday .ed-live,.editnday .ed-note,.editnday .ed-pastpost,.editnday .ed-serp,.editnday .ed-stat{background:#fff;border:1px solid #dde0e6;box-shadow:none}.editnday .components-text-control__input,.editnday .components-textarea-control__input,.editnday input[type=text],.editnday input[type=url],.editnday select,.editnday textarea{border:1px solid #7c8494;box-shadow:none}.editnday .components-text-control__input:focus,.editnday .components-textarea-control__input:focus,.editnday textarea:focus{border-color:#243235;box-shadow:0 0 0 1px #243235}.editnday .ed-cta{background:#243235;font-size:13px;font-weight:650;height:36px}.editnday .ed-cta:hover:not(:disabled){background:#1a2527}.editnday .ed-cta:disabled{background:#f0f2f5;border:1px solid #dde0e6;color:#646c7a}.editnday .ed-cta .ed-cta__dot{border-radius:0!important;height:30px;left:3px;top:3px;width:30px}.editnday .ed-ghost{background:#fff;border:1px solid #7c8494;color:#1b1e25;font-weight:600;height:32px}.editnday .ed-ghost:hover:not(:disabled){background:#f0f2f5}.editnday .ed-chip{border:1px solid #7c8494;color:#474f5c;font-weight:500;height:26px}.editnday .ed-chip.is-on{background:#243235;border-color:#243235;color:#fff}.editnday .ed-chip.is-lav{background:#f3ecfb;border-color:#b48fe0;color:#243235}.editnday .ed-tag{background:#fff;border:1px solid #7c8494;color:#474f5c;font-size:10.5px;height:20px;padding:0 6px}.editnday .ed-tag.is-lav{background:#f3ecfb;border-color:#b48fe0;color:#243235}.editnday .ed-tag.is-dark{background:#243235;border-color:#243235;color:#fff}.editnday .ed-stats{background:#fff;border:1px solid #dde0e6;gap:0}.editnday .ed-stat{border:0;border-left:1px solid #dde0e6}.editnday .ed-stat:last-child{border-left:0}.editnday .ed-big,.editnday .ed-koseo__score,.editnday .ed-stat__n{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:0}.editnday .ed-circ{border-radius:0!important}.editnday .ed-bar{background:#f0f2f5}.editnday .ed-note.is-error{background:#fdecea;border:1px solid rgba(180,35,24,.4)}.editnday .ed-segb{border:1px solid #7c8494}.editnday .ed-radio{border:1px solid #dde0e6}.editnday .ed-radio.is-on{border-color:#243235;box-shadow:inset 0 0 0 1px #243235}.ed-proinfo .ed-tabs,.editnday .ed-tabs{background:#fff;border:1px solid #dde0e6;gap:0;padding:0}.ed-proinfo .ed-tab,.editnday .ed-tab{border-left:1px solid #dde0e6;color:#474f5c;height:32px}.ed-proinfo .ed-tab:last-child,.editnday .ed-tab:last-child{border-left:0}.ed-proinfo .ed-tab.is-on,.editnday .ed-tab.is-on{background:#243235;box-shadow:none;color:#fff;font-weight:650}.editnday-header__pro{border-radius:0!important}.editnday .ed-cardhead{align-items:center;background:#fff;border-bottom:1px solid #dde0e6;display:flex;gap:8px;justify-content:space-between;margin:-10px -10px 4px;padding:8px 10px}.editnday .ed-cardhead__t{align-items:center;color:#1b1e25;display:inline-flex;font-size:12.5px;font-weight:650;gap:6px}.editnday .ed-mini.is-strong{background:#243235;border-color:#243235;color:#fff}.editnday .ed-mini.is-strong:disabled{background:#f0f2f5;border-color:#dde0e6;color:#646c7a}.editnday .ed-circ.is-warn{background:#fdf3dc;border-color:#8a5300;color:#8a5300;font-size:11px;font-weight:800;line-height:1}.editnday .ed-kwplace{background:#f0f2f5;border:1px solid #dde0e6;display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:8px 10px}.editnday .ed-kwplace .ed-quote{background:#fff;border:1px solid rgba(180,143,224,.5);color:#1b1e25;display:block;font-size:12px;line-height:1.6;margin:0;padding:6px 8px}.editnday .ed-kwplace .ed-quote.is-new{border-color:rgba(11,122,75,.45)}.editnday .ed-kwfix{display:flex;flex-direction:column;gap:6px;width:100%}.editnday .ed-kwfix .ed-quote{background:#fff;border:1px solid rgba(11,122,75,.45);display:block;font-size:12px;line-height:1.6;padding:6px 8px}.editnday .ed-found.is-on{border-color:#243235;box-shadow:0 0 0 1px #243235}.editnday-header__prover{font-weight:500;letter-spacing:0;margin-right:3px}.ed-kwvol{display:grid;font-size:12px;gap:6px;margin:2px 0 10px}.ed-kwvol p{margin:0}.ed-kwvol__self{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px}.ed-kwvol__comp{border:1px solid #c3c4c7;border-radius:2px;color:#50575e;margin-right:4px;padding:0 6px}.ed-kwvol__comp.is-high{border-color:#d63638;color:#a32022}.ed-kwvol__comp.is-low{border-color:#00a32a;color:#007017}.ed-kwvol__rel{display:grid;gap:4px}.ed-kwvol__chips{display:flex;flex-wrap:wrap;gap:4px}.ed-share{display:grid;gap:6px;margin:6px 0 4px}.ed-share__card{background:#fff;border:1px solid #dcdcde;border-radius:4px;overflow:hidden}.ed-share__img{aspect-ratio:1200/630;background-position:50%;background-size:cover;max-width:100%}.ed-share__text{display:grid;font-size:12px;gap:2px;padding:8px 10px}.ed-share__text strong{font-size:13px;line-height:1.35}.ed-share__desc{color:#50575e;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ed-alttext,.interface-complementary-area .ed-alttext{background:#f6f7f7;border:1px solid #e0e0e0;border-radius:3px;color:#3c434a;font-size:12px;line-height:1.5;margin:2px 30px 8px 0;padding:6px 8px;word-break:keep-all}.ed-aicite .ed-aicite__score{font-variant-numeric:tabular-nums;font-weight:700}.ed-aicite .ed-aicite__score.is-ok{color:#1f8a4c}.ed-aicite .ed-aicite__score.is-warn{color:#996800}.ed-aicite .ed-aicite__score.is-bad{color:#b32d2e}.ed-aicite .ed-aicite__bar{background:#f0f0f1;height:6px;margin:6px 0}.ed-aicite .ed-aicite__bar span{background:#1f8a4c;display:block;height:100%}.ed-aicite .ed-aicite__bar span.is-warn{background:#dba617}.ed-aicite .ed-aicite__bar span.is-bad{background:#d63638}.ed-aicite .ed-aicite__item{align-items:baseline;display:flex;font-size:12px;gap:8px;line-height:1.5;margin:6px 0}.ed-aicite .ed-aicite__pts{color:#1f8a4c;flex:none;font-variant-numeric:tabular-nums;font-weight:700;min-width:28px}1 .editnday{color:#243235;font-size:12px;letter-spacing:-.01em}.editnday *{box-sizing:border-box}.editnday.ed-body{background:#f4f5f5;display:flex;flex-direction:column;gap:8px;min-height:100%;padding:12px 12px 0}.editnday .ed-head{display:flex;flex-direction:column;gap:4px;padding:2px 0}.editnday .ed-eyebrow{color:#8b9698;font-size:11px;font-weight:500}.editnday .ed-h{color:#111416;font-size:15px;font-weight:600;letter-spacing:-.02em;line-height:1.4;margin:0}.editnday .ed-sub{color:#56676a;font-size:11.5px;line-height:1.55;margin:0}.editnday .ed-card{background:#fff;border-radius:10px;display:flex;flex-direction:column;gap:7px;min-width:0;padding:10px}.editnday .ed-lbl{color:#56676a;font-size:11px;font-weight:600}.editnday .ed-muted{color:#8b9698;font-size:11px}.editnday .ed-small{font-size:12px;line-height:1.5}.editnday .ed-strong{font-weight:600}.editnday .ed-dim{color:#56676a}.editnday .ed-faint{color:#c8cfd0}.editnday .ed-row{align-items:center;display:flex;gap:8px;min-width:0}.editnday .ed-between{justify-content:space-between}.editnday .ed-gap6{gap:6px;margin-top:3px}.editnday .components-text-control__input,.editnday .components-textarea-control__input{border-color:#e1e5e5;border-radius:7px;font-size:12px}.editnday .components-base-control__label{color:#56676a;font-size:11px;font-weight:600;text-transform:none}.editnday .ed-chips{display:flex;flex-wrap:wrap;gap:6px}.editnday .ed-chip{align-items:center;background:#fff;border:1px solid #e1e5e5;border-radius:999px;color:#56676a;cursor:pointer;display:inline-flex;font:inherit;font-size:11px;gap:4px;height:24px;padding:0 9px;white-space:nowrap}.editnday .ed-chip .ed-chip__lock{background:rgba(0,0,0,.08);border-radius:999px;font-size:10px;line-height:16px;padding:0 5px}.editnday .ed-chip.is-on .ed-chip__lock{background:hsla(0,0%,100%,.22)}.editnday .ed-chip.is-lav{background:#e6d6f7;border-color:#e6d6f7}.editnday .ed-chip.is-static{cursor:default}.editnday .ed-chip.is-static b{color:#243235}.editnday .ed-tag{align-items:center;background:#f4f5f5;border-radius:999px;color:#56676a;display:inline-flex;font-size:10px;font-weight:600;height:18px;padding:0 7px;white-space:nowrap}.editnday .ed-tag.is-lav{background:#e6d6f7}.editnday .ed-cta{border:0;border-radius:999px;color:#fff;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;height:38px;position:relative;width:100%}.editnday .ed-cta:disabled{background:#c8cfd0;cursor:not-allowed}.editnday .ed-cta .ed-cta__dot{align-items:center;background:#d3b7f1;border-radius:999px;display:flex;justify-content:center;position:absolute;left:4px;top:4px}.editnday .ed-ghost{background:transparent;border:1px solid #c8cfd0;border-radius:999px;color:#243235;cursor:pointer;font:inherit;font-size:12px;font-weight:500;width:100%}.editnday .ed-iconbtn{background:transparent;border:0;color:#56676a;cursor:pointer;font-size:16px;height:24px;line-height:1;width:24px}.editnday .ed-foot{background:#f4f5f5;border-top:1px solid #e9ecec;bottom:0;display:flex;flex-direction:column;gap:8px;margin:auto -12px 0;padding:10px 12px 12px;position:sticky}.editnday .ed-steps{display:flex;flex-direction:column;gap:9px}.editnday .ed-step{align-items:center;display:flex;font-size:12px;gap:8px;min-width:0}.editnday .ed-step.is-now{font-weight:600}.editnday .ed-step.is-todo{color:#8b9698}.editnday .ed-step .ed-step__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-circ{align-items:center;background:#fff;border:1.5px solid #c8cfd0;border-radius:999px;display:flex;flex:none;height:18px;justify-content:center;width:18px}.editnday .ed-step.is-done .ed-circ{background:#243235;border-color:#243235}.editnday .ed-step.is-now .ed-circ{background:#f3ecfb;border-color:#b48fe0}.editnday .ed-bar{background:#e9ecec;border-radius:999px;display:flex;height:8px;overflow:hidden}.editnday .ed-bar .ed-bar__fill{background:#243235;border-radius:999px;transition:width .4s ease}.editnday .ed-bar .ed-bar__hatch{background:repeating-linear-gradient(-135deg,#d3b7f1 0 6px,transparent 6px 10px);flex:1}.editnday .ed-stats{display:flex;gap:8px}.editnday .ed-stat{background:#fff;border-radius:10px;display:flex;flex:1;flex-direction:column;gap:4px;min-width:0;padding:8px 9px}.editnday .ed-stat .ed-muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-stat__n{color:#111416;font-size:17px;font-weight:600;letter-spacing:-.02em}.editnday .ed-big{color:#111416;font-size:24px;font-weight:600;letter-spacing:-.03em}.editnday .ed-note{background:#fff;border-radius:10px;color:#56676a;font-size:11px;line-height:1.55;padding:8px 10px}.editnday .ed-pastpost{align-items:center;background:#f4f5f5;border-radius:8px;display:flex;gap:8px;padding:8px 10px}.editnday .ed-pastpost>div{flex:1;min-width:0}.editnday .ed-found{background:transparent;border:0;color:#243235;cursor:pointer;font:inherit;font-size:12px;padding:4px 2px;text-align:right}.editnday .ed-found:hover{background:#f4f5f5}.editnday .ed-cov{align-items:flex-start;display:flex;font-size:12px;gap:7px;line-height:1.45}.editnday .ed-cov .ed-cov__q{flex:1;min-width:0}.editnday .ed-covdot{border-radius:999px;flex:none;height:8px;margin-top:5px;width:8px}.editnday .ed-covdot.is-full{background:#243235}.editnday .ed-covdot.is-half{background:linear-gradient(-90deg,#243235 50%,#d3b7f1 0)}.editnday .ed-covdot.is-empty{border:1.5px solid #b48fe0}.editnday .ed-radio{align-items:flex-start;background:#fff;border:1px solid #e9ecec;border-radius:7px;cursor:pointer;display:flex;font-size:12px;gap:7px;line-height:1.45;padding:7px 9px}.editnday .ed-radio input{opacity:0;pointer-events:none;position:absolute}.editnday .ed-rdot{align-items:center;border:1.5px solid #c8cfd0;border-radius:999px;display:flex;flex:none;height:15px;justify-content:center;margin-top:1px;width:15px}.editnday .ed-radio.is-on .ed-rdot{border-color:#243235}.editnday .ed-radio.is-on .ed-rdot:after{background:#243235;border-radius:999px;content:"";height:7px;width:7px}.editnday .ed-sec{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;gap:8px;padding:8px 0}.editnday .ed-sec:first-of-type{border-top:0}.editnday .ed-sec .ed-sec__body{flex:1;min-width:0}.editnday .ed-num{align-items:center;background:#f4f5f5;border-radius:999px;color:#56676a;display:flex;flex:none;font-size:10px;font-weight:700;height:18px;justify-content:center;width:18px}.editnday .ed-video{border-top:1px solid #e9ecec;display:flex;flex-direction:column;gap:8px;padding:10px 0}.editnday .ed-video__head{margin-top:6px}.editnday .ed-video__bar{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between}.editnday .ed-video__actions{display:flex;flex-shrink:0;gap:12px}.editnday .ed-video .ed-link{white-space:nowrap}.editnday .ed-fact{display:flex;flex-direction:column;gap:2px;padding:6px 0 0}.editnday .ed-review__head{align-items:center;background:transparent;border:0;cursor:pointer;display:flex;font:inherit;justify-content:space-between;padding:0}.editnday .ed-quote{background:#f3ecfb;border-radius:8px;color:#111416}.editnday .ed-fix,.editnday .ed-quote{font-size:12px;line-height:1.55;padding:8px 10px}.editnday .ed-fix{border:1px dashed #b48fe0;border-radius:8px}.editnday .ed-seg{display:flex;gap:6px}.editnday .ed-segb{background:#fff;border:1px solid #e1e5e5;border-radius:999px;color:#56676a;cursor:pointer;flex:1;font:inherit;font-size:11px;height:26px}.editnday .ed-segb.is-on{background:#243235;border-color:#243235;color:#fff}.editnday.ed-wide .components-modal__content{background:#f4f5f5}.editnday.ed-wide .ed-wide__body{align-items:start;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:782px){.editnday.ed-wide .ed-wide__body{grid-template-columns:minmax(0,1fr)}}.editnday.ed-wide .ed-sections{grid-row:span 3}.editnday.ed-wide .ed-wide__foot{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.editnday.ed-wide .ed-wide__foot .ed-ghost{padding:0 20px;width:auto}.editnday.ed-wide .ed-wide__foot .ed-cta{width:280px}.editor-header button[aria-controls="editnday:editnday-sidebar"].is-pressed,.interface-pinned-items button[aria-controls="editnday:editnday-sidebar"].is-pressed{background:#243235}.editor-header button[aria-controls="editnday:editnday-sidebar"].is-pressed svg path,.interface-pinned-items button[aria-controls="editnday:editnday-sidebar"].is-pressed svg path{fill:#d3b7f1}.editnday .ed-tasks{gap:0}.editnday .ed-taskwrap{border-top:1px solid #f0f2f2;display:flex;flex-direction:column;gap:6px;padding:7px 0}.editnday .ed-taskwrap:first-child{border-top:0;padding-top:0}.editnday .ed-task{align-items:center;display:flex;font-size:12px;gap:8px;min-width:0}.editnday .ed-task .ed-task__t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.editnday .ed-task .ed-task__t>.ed-muted{display:block;font-size:11px;line-height:1.35}.editnday .ed-tasks>.ed-task{border-top:1px solid #f0f2f2;padding-top:7px}.editnday .ed-circ.is-filled{background:#243235;border-color:#243235}.editnday .ed-circ.is-warn{background:#f3ecfb;border-color:#b48fe0}.editnday .ed-mini{background:#fff;border:1px solid #c8cfd0;border-radius:999px;color:#243235;cursor:pointer;flex:none;font:inherit;font-size:11px;height:24px;padding:0 9px}.editnday .ed-mini.is-plain{border-color:transparent;text-decoration:underline}.editnday .ed-mini.is-done{background:#f3ecfb;border-color:#e6d6f7}.editnday .ed-mini:disabled{cursor:default;opacity:.5}.editnday .ed-redo{display:flex;flex-direction:column;gap:8px}.editnday .ed-redo__title{align-items:center;display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:space-between;margin-top:-2px}.editnday .ed-redo__title>.ed-link{flex-basis:100%;text-align:right}.editnday .ed-redo__title .ed-chips{flex-wrap:nowrap}.editnday .ed-redo__actions{display:flex;flex-direction:column;gap:6px}.editnday .ed-redo .ed-link{align-self:flex-start;white-space:nowrap}.editnday .ed-band{background:#f3ecfb;border-radius:8px;font-size:12px;line-height:1.5;padding:8px 10px}.editnday .ed-band.is-warn{background:#fcf0e3;color:#5c3300}.editnday .ed-band a{font-weight:600}.editnday .ed-prohint{align-self:center;background:none;border:0;color:#6c48b5;cursor:pointer;flex:none;font:inherit;font-size:11px;padding:0;white-space:nowrap}.editnday .ed-prohint:hover{text-decoration:underline}.editnday .ed-prohint__tag{background:#243235;border-radius:999px;color:#e6d6f7;display:inline-block;font-size:9px;font-weight:700;letter-spacing:.06em;line-height:14px;padding:0 5px;vertical-align:1px}.editnday .ed-prohint-row{margin:-4px 30px 6px 0}.editnday .ed-procard{border:1px dashed #d3b7f1}.editnday .ed-koseo__body>.ed-prohint,.editnday .ed-redo>.ed-prohint{align-self:flex-start}.editnday .ed-tpl{border-top:1px dashed #e0e0e0;display:flex;flex-direction:column;gap:6px;padding-top:8px}.editnday .ed-tpl__swatches{display:flex;flex-wrap:wrap;gap:6px}.editnday .ed-tpl__row{align-items:start;column-gap:8px;display:grid;grid-template-columns:34px 1fr}.editnday .ed-tpl__label{color:#50575e;font-size:11px;font-weight:600;line-height:26px}.editnday .ed-tpl__sw--custom{background:#fff;border-style:dashed;color:#50575e;font-size:16px;font-weight:500}.editnday .ed-tpl__color{align-items:center;display:inline-flex;gap:6px}.editnday .ed-tpl__color input[type=color]{background:#fff;border:1px solid #c3c4c7;border-radius:4px;cursor:pointer;height:26px;padding:2px;width:28px}.editnday .ed-tpl__color input[type=text]{border:1px solid #c3c4c7;border-radius:4px;font-family:ui-monospace,Menlo,monospace;font-size:12px;height:26px;min-height:26px;padding:0 8px;text-transform:uppercase;width:88px}.editnday .ed-tpl__preview{border:1px solid rgba(0,0,0,.1);border-radius:6px;display:block;margin:2px auto 0;max-height:220px;max-width:100%}.editnday .ed-tpl__sw{border:1px solid rgba(0,0,0,.12);border-radius:8px;cursor:pointer;font-size:13px;font-weight:800;height:32px;width:32px}.editnday .ed-tpl__sw.is-on{box-shadow:0 0 0 2px #fff,0 0 0 4px #8e6bd1}.editnday .ed-tabs{background:#eef0f0;border-radius:999px;display:flex;gap:4px;margin:0 0 12px;padding:4px}.editnday .ed-tab{background:transparent;border:0;border-radius:999px;color:#5f6969;cursor:pointer;flex:1;font:inherit;font-size:12px;height:30px;padding:0 6px;white-space:nowrap}.editnday .ed-tab.is-on{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08);color:#243235;font-weight:600}.editnday .ed-tab:focus-visible{outline:2px solid #b48fe0}.editnday .ed-seomode{font-size:11px;line-height:1.5;margin:0 2px 10px}.editnday .ed-more{align-self:flex-start;margin:2px 2px 8px}.editnday .ed-autosend{font-size:11px;line-height:1.5;margin:4px 2px 0}.editnday .ed-autosend a{color:inherit}.editnday .ed-thumb{aspect-ratio:16/9;border-radius:8px;object-fit:cover;width:100%}.editnday .ed-serp{background:#fff;border:1px solid #e9ecec;border-radius:10px;display:flex;flex-direction:column;gap:3px;padding:10px}.editnday .ed-serp .ed-serp__u{color:#4d5156;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-serp .ed-serp__t{color:#1a0dab;font-size:14px;line-height:1.35}.editnday .ed-serp .ed-serp__d{color:#4d5156;font-size:11.5px;line-height:1.5}.editnday .ed-serp.is-naver .ed-serp__t{color:#001aad;font-weight:600}.editnday .ed-faq{display:flex;flex-direction:column;gap:8px}.editnday .ed-faq__item{display:flex;flex-direction:column;gap:2px}.editnday .ed-link{background:none;border:0;color:#243235;cursor:pointer;font:inherit;padding:0;text-decoration:underline}.editnday .ed-faq__item.is-edit{border-bottom:1px solid #f0f2f2;gap:6px;padding-bottom:8px}.editnday .ed-note.is-error{color:#c2463b}.editnday.ed-prepublish{display:flex;flex-direction:column;gap:8px}.interface-complementary-area:has(.editnday.ed-body),.interface-complementary-area:has(.editnday.ed-body) .components-panel{background:#f4f5f5}@keyframes ed-pulse{0%{box-shadow:0 0 0 0 rgba(180,143,224,.6)}70%{box-shadow:0 0 0 7px rgba(180,143,224,0)}to{box-shadow:0 0 0 0 rgba(180,143,224,0)}}@keyframes ed-hatch{0%{background-position:100% 0}to{background-position:right 28px top 0}}.editnday .ed-live{align-items:center;background:#f3ecfb;border-radius:10px;display:flex;font-size:11.5px;gap:8px;min-width:0;padding:8px 10px}.editnday .ed-live .ed-live__t{color:#243235;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-live .ed-elapsed{flex:none;font-variant-numeric:tabular-nums}.editnday .ed-pulse{background:#b48fe0;border-radius:999px;flex:none;height:8px;width:8px}.editnday .ed-pulse,.editnday .ed-step.is-now .ed-circ{animation:ed-pulse 1.4s ease-out infinite}.editnday .ed-bar.is-busy .ed-bar__hatch{animation:ed-hatch 1.2s linear infinite}@media(prefers-reduced-motion:reduce){.editnday .ed-bar.is-busy .ed-bar__hatch,.editnday .ed-pulse,.editnday .ed-step.is-now .ed-circ{animation:none}}.editnday-header{align-items:center;display:flex;flex:1;gap:8px;min-width:0}.editnday-header img{display:block;height:18px;width:auto}.editnday-header .editnday-header__ver{color:#8b9698;font-size:10.5px;font-variant-numeric:tabular-nums}.editnday-header .editnday-header__pro{background:#243235;border-radius:999px;color:#e6d6f7;font-size:9.5px;font-weight:700;letter-spacing:.06em;line-height:14px;margin-right:-2px;padding:1px 6px}.editnday .ed-busy{align-items:center;color:#243235;display:inline-flex;flex:none;font-size:11px;gap:6px}.editnday .ed-circ.is-busy{animation:ed-pulse 1.4s ease-out infinite;background:#f3ecfb;border-color:#b48fe0}.ed-req,.editnday .ed-req{background:#b48fe0;border-radius:50%;display:inline-block;height:5px;margin-right:4px;vertical-align:middle;width:5px}.ed-opt,.editnday .ed-opt{color:#a3acad;font-size:10px;font-weight:400;margin-right:4px}.editnday :is(.ed-lbl,.components-base-control__label):has(.ed-req){color:#111416;font-weight:700}.editnday :is(.ed-lbl,.components-base-control__label):has(.ed-opt){color:#8b9698;font-weight:500}.editnday :is(.ed-lbl,.components-base-control__label) .ed-muted{font-weight:400}.ed-hint{color:#8b9698;display:block;font-size:11px;margin-bottom:6px}.editnday .ed-small.is-warn{color:#9a5b00;display:block}.editnday .ed-textcheck .ed-textcheck__head{background:none;border:0;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:right;width:100%}.editnday .ed-textcheck .ed-textcheck__head:disabled{cursor:default}.editnday .ed-textcheck .ed-textcheck__sent{background:#f6f2fb;border:1px solid rgba(180,143,224,.45);border-radius:0;color:#3c4646;cursor:pointer;display:block;font:inherit;font-size:11px;line-height:1.5;margin:2px 0;padding:4px 8px;text-align:right;width:100%}.editnday .ed-textcheck .ed-textcheck__sent:hover{background:#efe6f8}.editnday .ed-textcheck .ed-koseo__body>.ed-link{align-self:flex-start;font-size:11px}.editnday .ed-sentences{border-top:1px solid #e1e5e5;display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px}.editnday .ed-sentences .ed-sentences__sec{display:flex;flex-direction:column;gap:2px}.editnday .ed-sentences .ed-sentences__h{color:#243235;font-size:11.5px}.editnday .ed-sentences .ed-sentences__s{align-items:flex-start;background:#fff;border:1px solid #e1e5e5;border-radius:0;color:#3c4646;cursor:pointer;display:flex;font:inherit;font-size:11px;gap:6px;line-height:1.5;margin:0;padding:3px 6px;text-align:right;width:100%}.editnday .ed-sentences .ed-sentences__s:hover{background:#f6f2fb}.editnday .ed-sentences .ed-sentences__s.is-breath{background:#fff9e8;border-color:#e9c46a}.editnday .ed-sentences .ed-sentences__s.is-long{background:#fdf0ec;border-color:#e07a5f}.editnday .ed-sentences .ed-sentences__s.is-flag .ed-sentences__n{color:#b3412a}.editnday .ed-sentences .ed-sentences__n{color:#8b9698;flex:0 0 28px;font-variant-numeric:tabular-nums;text-align:left}.editnday .ed-sentences__toggle{align-self:flex-start;font-size:11px;margin-top:6px}.editnday .ed-koseo .ed-koseo__score{background:#f3ecfb;border-radius:999px;font-size:11px;padding:2px 8px;white-space:nowrap}.editnday .ed-koseo .ed-koseo__score.is-ok{background:#f0f2f2}.editnday .ed-koseo .ed-koseo__kw{align-items:center;display:grid;gap:4px 6px;grid-template-columns:1fr auto}.editnday .ed-koseo .ed-koseo__kw .ed-ghost{padding:0 12px;width:auto}.editnday .ed-koseo .ed-koseo__kw .ed-muted{font-size:11px;grid-column:1/-1}.editnday .ed-koseo .ed-koseo__item{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;font-size:12px;gap:8px;padding-top:7px}.editnday .ed-koseo .ed-koseo__item .ed-circ{flex-shrink:0;margin-top:1px}.editnday .ed-koseo .ed-koseo__body{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.editnday .ed-koseo .ed-koseo__head{align-items:baseline;display:flex;gap:6px;justify-content:space-between}.editnday .ed-koseo .ed-koseo__who{color:#c8cfd0;flex-shrink:0;font-size:10px;white-space:nowrap}.editnday .ed-koseo .ed-koseo__hint{color:#6b7272;font-size:11px;line-height:1.5}.editnday .ed-koseo .ed-koseo__foot{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;flex-direction:column;gap:4px;padding-top:6px}.editnday .ed-koseo .ed-koseo__foot .ed-muted{font-size:11px}.editnday .ed-stepper{display:flex;flex-direction:column;gap:6px;padding:2px 0 6px}.editnday .ed-stepper__flow{align-items:flex-start;display:flex}.editnday .ed-stepper__st{align-items:center;display:flex;flex:none;flex-direction:column;gap:4px;width:64px}.editnday .ed-stepper__dot{align-items:center;background:#fff;border:1.5px solid #c8cfd0;border-radius:50%;color:#8b9698;display:flex;font-size:10px;font-weight:600;height:20px;justify-content:center;width:20px}.editnday .ed-stepper__dot svg{height:11px;width:11px}.editnday .ed-stepper__lbl{color:#8b9698;font-size:10px;line-height:1.25;text-align:center}.editnday .ed-stepper__st.is-done .ed-stepper__dot{background:#243235;border-color:#243235;color:#fff}.editnday .ed-stepper__st.is-done .ed-stepper__lbl{color:#243235}.editnday .ed-stepper__st.is-now .ed-stepper__dot{background:#b48fe0;border-color:#b48fe0;color:#fff}.editnday .ed-stepper__st.is-now .ed-stepper__lbl{color:#243235;font-weight:600}.editnday .ed-stepper__link{align-items:center;display:flex;flex:1;flex-direction:column;gap:2px;min-width:0;padding-top:9px}.editnday .ed-stepper__link .ed-stepper__line{border-top:1.5px dashed #c8cfd0;width:100%}.editnday .ed-stepper__link em{color:#a3acad;font-size:9px;font-style:normal;white-space:nowrap}.editnday .ed-stepper__link.is-done .ed-stepper__line{border-top-color:#243235;border-top-style:solid}.editnday .ed-stepper__link.is-run .ed-stepper__line{animation:ed-stepper-run 1.2s ease-in-out infinite;border-top-color:#b48fe0}.editnday .ed-stepper__link.is-run em{color:#7d55b0;font-weight:600}.editnday .ed-stepper__note{color:#56676a;font-size:11px}@keyframes ed-stepper-run{0%,to{opacity:1}50%{opacity:.35}}.editnday .ed-fold{align-items:baseline;background:none;border:0;color:inherit;cursor:pointer;display:flex;font:inherit;gap:8px;padding:0;text-align:right;width:100%}.editnday .ed-fold .ed-lbl{margin:0}.editnday .ed-fold__v{flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-fold__i{font-size:12px;opacity:.7;text-decoration:underline}.editnday .ed-fold[aria-expanded=true]{margin-bottom:10px}.editnday .ed-preset{font-size:12.5px;margin:-4px 0 10px}.editnday .ed-preset .ed-chips{margin-top:8px}.ed-proinfo ul{list-style:disc;margin:8px 20px 12px 0}.ed-proinfo li{margin-bottom:4px}.ed-proinfo,.editnday{font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Segoe UI,system-ui,sans-serif;letter-spacing:0}.ed-proinfo :not(.ed-covdot):not(.ed-rdot):not(.ed-pulse):not(.ed-cta__dot),.editnday :not(.ed-covdot):not(.ed-rdot):not(.ed-pulse):not(.ed-cta__dot){border-radius:0!important}.editnday{color:#1b1e25}.editnday.ed-body{background:#f6f7f9}.editnday .ed-h{color:#1b1e25;font-weight:650}.editnday .ed-dim,.editnday .ed-muted,.editnday .ed-sub{color:#646c7a}.editnday .ed-lbl{color:#474f5c;font-weight:650}.editnday .ed-card,.editnday .ed-live,.editnday .ed-note,.editnday .ed-pastpost,.editnday .ed-serp,.editnday .ed-stat{background:#fff;border:1px solid #dde0e6;box-shadow:none}.editnday .components-text-control__input,.editnday .components-textarea-control__input,.editnday input[type=text],.editnday input[type=url],.editnday select,.editnday textarea{border:1px solid #7c8494;box-shadow:none}.editnday .components-text-control__input:focus,.editnday .components-textarea-control__input:focus,.editnday textarea:focus{border-color:#243235;box-shadow:0 0 0 1px #243235}.editnday .ed-cta{background:#243235;font-size:13px;font-weight:650;height:36px}.editnday .ed-cta:hover:not(:disabled){background:#1a2527}.editnday .ed-cta:disabled{background:#f0f2f5;border:1px solid #dde0e6;color:#646c7a}.editnday .ed-cta .ed-cta__dot{border-radius:0!important;height:30px;left:3px;top:3px;width:30px}.editnday .ed-ghost{background:#fff;border:1px solid #7c8494;color:#1b1e25;font-weight:600;height:32px}.editnday .ed-ghost:hover:not(:disabled){background:#f0f2f5}.editnday .ed-chip{border:1px solid #7c8494;color:#474f5c;font-weight:500;height:26px}.editnday .ed-chip.is-on{background:#243235;border-color:#243235;color:#fff}.editnday .ed-chip.is-lav{background:#f3ecfb;border-color:#b48fe0;color:#243235}.editnday .ed-tag{background:#fff;border:1px solid #7c8494;color:#474f5c;font-size:10.5px;height:20px;padding:0 6px}.editnday .ed-tag.is-lav{background:#f3ecfb;border-color:#b48fe0;color:#243235}.editnday .ed-tag.is-dark{background:#243235;border-color:#243235;color:#fff}.editnday .ed-stats{background:#fff;border:1px solid #dde0e6;gap:0}.editnday .ed-stat{border:0;border-left:1px solid #dde0e6}.editnday .ed-stat:last-child{border-left:0}.editnday .ed-big,.editnday .ed-koseo__score,.editnday .ed-stat__n{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:0}.editnday .ed-circ{border-radius:0!important}.editnday .ed-bar{background:#f0f2f5}.editnday .ed-note.is-error{background:#fdecea;border:1px solid rgba(180,35,24,.4)}.editnday .ed-segb{border:1px solid #7c8494}.editnday .ed-radio{border:1px solid #dde0e6}.editnday .ed-radio.is-on{border-color:#243235;box-shadow:inset 0 0 0 1px #243235}.ed-proinfo .ed-tabs,.editnday .ed-tabs{background:#fff;border:1px solid #dde0e6;gap:0;padding:0}.ed-proinfo .ed-tab,.editnday .ed-tab{border-left:1px solid #dde0e6;color:#474f5c;height:32px}.ed-proinfo .ed-tab:last-child,.editnday .ed-tab:last-child{border-left:0}.ed-proinfo .ed-tab.is-on,.editnday .ed-tab.is-on{background:#243235;box-shadow:none;color:#fff;font-weight:650}.editnday-header__pro{border-radius:0!important}.editnday .ed-cardhead{align-items:center;background:#fff;border-bottom:1px solid #dde0e6;display:flex;gap:8px;justify-content:space-between;margin:-10px -10px 4px;padding:8px 10px}.editnday .ed-cardhead__t{align-items:center;color:#1b1e25;display:inline-flex;font-size:12.5px;font-weight:650;gap:6px}.editnday .ed-mini.is-strong{background:#243235;border-color:#243235;color:#fff}.editnday .ed-mini.is-strong:disabled{background:#f0f2f5;border-color:#dde0e6;color:#646c7a}.editnday .ed-circ.is-warn{background:#fdf3dc;border-color:#8a5300;color:#8a5300;font-size:11px;font-weight:800;line-height:1}.editnday .ed-kwplace{background:#f0f2f5;border:1px solid #dde0e6;display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:8px 10px}.editnday .ed-kwplace .ed-quote{background:#fff;border:1px solid rgba(180,143,224,.5);color:#1b1e25;display:block;font-size:12px;line-height:1.6;margin:0;padding:6px 8px}.editnday .ed-kwplace .ed-quote.is-new{border-color:rgba(11,122,75,.45)}.editnday .ed-kwfix{display:flex;flex-direction:column;gap:6px;width:100%}.editnday .ed-kwfix .ed-quote{background:#fff;border:1px solid rgba(11,122,75,.45);display:block;font-size:12px;line-height:1.6;padding:6px 8px}.editnday .ed-found.is-on{border-color:#243235;box-shadow:0 0 0 1px #243235}.editnday-header__prover{font-weight:500;letter-spacing:0;margin-right:3px}.ed-kwvol{display:grid;font-size:12px;gap:6px;margin:2px 0 10px}.ed-kwvol p{margin:0}.ed-kwvol__self{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px}.ed-kwvol__comp{border:1px solid #c3c4c7;border-radius:2px;color:#50575e;margin-right:4px;padding:0 6px}.ed-kwvol__comp.is-high{border-color:#d63638;color:#a32022}.ed-kwvol__comp.is-low{border-color:#00a32a;color:#007017}.ed-kwvol__rel{display:grid;gap:4px}.ed-kwvol__chips{display:flex;flex-wrap:wrap;gap:4px}.ed-share{display:grid;gap:6px;margin:6px 0 4px}.ed-share__card{background:#fff;border:1px solid #dcdcde;border-radius:4px;overflow:hidden}.ed-share__img{aspect-ratio:1200/630;background-position:50%;background-size:cover;max-width:100%}.ed-share__text{display:grid;font-size:12px;gap:2px;padding:8px 10px}.ed-share__text strong{font-size:13px;line-height:1.35}.ed-share__desc{color:#50575e;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ed-alttext,.interface-complementary-area .ed-alttext{background:#f6f7f7;border:1px solid #e0e0e0;border-radius:3px;color:#3c434a;font-size:12px;line-height:1.5;margin:2px 30px 8px 0;padding:6px 8px;word-break:keep-all}.ed-aicite .ed-aicite__score{font-variant-numeric:tabular-nums;font-weight:700}.ed-aicite .ed-aicite__score.is-ok{color:#1f8a4c}.ed-aicite .ed-aicite__score.is-warn{color:#996800}.ed-aicite .ed-aicite__score.is-bad{color:#b32d2e}.ed-aicite .ed-aicite__bar{background:#f0f0f1;height:6px;margin:6px 0}.ed-aicite .ed-aicite__bar span{background:#1f8a4c;display:block;height:100%}.ed-aicite .ed-aicite__bar span.is-warn{background:#dba617}.ed-aicite .ed-aicite__bar span.is-bad{background:#d63638}.ed-aicite .ed-aicite__item{align-items:baseline;display:flex;font-size:12px;gap:8px;line-height:1.5;margin:6px 0}.ed-aicite .ed-aicite__pts{color:#1f8a4c;flex:none;font-variant-numeric:tabular-nums;font-weight:700;min-width:28px} -
editnday/trunk/build/style-index.css
r3742866 r3747744 1 .editnday{color:#243235;font-size:12px;letter-spacing:-.01em}.editnday *{box-sizing:border-box}.editnday.ed-body{background:#f4f5f5;display:flex;flex-direction:column;gap:8px;min-height:100%;padding:12px 12px 0}.editnday .ed-head{display:flex;flex-direction:column;gap:4px;padding:2px 0}.editnday .ed-eyebrow{color:#8b9698;font-size:11px;font-weight:500}.editnday .ed-h{color:#111416;font-size:15px;font-weight:600;letter-spacing:-.02em;line-height:1.4;margin:0}.editnday .ed-sub{color:#56676a;font-size:11.5px;line-height:1.55;margin:0}.editnday .ed-card{background:#fff;border-radius:10px;display:flex;flex-direction:column;gap:7px;min-width:0;padding:10px}.editnday .ed-lbl{color:#56676a;font-size:11px;font-weight:600}.editnday .ed-muted{color:#8b9698;font-size:11px}.editnday .ed-small{font-size:12px;line-height:1.5}.editnday .ed-strong{font-weight:600}.editnday .ed-dim{color:#56676a}.editnday .ed-faint{color:#c8cfd0}.editnday .ed-row{align-items:center;display:flex;gap:8px;min-width:0}.editnday .ed-between{justify-content:space-between}.editnday .ed-gap6{gap:6px;margin-top:3px}.editnday .components-text-control__input,.editnday .components-textarea-control__input{border-color:#e1e5e5;border-radius:7px;font-size:12px}.editnday .components-base-control__label{color:#56676a;font-size:11px;font-weight:600;text-transform:none}.editnday .ed-chips{display:flex;flex-wrap:wrap;gap:6px}.editnday .ed-chip{align-items:center;background:#fff;border:1px solid #e1e5e5;border-radius:999px;color:#56676a;cursor:pointer;display:inline-flex;font:inherit;font-size:11px;gap:4px;height:24px;padding:0 9px;white-space:nowrap}.editnday .ed-chip .ed-chip__lock{background:rgba(0,0,0,.08);border-radius:999px;font-size:10px;line-height:16px;padding:0 5px}.editnday .ed-chip.is-on .ed-chip__lock{background:hsla(0,0%,100%,.22)}.editnday .ed-chip.is-lav{background:#e6d6f7;border-color:#e6d6f7}.editnday .ed-chip.is-static{cursor:default}.editnday .ed-chip.is-static b{color:#243235}.editnday .ed-tag{align-items:center;background:#f4f5f5;border-radius:999px;color:#56676a;display:inline-flex;font-size:10px;font-weight:600;height:18px;padding:0 7px;white-space:nowrap}.editnday .ed-tag.is-lav{background:#e6d6f7}.editnday .ed-cta{border:0;border-radius:999px;color:#fff;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;height:38px;position:relative;width:100%}.editnday .ed-cta:disabled{background:#c8cfd0;cursor:not-allowed}.editnday .ed-cta .ed-cta__dot{align-items:center;background:#d3b7f1;border-radius:999px;display:flex;justify-content:center;position:absolute;right:4px;top:4px}.editnday .ed-ghost{background:transparent;border:1px solid #c8cfd0;border-radius:999px;color:#243235;cursor:pointer;font:inherit;font-size:12px;font-weight:500;width:100%}.editnday .ed-iconbtn{background:transparent;border:0;color:#56676a;cursor:pointer;font-size:16px;height:24px;line-height:1;width:24px}.editnday .ed-foot{background:#f4f5f5;border-top:1px solid #e9ecec;bottom:0;display:flex;flex-direction:column;gap:8px;margin:auto -12px 0;padding:10px 12px 12px;position:sticky}.editnday .ed-steps{display:flex;flex-direction:column;gap:9px}.editnday .ed-step{align-items:center;display:flex;font-size:12px;gap:8px;min-width:0}.editnday .ed-step.is-now{font-weight:600}.editnday .ed-step.is-todo{color:#8b9698}.editnday .ed-step .ed-step__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-circ{align-items:center;background:#fff;border:1.5px solid #c8cfd0;border-radius:999px;display:flex;flex:none;height:18px;justify-content:center;width:18px}.editnday .ed-step.is-done .ed-circ{background:#243235;border-color:#243235}.editnday .ed-step.is-now .ed-circ{background:#f3ecfb;border-color:#b48fe0}.editnday .ed-bar{background:#e9ecec;border-radius:999px;display:flex;height:8px;overflow:hidden}.editnday .ed-bar .ed-bar__fill{background:#243235;border-radius:999px;transition:width .4s ease}.editnday .ed-bar .ed-bar__hatch{background:repeating-linear-gradient(135deg,#d3b7f1 0 6px,transparent 6px 10px);flex:1}.editnday .ed-stats{display:flex;gap:8px}.editnday .ed-stat{background:#fff;border-radius:10px;display:flex;flex:1;flex-direction:column;gap:4px;min-width:0;padding:8px 9px}.editnday .ed-stat .ed-muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-stat__n{color:#111416;font-size:17px;font-weight:600;letter-spacing:-.02em}.editnday .ed-big{color:#111416;font-size:24px;font-weight:600;letter-spacing:-.03em}.editnday .ed-note{background:#fff;border-radius:10px;color:#56676a;font-size:11px;line-height:1.55;padding:8px 10px}.editnday .ed-pastpost{align-items:center;background:#f4f5f5;border-radius:8px;display:flex;gap:8px;padding:8px 10px}.editnday .ed-pastpost>div{flex:1;min-width:0}.editnday .ed-found{background:transparent;border:0;color:#243235;cursor:pointer;font:inherit;font-size:12px;padding:4px 2px;text-align:left}.editnday .ed-found:hover{background:#f4f5f5}.editnday .ed-cov{align-items:flex-start;display:flex;font-size:12px;gap:7px;line-height:1.45}.editnday .ed-cov .ed-cov__q{flex:1;min-width:0}.editnday .ed-covdot{border-radius:999px;flex:none;height:8px;margin-top:5px;width:8px}.editnday .ed-covdot.is-full{background:#243235}.editnday .ed-covdot.is-half{background:linear-gradient(90deg,#243235 50%,#d3b7f1 0)}.editnday .ed-covdot.is-empty{border:1.5px solid #b48fe0}.editnday .ed-radio{align-items:flex-start;background:#fff;border:1px solid #e9ecec;border-radius:7px;cursor:pointer;display:flex;font-size:12px;gap:7px;line-height:1.45;padding:7px 9px}.editnday .ed-radio input{opacity:0;pointer-events:none;position:absolute}.editnday .ed-rdot{align-items:center;border:1.5px solid #c8cfd0;border-radius:999px;display:flex;flex:none;height:15px;justify-content:center;margin-top:1px;width:15px}.editnday .ed-radio.is-on .ed-rdot{border-color:#243235}.editnday .ed-radio.is-on .ed-rdot:after{background:#243235;border-radius:999px;content:"";height:7px;width:7px}.editnday .ed-sec{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;gap:8px;padding:8px 0}.editnday .ed-sec:first-of-type{border-top:0}.editnday .ed-sec .ed-sec__body{flex:1;min-width:0}.editnday .ed-num{align-items:center;background:#f4f5f5;border-radius:999px;color:#56676a;display:flex;flex:none;font-size:10px;font-weight:700;height:18px;justify-content:center;width:18px}.editnday .ed-video{border-top:1px solid #e9ecec;display:flex;flex-direction:column;gap:8px;padding:10px 0}.editnday .ed-video__head{margin-top:6px}.editnday .ed-video__bar{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between}.editnday .ed-video__actions{display:flex;flex-shrink:0;gap:12px}.editnday .ed-video .ed-link{white-space:nowrap}.editnday .ed-fact{display:flex;flex-direction:column;gap:2px;padding:6px 0 0}.editnday .ed-review__head{align-items:center;background:transparent;border:0;cursor:pointer;display:flex;font:inherit;justify-content:space-between;padding:0}.editnday .ed-quote{background:#f3ecfb;border-radius:8px;color:#111416}.editnday .ed-fix,.editnday .ed-quote{font-size:12px;line-height:1.55;padding:8px 10px}.editnday .ed-fix{border:1px dashed #b48fe0;border-radius:8px}.editnday .ed-seg{display:flex;gap:6px}.editnday .ed-segb{background:#fff;border:1px solid #e1e5e5;border-radius:999px;color:#56676a;cursor:pointer;flex:1;font:inherit;font-size:11px;height:26px}.editnday .ed-segb.is-on{background:#243235;border-color:#243235;color:#fff}.editnday.ed-wide .components-modal__content{background:#f4f5f5}.editnday.ed-wide .ed-wide__body{align-items:start;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:782px){.editnday.ed-wide .ed-wide__body{grid-template-columns:minmax(0,1fr)}}.editnday.ed-wide .ed-sections{grid-row:span 3}.editnday.ed-wide .ed-wide__foot{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.editnday.ed-wide .ed-wide__foot .ed-ghost{padding:0 20px;width:auto}.editnday.ed-wide .ed-wide__foot .ed-cta{width:280px}.editor-header button[aria-controls="editnday:editnday-sidebar"].is-pressed,.interface-pinned-items button[aria-controls="editnday:editnday-sidebar"].is-pressed{background:#243235}.editor-header button[aria-controls="editnday:editnday-sidebar"].is-pressed svg path,.interface-pinned-items button[aria-controls="editnday:editnday-sidebar"].is-pressed svg path{fill:#d3b7f1}.editnday .ed-tasks{gap:0}.editnday .ed-taskwrap{border-top:1px solid #f0f2f2;display:flex;flex-direction:column;gap:6px;padding:7px 0}.editnday .ed-taskwrap:first-child{border-top:0;padding-top:0}.editnday .ed-task{align-items:center;display:flex;font-size:12px;gap:8px;min-width:0}.editnday .ed-task .ed-task__t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.editnday .ed-task .ed-task__t>.ed-muted{display:block;font-size:11px;line-height:1.35}.editnday .ed-tasks>.ed-task{border-top:1px solid #f0f2f2;padding-top:7px}.editnday .ed-circ.is-filled{background:#243235;border-color:#243235}.editnday .ed-circ.is-warn{background:#f3ecfb;border-color:#b48fe0}.editnday .ed-mini{background:#fff;border:1px solid #c8cfd0;border-radius:999px;color:#243235;cursor:pointer;flex:none;font:inherit;font-size:11px;height:24px;padding:0 9px}.editnday .ed-mini.is-plain{border-color:transparent;text-decoration:underline}.editnday .ed-mini.is-done{background:#f3ecfb;border-color:#e6d6f7}.editnday .ed-mini:disabled{cursor:default;opacity:.5}.editnday .ed-redo{display:flex;flex-direction:column;gap:8px}.editnday .ed-redo__title{align-items:center;display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:space-between;margin-top:-2px}.editnday .ed-redo__title>.ed-link{flex-basis:100%;text-align:left}.editnday .ed-redo__title .ed-chips{flex-wrap:nowrap}.editnday .ed-redo__actions{display:flex;flex-direction:column;gap:6px}.editnday .ed-redo .ed-link{align-self:flex-start;white-space:nowrap}.editnday .ed-band{background:#f3ecfb;border-radius:8px;font-size:12px;line-height:1.5;padding:8px 10px}.editnday .ed-band.is-warn{background:#fcf0e3;color:#5c3300}.editnday .ed-band a{font-weight:600}.editnday .ed-prohint{align-self:center;background:none;border:0;color:#6c48b5;cursor:pointer;flex:none;font:inherit;font-size:11px;padding:0;white-space:nowrap}.editnday .ed-prohint:hover{text-decoration:underline}.editnday .ed-prohint__tag{background:#243235;border-radius:999px;color:#e6d6f7;display:inline-block;font-size:9px;font-weight:700;letter-spacing:.06em;line-height:14px;padding:0 5px;vertical-align:1px}.editnday .ed-prohint-row{margin:-4px 0 6px 30px}.editnday .ed-procard{border:1px dashed #d3b7f1}.editnday .ed-koseo__body>.ed-prohint,.editnday .ed-redo>.ed-prohint{align-self:flex-start}.editnday .ed-tpl{border-top:1px dashed #e0e0e0; flex-direction:column;padding-top:8px}.editnday .ed-tpl,.editnday .ed-tpl__swatches{display:flex;gap:6px}.editnday .ed-tpl__sw{border:1px solid rgba(0,0,0,.12);border-radius:8px;cursor:pointer;font-size:13px;font-weight:800;height:32px;width:32px}.editnday .ed-tpl__sw.is-on{box-shadow:0 0 0 2px #fff,0 0 0 4px #8e6bd1}.editnday .ed-tabs{background:#eef0f0;border-radius:999px;display:flex;gap:4px;margin:0 0 12px;padding:4px}.editnday .ed-tab{background:transparent;border:0;border-radius:999px;color:#5f6969;cursor:pointer;flex:1;font:inherit;font-size:12px;height:30px;padding:0 6px;white-space:nowrap}.editnday .ed-tab.is-on{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08);color:#243235;font-weight:600}.editnday .ed-tab:focus-visible{outline:2px solid #b48fe0}.editnday .ed-seomode{font-size:11px;line-height:1.5;margin:0 2px 10px}.editnday .ed-more{align-self:flex-start;margin:2px 2px 8px}.editnday .ed-autosend{font-size:11px;line-height:1.5;margin:4px 2px 0}.editnday .ed-autosend a{color:inherit}.editnday .ed-thumb{aspect-ratio:16/9;border-radius:8px;object-fit:cover;width:100%}.editnday .ed-serp{background:#fff;border:1px solid #e9ecec;border-radius:10px;display:flex;flex-direction:column;gap:3px;padding:10px}.editnday .ed-serp .ed-serp__u{color:#4d5156;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-serp .ed-serp__t{color:#1a0dab;font-size:14px;line-height:1.35}.editnday .ed-serp .ed-serp__d{color:#4d5156;font-size:11.5px;line-height:1.5}.editnday .ed-serp.is-naver .ed-serp__t{color:#001aad;font-weight:600}.editnday .ed-faq{display:flex;flex-direction:column;gap:8px}.editnday .ed-faq__item{display:flex;flex-direction:column;gap:2px}.editnday .ed-link{background:none;border:0;color:#243235;cursor:pointer;font:inherit;padding:0;text-decoration:underline}.editnday .ed-faq__item.is-edit{border-bottom:1px solid #f0f2f2;gap:6px;padding-bottom:8px}.editnday .ed-note.is-error{color:#c2463b}.editnday.ed-prepublish{display:flex;flex-direction:column;gap:8px}.interface-complementary-area:has(.editnday.ed-body),.interface-complementary-area:has(.editnday.ed-body) .components-panel{background:#f4f5f5}@keyframes ed-pulse{0%{box-shadow:0 0 0 0 rgba(180,143,224,.6)}70%{box-shadow:0 0 0 7px rgba(180,143,224,0)}to{box-shadow:0 0 0 0 rgba(180,143,224,0)}}@keyframes ed-hatch{0%{background-position:0 0}to{background-position:28px 0}}.editnday .ed-live{align-items:center;background:#f3ecfb;border-radius:10px;display:flex;font-size:11.5px;gap:8px;min-width:0;padding:8px 10px}.editnday .ed-live .ed-live__t{color:#243235;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-live .ed-elapsed{flex:none;font-variant-numeric:tabular-nums}.editnday .ed-pulse{background:#b48fe0;border-radius:999px;flex:none;height:8px;width:8px}.editnday .ed-pulse,.editnday .ed-step.is-now .ed-circ{animation:ed-pulse 1.4s ease-out infinite}.editnday .ed-bar.is-busy .ed-bar__hatch{animation:ed-hatch 1.2s linear infinite}@media(prefers-reduced-motion:reduce){.editnday .ed-bar.is-busy .ed-bar__hatch,.editnday .ed-pulse,.editnday .ed-step.is-now .ed-circ{animation:none}}.editnday-header{align-items:center;display:flex;flex:1;gap:8px;min-width:0}.editnday-header img{display:block;height:18px;width:auto}.editnday-header .editnday-header__ver{color:#8b9698;font-size:10.5px;font-variant-numeric:tabular-nums}.editnday-header .editnday-header__pro{background:#243235;border-radius:999px;color:#e6d6f7;font-size:9.5px;font-weight:700;letter-spacing:.06em;line-height:14px;margin-left:-2px;padding:1px 6px}.editnday .ed-busy{align-items:center;color:#243235;display:inline-flex;flex:none;font-size:11px;gap:6px}.editnday .ed-circ.is-busy{animation:ed-pulse 1.4s ease-out infinite;background:#f3ecfb;border-color:#b48fe0}.ed-req,.editnday .ed-req{background:#b48fe0;border-radius:50%;display:inline-block;height:5px;margin-left:4px;vertical-align:middle;width:5px}.ed-opt,.editnday .ed-opt{color:#a3acad;font-size:10px;font-weight:400;margin-left:4px}.editnday :is(.ed-lbl,.components-base-control__label):has(.ed-req){color:#111416;font-weight:700}.editnday :is(.ed-lbl,.components-base-control__label):has(.ed-opt){color:#8b9698;font-weight:500}.editnday :is(.ed-lbl,.components-base-control__label) .ed-muted{font-weight:400}.ed-hint{color:#8b9698;display:block;font-size:11px;margin-bottom:6px}.editnday .ed-small.is-warn{color:#9a5b00;display:block}.editnday .ed-textcheck .ed-textcheck__head{background:none;border:0;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:left;width:100%}.editnday .ed-textcheck .ed-textcheck__head:disabled{cursor:default}.editnday .ed-textcheck .ed-textcheck__sent{background:#f6f2fb;border:1px solid rgba(180,143,224,.45);border-radius:0;color:#3c4646;cursor:pointer;display:block;font:inherit;font-size:11px;line-height:1.5;margin:2px 0;padding:4px 8px;text-align:left;width:100%}.editnday .ed-textcheck .ed-textcheck__sent:hover{background:#efe6f8}.editnday .ed-textcheck .ed-koseo__body>.ed-link{align-self:flex-start;font-size:11px}.editnday .ed-sentences{border-top:1px solid #e1e5e5;display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px}.editnday .ed-sentences .ed-sentences__sec{display:flex;flex-direction:column;gap:2px}.editnday .ed-sentences .ed-sentences__h{color:#243235;font-size:11.5px}.editnday .ed-sentences .ed-sentences__s{align-items:flex-start;background:#fff;border:1px solid #e1e5e5;border-radius:0;color:#3c4646;cursor:pointer;display:flex;font:inherit;font-size:11px;gap:6px;line-height:1.5;margin:0;padding:3px 6px;text-align:left;width:100%}.editnday .ed-sentences .ed-sentences__s:hover{background:#f6f2fb}.editnday .ed-sentences .ed-sentences__s.is-breath{background:#fff9e8;border-color:#e9c46a}.editnday .ed-sentences .ed-sentences__s.is-long{background:#fdf0ec;border-color:#e07a5f}.editnday .ed-sentences .ed-sentences__s.is-flag .ed-sentences__n{color:#b3412a}.editnday .ed-sentences .ed-sentences__n{color:#8b9698;flex:0 0 28px;font-variant-numeric:tabular-nums;text-align:right}.editnday .ed-sentences__toggle{align-self:flex-start;font-size:11px;margin-top:6px}.editnday .ed-koseo .ed-koseo__score{background:#f3ecfb;border-radius:999px;font-size:11px;padding:2px 8px;white-space:nowrap}.editnday .ed-koseo .ed-koseo__score.is-ok{background:#f0f2f2}.editnday .ed-koseo .ed-koseo__kw{align-items:center;display:grid;gap:4px 6px;grid-template-columns:1fr auto}.editnday .ed-koseo .ed-koseo__kw .ed-ghost{padding:0 12px;width:auto}.editnday .ed-koseo .ed-koseo__kw .ed-muted{font-size:11px;grid-column:1/-1}.editnday .ed-koseo .ed-koseo__item{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;font-size:12px;gap:8px;padding-top:7px}.editnday .ed-koseo .ed-koseo__item .ed-circ{flex-shrink:0;margin-top:1px}.editnday .ed-koseo .ed-koseo__body{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.editnday .ed-koseo .ed-koseo__head{align-items:baseline;display:flex;gap:6px;justify-content:space-between}.editnday .ed-koseo .ed-koseo__who{color:#c8cfd0;flex-shrink:0;font-size:10px;white-space:nowrap}.editnday .ed-koseo .ed-koseo__hint{color:#6b7272;font-size:11px;line-height:1.5}.editnday .ed-koseo .ed-koseo__foot{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;flex-direction:column;gap:4px;padding-top:6px}.editnday .ed-koseo .ed-koseo__foot .ed-muted{font-size:11px}.editnday .ed-stepper{display:flex;flex-direction:column;gap:6px;padding:2px 0 6px}.editnday .ed-stepper__flow{align-items:flex-start;display:flex}.editnday .ed-stepper__st{align-items:center;display:flex;flex:none;flex-direction:column;gap:4px;width:64px}.editnday .ed-stepper__dot{align-items:center;background:#fff;border:1.5px solid #c8cfd0;border-radius:50%;color:#8b9698;display:flex;font-size:10px;font-weight:600;height:20px;justify-content:center;width:20px}.editnday .ed-stepper__dot svg{height:11px;width:11px}.editnday .ed-stepper__lbl{color:#8b9698;font-size:10px;line-height:1.25;text-align:center}.editnday .ed-stepper__st.is-done .ed-stepper__dot{background:#243235;border-color:#243235;color:#fff}.editnday .ed-stepper__st.is-done .ed-stepper__lbl{color:#243235}.editnday .ed-stepper__st.is-now .ed-stepper__dot{background:#b48fe0;border-color:#b48fe0;color:#fff}.editnday .ed-stepper__st.is-now .ed-stepper__lbl{color:#243235;font-weight:600}.editnday .ed-stepper__link{align-items:center;display:flex;flex:1;flex-direction:column;gap:2px;min-width:0;padding-top:9px}.editnday .ed-stepper__link .ed-stepper__line{border-top:1.5px dashed #c8cfd0;width:100%}.editnday .ed-stepper__link em{color:#a3acad;font-size:9px;font-style:normal;white-space:nowrap}.editnday .ed-stepper__link.is-done .ed-stepper__line{border-top-color:#243235;border-top-style:solid}.editnday .ed-stepper__link.is-run .ed-stepper__line{animation:ed-stepper-run 1.2s ease-in-out infinite;border-top-color:#b48fe0}.editnday .ed-stepper__link.is-run em{color:#7d55b0;font-weight:600}.editnday .ed-stepper__note{color:#56676a;font-size:11px}@keyframes ed-stepper-run{0%,to{opacity:1}50%{opacity:.35}}.editnday .ed-fold{align-items:baseline;background:none;border:0;color:inherit;cursor:pointer;display:flex;font:inherit;gap:8px;padding:0;text-align:left;width:100%}.editnday .ed-fold .ed-lbl{margin:0}.editnday .ed-fold__v{flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-fold__i{font-size:12px;opacity:.7;text-decoration:underline}.editnday .ed-fold[aria-expanded=true]{margin-bottom:10px}.editnday .ed-preset{font-size:12.5px;margin:-4px 0 10px}.editnday .ed-preset .ed-chips{margin-top:8px}.ed-proinfo ul{list-style:disc;margin:8px 0 12px 20px}.ed-proinfo li{margin-bottom:4px}.ed-proinfo,.editnday{font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Segoe UI,system-ui,sans-serif;letter-spacing:0}.ed-proinfo :not(.ed-covdot):not(.ed-rdot):not(.ed-pulse):not(.ed-cta__dot),.editnday :not(.ed-covdot):not(.ed-rdot):not(.ed-pulse):not(.ed-cta__dot){border-radius:0!important}.editnday{color:#1b1e25}.editnday.ed-body{background:#f6f7f9}.editnday .ed-h{color:#1b1e25;font-weight:650}.editnday .ed-dim,.editnday .ed-muted,.editnday .ed-sub{color:#646c7a}.editnday .ed-lbl{color:#474f5c;font-weight:650}.editnday .ed-card,.editnday .ed-live,.editnday .ed-note,.editnday .ed-pastpost,.editnday .ed-serp,.editnday .ed-stat{background:#fff;border:1px solid #dde0e6;box-shadow:none}.editnday .components-text-control__input,.editnday .components-textarea-control__input,.editnday input[type=text],.editnday input[type=url],.editnday select,.editnday textarea{border:1px solid #7c8494;box-shadow:none}.editnday .components-text-control__input:focus,.editnday .components-textarea-control__input:focus,.editnday textarea:focus{border-color:#243235;box-shadow:0 0 0 1px #243235}.editnday .ed-cta{background:#243235;font-size:13px;font-weight:650;height:36px}.editnday .ed-cta:hover:not(:disabled){background:#1a2527}.editnday .ed-cta:disabled{background:#f0f2f5;border:1px solid #dde0e6;color:#646c7a}.editnday .ed-cta .ed-cta__dot{border-radius:0!important;height:30px;right:3px;top:3px;width:30px}.editnday .ed-ghost{background:#fff;border:1px solid #7c8494;color:#1b1e25;font-weight:600;height:32px}.editnday .ed-ghost:hover:not(:disabled){background:#f0f2f5}.editnday .ed-chip{border:1px solid #7c8494;color:#474f5c;font-weight:500;height:26px}.editnday .ed-chip.is-on{background:#243235;border-color:#243235;color:#fff}.editnday .ed-chip.is-lav{background:#f3ecfb;border-color:#b48fe0;color:#243235}.editnday .ed-tag{background:#fff;border:1px solid #7c8494;color:#474f5c;font-size:10.5px;height:20px;padding:0 6px}.editnday .ed-tag.is-lav{background:#f3ecfb;border-color:#b48fe0;color:#243235}.editnday .ed-tag.is-dark{background:#243235;border-color:#243235;color:#fff}.editnday .ed-stats{background:#fff;border:1px solid #dde0e6;gap:0}.editnday .ed-stat{border:0;border-right:1px solid #dde0e6}.editnday .ed-stat:last-child{border-right:0}.editnday .ed-big,.editnday .ed-koseo__score,.editnday .ed-stat__n{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:0}.editnday .ed-circ{border-radius:0!important}.editnday .ed-bar{background:#f0f2f5}.editnday .ed-note.is-error{background:#fdecea;border:1px solid rgba(180,35,24,.4)}.editnday .ed-segb{border:1px solid #7c8494}.editnday .ed-radio{border:1px solid #dde0e6}.editnday .ed-radio.is-on{border-color:#243235;box-shadow:inset 0 0 0 1px #243235}.ed-proinfo .ed-tabs,.editnday .ed-tabs{background:#fff;border:1px solid #dde0e6;gap:0;padding:0}.ed-proinfo .ed-tab,.editnday .ed-tab{border-right:1px solid #dde0e6;color:#474f5c;height:32px}.ed-proinfo .ed-tab:last-child,.editnday .ed-tab:last-child{border-right:0}.ed-proinfo .ed-tab.is-on,.editnday .ed-tab.is-on{background:#243235;box-shadow:none;color:#fff;font-weight:650}.editnday-header__pro{border-radius:0!important}.editnday .ed-cardhead{align-items:center;background:#fff;border-bottom:1px solid #dde0e6;display:flex;gap:8px;justify-content:space-between;margin:-10px -10px 4px;padding:8px 10px}.editnday .ed-cardhead__t{align-items:center;color:#1b1e25;display:inline-flex;font-size:12.5px;font-weight:650;gap:6px}.editnday .ed-mini.is-strong{background:#243235;border-color:#243235;color:#fff}.editnday .ed-mini.is-strong:disabled{background:#f0f2f5;border-color:#dde0e6;color:#646c7a}.editnday .ed-circ.is-warn{background:#fdf3dc;border-color:#8a5300;color:#8a5300;font-size:11px;font-weight:800;line-height:1}.editnday .ed-kwplace{background:#f0f2f5;border:1px solid #dde0e6;display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:8px 10px}.editnday .ed-kwplace .ed-quote{background:#fff;border:1px solid rgba(180,143,224,.5);color:#1b1e25;display:block;font-size:12px;line-height:1.6;margin:0;padding:6px 8px}.editnday .ed-kwplace .ed-quote.is-new{border-color:rgba(11,122,75,.45)}.editnday .ed-kwfix{display:flex;flex-direction:column;gap:6px;width:100%}.editnday .ed-kwfix .ed-quote{background:#fff;border:1px solid rgba(11,122,75,.45);display:block;font-size:12px;line-height:1.6;padding:6px 8px}.editnday .ed-found.is-on{border-color:#243235;box-shadow:0 0 0 1px #243235}.editnday-header__prover{font-weight:500;letter-spacing:0;margin-left:3px}.ed-kwvol{display:grid;font-size:12px;gap:6px;margin:2px 0 10px}.ed-kwvol p{margin:0}.ed-kwvol__self{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px}.ed-kwvol__comp{border:1px solid #c3c4c7;border-radius:2px;color:#50575e;margin-left:4px;padding:0 6px}.ed-kwvol__comp.is-high{border-color:#d63638;color:#a32022}.ed-kwvol__comp.is-low{border-color:#00a32a;color:#007017}.ed-kwvol__rel{display:grid;gap:4px}.ed-kwvol__chips{display:flex;flex-wrap:wrap;gap:4px}.ed-share{display:grid;gap:6px;margin:6px 0 4px}.ed-share__card{background:#fff;border:1px solid #dcdcde;border-radius:4px;overflow:hidden}.ed-share__img{aspect-ratio:1200/630;background-position:50%;background-size:cover;max-width:100%}.ed-share__text{display:grid;font-size:12px;gap:2px;padding:8px 10px}.ed-share__text strong{font-size:13px;line-height:1.35}.ed-share__desc{color:#50575e;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ed-alttext,.interface-complementary-area .ed-alttext{background:#f6f7f7;border:1px solid #e0e0e0;border-radius:3px;color:#3c434a;font-size:12px;line-height:1.5;margin:2px 0 8px 30px;padding:6px 8px;word-break:keep-all}.ed-aicite .ed-aicite__score{font-variant-numeric:tabular-nums;font-weight:700}.ed-aicite .ed-aicite__score.is-ok{color:#1f8a4c}.ed-aicite .ed-aicite__score.is-warn{color:#996800}.ed-aicite .ed-aicite__score.is-bad{color:#b32d2e}.ed-aicite .ed-aicite__bar{background:#f0f0f1;height:6px;margin:6px 0}.ed-aicite .ed-aicite__bar span{background:#1f8a4c;display:block;height:100%}.ed-aicite .ed-aicite__bar span.is-warn{background:#dba617}.ed-aicite .ed-aicite__bar span.is-bad{background:#d63638}.ed-aicite .ed-aicite__item{align-items:baseline;display:flex;font-size:12px;gap:8px;line-height:1.5;margin:6px 0}.ed-aicite .ed-aicite__pts{color:#1f8a4c;flex:none;font-variant-numeric:tabular-nums;font-weight:700;min-width:28px}1 .editnday{color:#243235;font-size:12px;letter-spacing:-.01em}.editnday *{box-sizing:border-box}.editnday.ed-body{background:#f4f5f5;display:flex;flex-direction:column;gap:8px;min-height:100%;padding:12px 12px 0}.editnday .ed-head{display:flex;flex-direction:column;gap:4px;padding:2px 0}.editnday .ed-eyebrow{color:#8b9698;font-size:11px;font-weight:500}.editnday .ed-h{color:#111416;font-size:15px;font-weight:600;letter-spacing:-.02em;line-height:1.4;margin:0}.editnday .ed-sub{color:#56676a;font-size:11.5px;line-height:1.55;margin:0}.editnday .ed-card{background:#fff;border-radius:10px;display:flex;flex-direction:column;gap:7px;min-width:0;padding:10px}.editnday .ed-lbl{color:#56676a;font-size:11px;font-weight:600}.editnday .ed-muted{color:#8b9698;font-size:11px}.editnday .ed-small{font-size:12px;line-height:1.5}.editnday .ed-strong{font-weight:600}.editnday .ed-dim{color:#56676a}.editnday .ed-faint{color:#c8cfd0}.editnday .ed-row{align-items:center;display:flex;gap:8px;min-width:0}.editnday .ed-between{justify-content:space-between}.editnday .ed-gap6{gap:6px;margin-top:3px}.editnday .components-text-control__input,.editnday .components-textarea-control__input{border-color:#e1e5e5;border-radius:7px;font-size:12px}.editnday .components-base-control__label{color:#56676a;font-size:11px;font-weight:600;text-transform:none}.editnday .ed-chips{display:flex;flex-wrap:wrap;gap:6px}.editnday .ed-chip{align-items:center;background:#fff;border:1px solid #e1e5e5;border-radius:999px;color:#56676a;cursor:pointer;display:inline-flex;font:inherit;font-size:11px;gap:4px;height:24px;padding:0 9px;white-space:nowrap}.editnday .ed-chip .ed-chip__lock{background:rgba(0,0,0,.08);border-radius:999px;font-size:10px;line-height:16px;padding:0 5px}.editnday .ed-chip.is-on .ed-chip__lock{background:hsla(0,0%,100%,.22)}.editnday .ed-chip.is-lav{background:#e6d6f7;border-color:#e6d6f7}.editnday .ed-chip.is-static{cursor:default}.editnday .ed-chip.is-static b{color:#243235}.editnday .ed-tag{align-items:center;background:#f4f5f5;border-radius:999px;color:#56676a;display:inline-flex;font-size:10px;font-weight:600;height:18px;padding:0 7px;white-space:nowrap}.editnday .ed-tag.is-lav{background:#e6d6f7}.editnday .ed-cta{border:0;border-radius:999px;color:#fff;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;height:38px;position:relative;width:100%}.editnday .ed-cta:disabled{background:#c8cfd0;cursor:not-allowed}.editnday .ed-cta .ed-cta__dot{align-items:center;background:#d3b7f1;border-radius:999px;display:flex;justify-content:center;position:absolute;right:4px;top:4px}.editnday .ed-ghost{background:transparent;border:1px solid #c8cfd0;border-radius:999px;color:#243235;cursor:pointer;font:inherit;font-size:12px;font-weight:500;width:100%}.editnday .ed-iconbtn{background:transparent;border:0;color:#56676a;cursor:pointer;font-size:16px;height:24px;line-height:1;width:24px}.editnday .ed-foot{background:#f4f5f5;border-top:1px solid #e9ecec;bottom:0;display:flex;flex-direction:column;gap:8px;margin:auto -12px 0;padding:10px 12px 12px;position:sticky}.editnday .ed-steps{display:flex;flex-direction:column;gap:9px}.editnday .ed-step{align-items:center;display:flex;font-size:12px;gap:8px;min-width:0}.editnday .ed-step.is-now{font-weight:600}.editnday .ed-step.is-todo{color:#8b9698}.editnday .ed-step .ed-step__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-circ{align-items:center;background:#fff;border:1.5px solid #c8cfd0;border-radius:999px;display:flex;flex:none;height:18px;justify-content:center;width:18px}.editnday .ed-step.is-done .ed-circ{background:#243235;border-color:#243235}.editnday .ed-step.is-now .ed-circ{background:#f3ecfb;border-color:#b48fe0}.editnday .ed-bar{background:#e9ecec;border-radius:999px;display:flex;height:8px;overflow:hidden}.editnday .ed-bar .ed-bar__fill{background:#243235;border-radius:999px;transition:width .4s ease}.editnday .ed-bar .ed-bar__hatch{background:repeating-linear-gradient(135deg,#d3b7f1 0 6px,transparent 6px 10px);flex:1}.editnday .ed-stats{display:flex;gap:8px}.editnday .ed-stat{background:#fff;border-radius:10px;display:flex;flex:1;flex-direction:column;gap:4px;min-width:0;padding:8px 9px}.editnday .ed-stat .ed-muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-stat__n{color:#111416;font-size:17px;font-weight:600;letter-spacing:-.02em}.editnday .ed-big{color:#111416;font-size:24px;font-weight:600;letter-spacing:-.03em}.editnday .ed-note{background:#fff;border-radius:10px;color:#56676a;font-size:11px;line-height:1.55;padding:8px 10px}.editnday .ed-pastpost{align-items:center;background:#f4f5f5;border-radius:8px;display:flex;gap:8px;padding:8px 10px}.editnday .ed-pastpost>div{flex:1;min-width:0}.editnday .ed-found{background:transparent;border:0;color:#243235;cursor:pointer;font:inherit;font-size:12px;padding:4px 2px;text-align:left}.editnday .ed-found:hover{background:#f4f5f5}.editnday .ed-cov{align-items:flex-start;display:flex;font-size:12px;gap:7px;line-height:1.45}.editnday .ed-cov .ed-cov__q{flex:1;min-width:0}.editnday .ed-covdot{border-radius:999px;flex:none;height:8px;margin-top:5px;width:8px}.editnday .ed-covdot.is-full{background:#243235}.editnday .ed-covdot.is-half{background:linear-gradient(90deg,#243235 50%,#d3b7f1 0)}.editnday .ed-covdot.is-empty{border:1.5px solid #b48fe0}.editnday .ed-radio{align-items:flex-start;background:#fff;border:1px solid #e9ecec;border-radius:7px;cursor:pointer;display:flex;font-size:12px;gap:7px;line-height:1.45;padding:7px 9px}.editnday .ed-radio input{opacity:0;pointer-events:none;position:absolute}.editnday .ed-rdot{align-items:center;border:1.5px solid #c8cfd0;border-radius:999px;display:flex;flex:none;height:15px;justify-content:center;margin-top:1px;width:15px}.editnday .ed-radio.is-on .ed-rdot{border-color:#243235}.editnday .ed-radio.is-on .ed-rdot:after{background:#243235;border-radius:999px;content:"";height:7px;width:7px}.editnday .ed-sec{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;gap:8px;padding:8px 0}.editnday .ed-sec:first-of-type{border-top:0}.editnday .ed-sec .ed-sec__body{flex:1;min-width:0}.editnday .ed-num{align-items:center;background:#f4f5f5;border-radius:999px;color:#56676a;display:flex;flex:none;font-size:10px;font-weight:700;height:18px;justify-content:center;width:18px}.editnday .ed-video{border-top:1px solid #e9ecec;display:flex;flex-direction:column;gap:8px;padding:10px 0}.editnday .ed-video__head{margin-top:6px}.editnday .ed-video__bar{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between}.editnday .ed-video__actions{display:flex;flex-shrink:0;gap:12px}.editnday .ed-video .ed-link{white-space:nowrap}.editnday .ed-fact{display:flex;flex-direction:column;gap:2px;padding:6px 0 0}.editnday .ed-review__head{align-items:center;background:transparent;border:0;cursor:pointer;display:flex;font:inherit;justify-content:space-between;padding:0}.editnday .ed-quote{background:#f3ecfb;border-radius:8px;color:#111416}.editnday .ed-fix,.editnday .ed-quote{font-size:12px;line-height:1.55;padding:8px 10px}.editnday .ed-fix{border:1px dashed #b48fe0;border-radius:8px}.editnday .ed-seg{display:flex;gap:6px}.editnday .ed-segb{background:#fff;border:1px solid #e1e5e5;border-radius:999px;color:#56676a;cursor:pointer;flex:1;font:inherit;font-size:11px;height:26px}.editnday .ed-segb.is-on{background:#243235;border-color:#243235;color:#fff}.editnday.ed-wide .components-modal__content{background:#f4f5f5}.editnday.ed-wide .ed-wide__body{align-items:start;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:782px){.editnday.ed-wide .ed-wide__body{grid-template-columns:minmax(0,1fr)}}.editnday.ed-wide .ed-sections{grid-row:span 3}.editnday.ed-wide .ed-wide__foot{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.editnday.ed-wide .ed-wide__foot .ed-ghost{padding:0 20px;width:auto}.editnday.ed-wide .ed-wide__foot .ed-cta{width:280px}.editor-header button[aria-controls="editnday:editnday-sidebar"].is-pressed,.interface-pinned-items button[aria-controls="editnday:editnday-sidebar"].is-pressed{background:#243235}.editor-header button[aria-controls="editnday:editnday-sidebar"].is-pressed svg path,.interface-pinned-items button[aria-controls="editnday:editnday-sidebar"].is-pressed svg path{fill:#d3b7f1}.editnday .ed-tasks{gap:0}.editnday .ed-taskwrap{border-top:1px solid #f0f2f2;display:flex;flex-direction:column;gap:6px;padding:7px 0}.editnday .ed-taskwrap:first-child{border-top:0;padding-top:0}.editnday .ed-task{align-items:center;display:flex;font-size:12px;gap:8px;min-width:0}.editnday .ed-task .ed-task__t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.editnday .ed-task .ed-task__t>.ed-muted{display:block;font-size:11px;line-height:1.35}.editnday .ed-tasks>.ed-task{border-top:1px solid #f0f2f2;padding-top:7px}.editnday .ed-circ.is-filled{background:#243235;border-color:#243235}.editnday .ed-circ.is-warn{background:#f3ecfb;border-color:#b48fe0}.editnday .ed-mini{background:#fff;border:1px solid #c8cfd0;border-radius:999px;color:#243235;cursor:pointer;flex:none;font:inherit;font-size:11px;height:24px;padding:0 9px}.editnday .ed-mini.is-plain{border-color:transparent;text-decoration:underline}.editnday .ed-mini.is-done{background:#f3ecfb;border-color:#e6d6f7}.editnday .ed-mini:disabled{cursor:default;opacity:.5}.editnday .ed-redo{display:flex;flex-direction:column;gap:8px}.editnday .ed-redo__title{align-items:center;display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:space-between;margin-top:-2px}.editnday .ed-redo__title>.ed-link{flex-basis:100%;text-align:left}.editnday .ed-redo__title .ed-chips{flex-wrap:nowrap}.editnday .ed-redo__actions{display:flex;flex-direction:column;gap:6px}.editnday .ed-redo .ed-link{align-self:flex-start;white-space:nowrap}.editnday .ed-band{background:#f3ecfb;border-radius:8px;font-size:12px;line-height:1.5;padding:8px 10px}.editnday .ed-band.is-warn{background:#fcf0e3;color:#5c3300}.editnday .ed-band a{font-weight:600}.editnday .ed-prohint{align-self:center;background:none;border:0;color:#6c48b5;cursor:pointer;flex:none;font:inherit;font-size:11px;padding:0;white-space:nowrap}.editnday .ed-prohint:hover{text-decoration:underline}.editnday .ed-prohint__tag{background:#243235;border-radius:999px;color:#e6d6f7;display:inline-block;font-size:9px;font-weight:700;letter-spacing:.06em;line-height:14px;padding:0 5px;vertical-align:1px}.editnday .ed-prohint-row{margin:-4px 0 6px 30px}.editnday .ed-procard{border:1px dashed #d3b7f1}.editnday .ed-koseo__body>.ed-prohint,.editnday .ed-redo>.ed-prohint{align-self:flex-start}.editnday .ed-tpl{border-top:1px dashed #e0e0e0;display:flex;flex-direction:column;gap:6px;padding-top:8px}.editnday .ed-tpl__swatches{display:flex;flex-wrap:wrap;gap:6px}.editnday .ed-tpl__row{align-items:start;column-gap:8px;display:grid;grid-template-columns:34px 1fr}.editnday .ed-tpl__label{color:#50575e;font-size:11px;font-weight:600;line-height:26px}.editnday .ed-tpl__sw--custom{background:#fff;border-style:dashed;color:#50575e;font-size:16px;font-weight:500}.editnday .ed-tpl__color{align-items:center;display:inline-flex;gap:6px}.editnday .ed-tpl__color input[type=color]{background:#fff;border:1px solid #c3c4c7;border-radius:4px;cursor:pointer;height:26px;padding:2px;width:28px}.editnday .ed-tpl__color input[type=text]{border:1px solid #c3c4c7;border-radius:4px;font-family:ui-monospace,Menlo,monospace;font-size:12px;height:26px;min-height:26px;padding:0 8px;text-transform:uppercase;width:88px}.editnday .ed-tpl__preview{border:1px solid rgba(0,0,0,.1);border-radius:6px;display:block;margin:2px auto 0;max-height:220px;max-width:100%}.editnday .ed-tpl__sw{border:1px solid rgba(0,0,0,.12);border-radius:8px;cursor:pointer;font-size:13px;font-weight:800;height:32px;width:32px}.editnday .ed-tpl__sw.is-on{box-shadow:0 0 0 2px #fff,0 0 0 4px #8e6bd1}.editnday .ed-tabs{background:#eef0f0;border-radius:999px;display:flex;gap:4px;margin:0 0 12px;padding:4px}.editnday .ed-tab{background:transparent;border:0;border-radius:999px;color:#5f6969;cursor:pointer;flex:1;font:inherit;font-size:12px;height:30px;padding:0 6px;white-space:nowrap}.editnday .ed-tab.is-on{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08);color:#243235;font-weight:600}.editnday .ed-tab:focus-visible{outline:2px solid #b48fe0}.editnday .ed-seomode{font-size:11px;line-height:1.5;margin:0 2px 10px}.editnday .ed-more{align-self:flex-start;margin:2px 2px 8px}.editnday .ed-autosend{font-size:11px;line-height:1.5;margin:4px 2px 0}.editnday .ed-autosend a{color:inherit}.editnday .ed-thumb{aspect-ratio:16/9;border-radius:8px;object-fit:cover;width:100%}.editnday .ed-serp{background:#fff;border:1px solid #e9ecec;border-radius:10px;display:flex;flex-direction:column;gap:3px;padding:10px}.editnday .ed-serp .ed-serp__u{color:#4d5156;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-serp .ed-serp__t{color:#1a0dab;font-size:14px;line-height:1.35}.editnday .ed-serp .ed-serp__d{color:#4d5156;font-size:11.5px;line-height:1.5}.editnday .ed-serp.is-naver .ed-serp__t{color:#001aad;font-weight:600}.editnday .ed-faq{display:flex;flex-direction:column;gap:8px}.editnday .ed-faq__item{display:flex;flex-direction:column;gap:2px}.editnday .ed-link{background:none;border:0;color:#243235;cursor:pointer;font:inherit;padding:0;text-decoration:underline}.editnday .ed-faq__item.is-edit{border-bottom:1px solid #f0f2f2;gap:6px;padding-bottom:8px}.editnday .ed-note.is-error{color:#c2463b}.editnday.ed-prepublish{display:flex;flex-direction:column;gap:8px}.interface-complementary-area:has(.editnday.ed-body),.interface-complementary-area:has(.editnday.ed-body) .components-panel{background:#f4f5f5}@keyframes ed-pulse{0%{box-shadow:0 0 0 0 rgba(180,143,224,.6)}70%{box-shadow:0 0 0 7px rgba(180,143,224,0)}to{box-shadow:0 0 0 0 rgba(180,143,224,0)}}@keyframes ed-hatch{0%{background-position:0 0}to{background-position:28px 0}}.editnday .ed-live{align-items:center;background:#f3ecfb;border-radius:10px;display:flex;font-size:11.5px;gap:8px;min-width:0;padding:8px 10px}.editnday .ed-live .ed-live__t{color:#243235;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-live .ed-elapsed{flex:none;font-variant-numeric:tabular-nums}.editnday .ed-pulse{background:#b48fe0;border-radius:999px;flex:none;height:8px;width:8px}.editnday .ed-pulse,.editnday .ed-step.is-now .ed-circ{animation:ed-pulse 1.4s ease-out infinite}.editnday .ed-bar.is-busy .ed-bar__hatch{animation:ed-hatch 1.2s linear infinite}@media(prefers-reduced-motion:reduce){.editnday .ed-bar.is-busy .ed-bar__hatch,.editnday .ed-pulse,.editnday .ed-step.is-now .ed-circ{animation:none}}.editnday-header{align-items:center;display:flex;flex:1;gap:8px;min-width:0}.editnday-header img{display:block;height:18px;width:auto}.editnday-header .editnday-header__ver{color:#8b9698;font-size:10.5px;font-variant-numeric:tabular-nums}.editnday-header .editnday-header__pro{background:#243235;border-radius:999px;color:#e6d6f7;font-size:9.5px;font-weight:700;letter-spacing:.06em;line-height:14px;margin-left:-2px;padding:1px 6px}.editnday .ed-busy{align-items:center;color:#243235;display:inline-flex;flex:none;font-size:11px;gap:6px}.editnday .ed-circ.is-busy{animation:ed-pulse 1.4s ease-out infinite;background:#f3ecfb;border-color:#b48fe0}.ed-req,.editnday .ed-req{background:#b48fe0;border-radius:50%;display:inline-block;height:5px;margin-left:4px;vertical-align:middle;width:5px}.ed-opt,.editnday .ed-opt{color:#a3acad;font-size:10px;font-weight:400;margin-left:4px}.editnday :is(.ed-lbl,.components-base-control__label):has(.ed-req){color:#111416;font-weight:700}.editnday :is(.ed-lbl,.components-base-control__label):has(.ed-opt){color:#8b9698;font-weight:500}.editnday :is(.ed-lbl,.components-base-control__label) .ed-muted{font-weight:400}.ed-hint{color:#8b9698;display:block;font-size:11px;margin-bottom:6px}.editnday .ed-small.is-warn{color:#9a5b00;display:block}.editnday .ed-textcheck .ed-textcheck__head{background:none;border:0;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:left;width:100%}.editnday .ed-textcheck .ed-textcheck__head:disabled{cursor:default}.editnday .ed-textcheck .ed-textcheck__sent{background:#f6f2fb;border:1px solid rgba(180,143,224,.45);border-radius:0;color:#3c4646;cursor:pointer;display:block;font:inherit;font-size:11px;line-height:1.5;margin:2px 0;padding:4px 8px;text-align:left;width:100%}.editnday .ed-textcheck .ed-textcheck__sent:hover{background:#efe6f8}.editnday .ed-textcheck .ed-koseo__body>.ed-link{align-self:flex-start;font-size:11px}.editnday .ed-sentences{border-top:1px solid #e1e5e5;display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px}.editnday .ed-sentences .ed-sentences__sec{display:flex;flex-direction:column;gap:2px}.editnday .ed-sentences .ed-sentences__h{color:#243235;font-size:11.5px}.editnday .ed-sentences .ed-sentences__s{align-items:flex-start;background:#fff;border:1px solid #e1e5e5;border-radius:0;color:#3c4646;cursor:pointer;display:flex;font:inherit;font-size:11px;gap:6px;line-height:1.5;margin:0;padding:3px 6px;text-align:left;width:100%}.editnday .ed-sentences .ed-sentences__s:hover{background:#f6f2fb}.editnday .ed-sentences .ed-sentences__s.is-breath{background:#fff9e8;border-color:#e9c46a}.editnday .ed-sentences .ed-sentences__s.is-long{background:#fdf0ec;border-color:#e07a5f}.editnday .ed-sentences .ed-sentences__s.is-flag .ed-sentences__n{color:#b3412a}.editnday .ed-sentences .ed-sentences__n{color:#8b9698;flex:0 0 28px;font-variant-numeric:tabular-nums;text-align:right}.editnday .ed-sentences__toggle{align-self:flex-start;font-size:11px;margin-top:6px}.editnday .ed-koseo .ed-koseo__score{background:#f3ecfb;border-radius:999px;font-size:11px;padding:2px 8px;white-space:nowrap}.editnday .ed-koseo .ed-koseo__score.is-ok{background:#f0f2f2}.editnday .ed-koseo .ed-koseo__kw{align-items:center;display:grid;gap:4px 6px;grid-template-columns:1fr auto}.editnday .ed-koseo .ed-koseo__kw .ed-ghost{padding:0 12px;width:auto}.editnday .ed-koseo .ed-koseo__kw .ed-muted{font-size:11px;grid-column:1/-1}.editnday .ed-koseo .ed-koseo__item{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;font-size:12px;gap:8px;padding-top:7px}.editnday .ed-koseo .ed-koseo__item .ed-circ{flex-shrink:0;margin-top:1px}.editnday .ed-koseo .ed-koseo__body{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.editnday .ed-koseo .ed-koseo__head{align-items:baseline;display:flex;gap:6px;justify-content:space-between}.editnday .ed-koseo .ed-koseo__who{color:#c8cfd0;flex-shrink:0;font-size:10px;white-space:nowrap}.editnday .ed-koseo .ed-koseo__hint{color:#6b7272;font-size:11px;line-height:1.5}.editnday .ed-koseo .ed-koseo__foot{align-items:flex-start;border-top:1px solid #f0f2f2;display:flex;flex-direction:column;gap:4px;padding-top:6px}.editnday .ed-koseo .ed-koseo__foot .ed-muted{font-size:11px}.editnday .ed-stepper{display:flex;flex-direction:column;gap:6px;padding:2px 0 6px}.editnday .ed-stepper__flow{align-items:flex-start;display:flex}.editnday .ed-stepper__st{align-items:center;display:flex;flex:none;flex-direction:column;gap:4px;width:64px}.editnday .ed-stepper__dot{align-items:center;background:#fff;border:1.5px solid #c8cfd0;border-radius:50%;color:#8b9698;display:flex;font-size:10px;font-weight:600;height:20px;justify-content:center;width:20px}.editnday .ed-stepper__dot svg{height:11px;width:11px}.editnday .ed-stepper__lbl{color:#8b9698;font-size:10px;line-height:1.25;text-align:center}.editnday .ed-stepper__st.is-done .ed-stepper__dot{background:#243235;border-color:#243235;color:#fff}.editnday .ed-stepper__st.is-done .ed-stepper__lbl{color:#243235}.editnday .ed-stepper__st.is-now .ed-stepper__dot{background:#b48fe0;border-color:#b48fe0;color:#fff}.editnday .ed-stepper__st.is-now .ed-stepper__lbl{color:#243235;font-weight:600}.editnday .ed-stepper__link{align-items:center;display:flex;flex:1;flex-direction:column;gap:2px;min-width:0;padding-top:9px}.editnday .ed-stepper__link .ed-stepper__line{border-top:1.5px dashed #c8cfd0;width:100%}.editnday .ed-stepper__link em{color:#a3acad;font-size:9px;font-style:normal;white-space:nowrap}.editnday .ed-stepper__link.is-done .ed-stepper__line{border-top-color:#243235;border-top-style:solid}.editnday .ed-stepper__link.is-run .ed-stepper__line{animation:ed-stepper-run 1.2s ease-in-out infinite;border-top-color:#b48fe0}.editnday .ed-stepper__link.is-run em{color:#7d55b0;font-weight:600}.editnday .ed-stepper__note{color:#56676a;font-size:11px}@keyframes ed-stepper-run{0%,to{opacity:1}50%{opacity:.35}}.editnday .ed-fold{align-items:baseline;background:none;border:0;color:inherit;cursor:pointer;display:flex;font:inherit;gap:8px;padding:0;text-align:left;width:100%}.editnday .ed-fold .ed-lbl{margin:0}.editnday .ed-fold__v{flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editnday .ed-fold__i{font-size:12px;opacity:.7;text-decoration:underline}.editnday .ed-fold[aria-expanded=true]{margin-bottom:10px}.editnday .ed-preset{font-size:12.5px;margin:-4px 0 10px}.editnday .ed-preset .ed-chips{margin-top:8px}.ed-proinfo ul{list-style:disc;margin:8px 0 12px 20px}.ed-proinfo li{margin-bottom:4px}.ed-proinfo,.editnday{font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Segoe UI,system-ui,sans-serif;letter-spacing:0}.ed-proinfo :not(.ed-covdot):not(.ed-rdot):not(.ed-pulse):not(.ed-cta__dot),.editnday :not(.ed-covdot):not(.ed-rdot):not(.ed-pulse):not(.ed-cta__dot){border-radius:0!important}.editnday{color:#1b1e25}.editnday.ed-body{background:#f6f7f9}.editnday .ed-h{color:#1b1e25;font-weight:650}.editnday .ed-dim,.editnday .ed-muted,.editnday .ed-sub{color:#646c7a}.editnday .ed-lbl{color:#474f5c;font-weight:650}.editnday .ed-card,.editnday .ed-live,.editnday .ed-note,.editnday .ed-pastpost,.editnday .ed-serp,.editnday .ed-stat{background:#fff;border:1px solid #dde0e6;box-shadow:none}.editnday .components-text-control__input,.editnday .components-textarea-control__input,.editnday input[type=text],.editnday input[type=url],.editnday select,.editnday textarea{border:1px solid #7c8494;box-shadow:none}.editnday .components-text-control__input:focus,.editnday .components-textarea-control__input:focus,.editnday textarea:focus{border-color:#243235;box-shadow:0 0 0 1px #243235}.editnday .ed-cta{background:#243235;font-size:13px;font-weight:650;height:36px}.editnday .ed-cta:hover:not(:disabled){background:#1a2527}.editnday .ed-cta:disabled{background:#f0f2f5;border:1px solid #dde0e6;color:#646c7a}.editnday .ed-cta .ed-cta__dot{border-radius:0!important;height:30px;right:3px;top:3px;width:30px}.editnday .ed-ghost{background:#fff;border:1px solid #7c8494;color:#1b1e25;font-weight:600;height:32px}.editnday .ed-ghost:hover:not(:disabled){background:#f0f2f5}.editnday .ed-chip{border:1px solid #7c8494;color:#474f5c;font-weight:500;height:26px}.editnday .ed-chip.is-on{background:#243235;border-color:#243235;color:#fff}.editnday .ed-chip.is-lav{background:#f3ecfb;border-color:#b48fe0;color:#243235}.editnday .ed-tag{background:#fff;border:1px solid #7c8494;color:#474f5c;font-size:10.5px;height:20px;padding:0 6px}.editnday .ed-tag.is-lav{background:#f3ecfb;border-color:#b48fe0;color:#243235}.editnday .ed-tag.is-dark{background:#243235;border-color:#243235;color:#fff}.editnday .ed-stats{background:#fff;border:1px solid #dde0e6;gap:0}.editnday .ed-stat{border:0;border-right:1px solid #dde0e6}.editnday .ed-stat:last-child{border-right:0}.editnday .ed-big,.editnday .ed-koseo__score,.editnday .ed-stat__n{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:0}.editnday .ed-circ{border-radius:0!important}.editnday .ed-bar{background:#f0f2f5}.editnday .ed-note.is-error{background:#fdecea;border:1px solid rgba(180,35,24,.4)}.editnday .ed-segb{border:1px solid #7c8494}.editnday .ed-radio{border:1px solid #dde0e6}.editnday .ed-radio.is-on{border-color:#243235;box-shadow:inset 0 0 0 1px #243235}.ed-proinfo .ed-tabs,.editnday .ed-tabs{background:#fff;border:1px solid #dde0e6;gap:0;padding:0}.ed-proinfo .ed-tab,.editnday .ed-tab{border-right:1px solid #dde0e6;color:#474f5c;height:32px}.ed-proinfo .ed-tab:last-child,.editnday .ed-tab:last-child{border-right:0}.ed-proinfo .ed-tab.is-on,.editnday .ed-tab.is-on{background:#243235;box-shadow:none;color:#fff;font-weight:650}.editnday-header__pro{border-radius:0!important}.editnday .ed-cardhead{align-items:center;background:#fff;border-bottom:1px solid #dde0e6;display:flex;gap:8px;justify-content:space-between;margin:-10px -10px 4px;padding:8px 10px}.editnday .ed-cardhead__t{align-items:center;color:#1b1e25;display:inline-flex;font-size:12.5px;font-weight:650;gap:6px}.editnday .ed-mini.is-strong{background:#243235;border-color:#243235;color:#fff}.editnday .ed-mini.is-strong:disabled{background:#f0f2f5;border-color:#dde0e6;color:#646c7a}.editnday .ed-circ.is-warn{background:#fdf3dc;border-color:#8a5300;color:#8a5300;font-size:11px;font-weight:800;line-height:1}.editnday .ed-kwplace{background:#f0f2f5;border:1px solid #dde0e6;display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:8px 10px}.editnday .ed-kwplace .ed-quote{background:#fff;border:1px solid rgba(180,143,224,.5);color:#1b1e25;display:block;font-size:12px;line-height:1.6;margin:0;padding:6px 8px}.editnday .ed-kwplace .ed-quote.is-new{border-color:rgba(11,122,75,.45)}.editnday .ed-kwfix{display:flex;flex-direction:column;gap:6px;width:100%}.editnday .ed-kwfix .ed-quote{background:#fff;border:1px solid rgba(11,122,75,.45);display:block;font-size:12px;line-height:1.6;padding:6px 8px}.editnday .ed-found.is-on{border-color:#243235;box-shadow:0 0 0 1px #243235}.editnday-header__prover{font-weight:500;letter-spacing:0;margin-left:3px}.ed-kwvol{display:grid;font-size:12px;gap:6px;margin:2px 0 10px}.ed-kwvol p{margin:0}.ed-kwvol__self{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px}.ed-kwvol__comp{border:1px solid #c3c4c7;border-radius:2px;color:#50575e;margin-left:4px;padding:0 6px}.ed-kwvol__comp.is-high{border-color:#d63638;color:#a32022}.ed-kwvol__comp.is-low{border-color:#00a32a;color:#007017}.ed-kwvol__rel{display:grid;gap:4px}.ed-kwvol__chips{display:flex;flex-wrap:wrap;gap:4px}.ed-share{display:grid;gap:6px;margin:6px 0 4px}.ed-share__card{background:#fff;border:1px solid #dcdcde;border-radius:4px;overflow:hidden}.ed-share__img{aspect-ratio:1200/630;background-position:50%;background-size:cover;max-width:100%}.ed-share__text{display:grid;font-size:12px;gap:2px;padding:8px 10px}.ed-share__text strong{font-size:13px;line-height:1.35}.ed-share__desc{color:#50575e;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ed-alttext,.interface-complementary-area .ed-alttext{background:#f6f7f7;border:1px solid #e0e0e0;border-radius:3px;color:#3c434a;font-size:12px;line-height:1.5;margin:2px 0 8px 30px;padding:6px 8px;word-break:keep-all}.ed-aicite .ed-aicite__score{font-variant-numeric:tabular-nums;font-weight:700}.ed-aicite .ed-aicite__score.is-ok{color:#1f8a4c}.ed-aicite .ed-aicite__score.is-warn{color:#996800}.ed-aicite .ed-aicite__score.is-bad{color:#b32d2e}.ed-aicite .ed-aicite__bar{background:#f0f0f1;height:6px;margin:6px 0}.ed-aicite .ed-aicite__bar span{background:#1f8a4c;display:block;height:100%}.ed-aicite .ed-aicite__bar span.is-warn{background:#dba617}.ed-aicite .ed-aicite__bar span.is-bad{background:#d63638}.ed-aicite .ed-aicite__item{align-items:baseline;display:flex;font-size:12px;gap:8px;line-height:1.5;margin:6px 0}.ed-aicite .ed-aicite__pts{color:#1f8a4c;flex:none;font-variant-numeric:tabular-nums;font-weight:700;min-width:28px} -
editnday/trunk/editnday.php
r3743363 r3747744 4 4 * Plugin URI: https://editn.day 5 5 * Description: Korean writing check and publishing assistant: spelling, AI-sounding phrases, SEO and Naver previews, summary and FAQ boxes, search engine registration. Runs entirely on your site. 6 * Version: 1.0. 776 * Version: 1.0.88 7 7 * Requires at least: 6.6 8 8 * Requires PHP: 8.1 … … 16 16 defined( 'ABSPATH' ) || exit; 17 17 18 define( 'EDITNDAY_VERSION', '1.0. 77' );18 define( 'EDITNDAY_VERSION', '1.0.88' ); 19 19 define( 'EDITNDAY_FILE', __FILE__ ); 20 20 define( 'EDITNDAY_DIR', plugin_dir_path( __FILE__ ) ); -
editnday/trunk/readme.txt
r3743363 r3747744 5 5 Tested up to: 7.1 6 6 Requires PHP: 8.1 7 Stable tag: 1.0. 777 Stable tag: 1.0.88 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 83 83 == Changelog == 84 84 85 = 1.0.88 = 86 * Background-template thumbnails (no AI): a live preview while you choose; five sizes (share 1.91:1, 16:9, 4:3, 3:4, 9:16); three layouts (centered, magazine with a small site label and accent bar, bottom band); pick any background color with a color picker or hex code (text color adjusts automatically); the title size now fits its length; your last choices are remembered. 87 85 88 = 1.0.77 = 86 89 * Reach counting: after the first beacon (sent when the tab is hidden or closed) a reader who comes back and reads further now sends a correction, so switching tabs midway no longer leaves the post marked as unfinished; visits are still counted once per session. Pro: post titles in the Performance table no longer show HTML entities for quotes. … … 95 98 * Korean text check gains two readability items: "too many adverbs" (two or more intensifiers such as 정말·너무·아주 in one sentence) and "run-on sentence" (four or more clauses joined by -고/-는데/-지만). A new "sentence view" lists every sentence on its own line with its length, and "read aloud" speaks a section with the browser voice so awkward sentences are caught by ear. Everything runs in the browser; nothing leaves your site. 96 99 97 = 1.0.71 =98 * Site Open step 3: Naver and Google are now marked as required and Bing/Daum as optional, the step summary reads "required n / 2 · optional n / 2" and turns green once both required engines are verified, and the registration guide collapses for engines that already have a code so only the remaining ones stay expanded.99 100 100 Full history (Korean): https://editn.day/updates -
editnday/trunk/src/publish.js
r3740496 r3747744 10 10 } from '@wordpress/components'; 11 11 import { dispatch, select, useSelect } from '@wordpress/data'; 12 import { createInterpolateElement, useMemo, useState } from '@wordpress/element'; 12 import { 13 createInterpolateElement, 14 useEffect, 15 useMemo, 16 useState, 17 } from '@wordpress/element'; 13 18 import { showSentence } from './blocks'; 14 19 import { plain } from './textcheck'; … … 672 677 } 673 678 679 /** 배경 틀 비율 (10-15 대표: AI와 같은 4가지 + 공유 미리보기 크기). [키, 이름, 너비, 높이] */ 680 export const TPL_ASPECTS = [ 681 [ 'og', __( '공유 1.91:1', 'editnday' ), 1200, 630 ], 682 [ '16:9', __( '가로 16:9', 'editnday' ), 1600, 900 ], 683 [ '4:3', __( '가로 4:3', 'editnday' ), 1440, 1080 ], 684 [ '3:4', __( '세로 3:4', 'editnday' ), 1080, 1440 ], 685 [ '9:16', __( '세로 9:16', 'editnday' ), 1080, 1920 ], 686 ]; 687 /** 배경 틀 배치 (10-15 대표). [키, 이름] */ 688 export const TPL_LAYOUTS = [ 689 [ 'center', __( '가운데', 'editnday' ) ], 690 [ 'magazine', __( '잡지형', 'editnday' ) ], 691 [ 'band', __( '아래 띠', 'editnday' ) ], 692 ]; 693 694 /** 바탕색에 맞는 글자색 (밝으면 먹색, 어두우면 흰색) */ 695 function inkFor( hex ) { 696 const m = /^#?([0-9a-f]{6})$/i.exec( hex || '' ); 697 if ( ! m ) { 698 return '#ffffff'; 699 } 700 const [ r, g, b ] = [ 0, 2, 4 ].map( 701 ( i ) => parseInt( m[ 1 ].slice( i, i + 2 ), 16 ) / 255 702 ); 703 const lin = ( c ) => 704 c <= 0.03928 ? c / 12.92 : ( ( c + 0.055 ) / 1.055 ) ** 2.4; 705 const lum = 0.2126 * lin( r ) + 0.7152 * lin( g ) + 0.0722 * lin( b ); 706 return lum > 0.45 ? '#1f2a2c' : '#ffffff'; 707 } 708 674 709 /** 675 * 배경 틀로 대표 이미지 만들기 (크레딧 없음, 서버를 부르지 않음): 1200×630(공유 미리보기 크기)에 제목을 가운데, 아래에 사이트 이름 676 * @param {string} text 그림에 넣을 제목 677 * @param {string} template TEMPLATES의 키 710 * 제목이 maxLines 줄 안에 말줄임 없이 들어가는 가장 큰 글자 크기 (짧은 제목은 크게, 긴 제목은 작게) 711 * @param ctx 712 * @param text 713 * @param maxWidth 714 * @param maxSize 715 * @param minSize 716 * @param maxLines 678 717 */ 679 export async function templateFeatured( text, template = 'ink' ) { 680 if ( ! text.trim() ) { 681 return null; 682 } 683 await loadTitleFont(); 684 const [ key, , colors, ink ] = 685 TEMPLATES.find( ( t ) => t[ 0 ] === template ) || TEMPLATES[ 0 ]; 686 const w = 1200; 687 const h = 630; 718 function fitTitle( ctx, text, maxWidth, maxSize, minSize, maxLines = 3 ) { 719 for ( let size = maxSize; size > minSize; size -= 4 ) { 720 ctx.font = `800 ${ size }px ${ TITLE_FONT }`; 721 if ( wrapTitle( ctx, text, maxWidth, Infinity ).length <= maxLines ) { 722 return { size, lines: wrapTitle( ctx, text, maxWidth, maxLines ) }; 723 } 724 } 725 ctx.font = `800 ${ minSize }px ${ TITLE_FONT }`; 726 return { size: minSize, lines: wrapTitle( ctx, text, maxWidth, maxLines ) }; 727 } 728 729 /** 730 * 배경 틀 그리기 (캔버스, 서버·AI 없음). 미리보기와 올리기가 같은 함수를 쓴다 731 * @param {Object} o 732 * @param {string} o.text 그림에 넣을 제목 733 * @param {string} o.template TEMPLATES의 키, 또는 'custom' 734 * @param {string} o.color custom일 때 바탕색 "#RRGGBB" 735 * @param {string} o.layout TPL_LAYOUTS의 키 736 * @param {string} o.aspect TPL_ASPECTS의 키 737 * @param {number} o.scale 미리보기용 축소 (1 = 원래 크기) 738 */ 739 export function drawTemplate( { 740 text, 741 template = 'ink', 742 color = '', 743 layout = 'center', 744 aspect = 'og', 745 scale = 1, 746 } ) { 747 const custom = template === 'custom' && /^#[0-9a-f]{6}$/i.test( color ); 748 const [ , , colors, ink ] = custom 749 ? [ 'custom', '', [ color ], inkFor( color ) ] 750 : TEMPLATES.find( ( t ) => t[ 0 ] === template ) || TEMPLATES[ 0 ]; 751 const [ , , W, H ] = 752 TPL_ASPECTS.find( ( a ) => a[ 0 ] === aspect ) || TPL_ASPECTS[ 0 ]; 753 const w = Math.round( W * scale ); 754 const h = Math.round( H * scale ); 688 755 const canvas = document.createElement( 'canvas' ); 689 756 canvas.width = w; 690 757 canvas.height = h; 691 758 const ctx = canvas.getContext( '2d' ); 692 if ( colors.length > 1 ) { 693 const g = ctx.createLinearGradient( 0, 0, w, h ); 694 g.addColorStop( 0, colors[ 0 ] ); 695 g.addColorStop( 1, colors[ 1 ] ); 696 ctx.fillStyle = g; 697 } else { 698 ctx.fillStyle = colors[ 0 ]; 699 } 759 const paint = () => { 760 if ( colors.length > 1 ) { 761 const g = ctx.createLinearGradient( 0, 0, w, h ); 762 g.addColorStop( 0, colors[ 0 ] ); 763 g.addColorStop( 1, colors[ 1 ] ); 764 return g; 765 } 766 return colors[ 0 ]; 767 }; 768 ctx.fillStyle = paint(); 700 769 ctx.fillRect( 0, 0, w, h ); 701 const size = 72; 770 const base = Math.min( w, h ); 771 const pad = Math.round( base * 0.1 ); 772 const site = String( window.editndayConfig?.siteName || '' ) 773 .trim() 774 .slice( 0, 40 ); 775 const small = Math.round( base * 0.042 ); 776 ctx.textBaseline = 'alphabetic'; 777 778 if ( layout === 'band' ) { 779 // 아래 띠: 위는 바탕색, 아래 띠는 글자색으로 칠하고 그 위에 바탕색 제목 (왼쪽 정렬) 780 const bandH = Math.round( h * ( h > w ? 0.34 : 0.4 ) ); 781 ctx.fillStyle = ink; 782 ctx.fillRect( 0, h - bandH, w, bandH ); 783 const { size, lines } = fitTitle( 784 ctx, 785 text, 786 w - pad * 2, 787 Math.round( base * 0.12 ), 788 Math.round( base * 0.06 ), 789 2 790 ); 791 ctx.font = `800 ${ size }px ${ TITLE_FONT }`; 792 ctx.fillStyle = colors.length > 1 ? colors[ 0 ] : colors[ 0 ]; 793 ctx.textAlign = 'left'; 794 const lead = Math.round( size * 1.25 ); 795 const blockH = size + ( lines.length - 1 ) * lead; 796 const y0 = h - bandH + ( bandH - blockH ) / 2 + size * 0.85; 797 lines.forEach( ( l, i ) => ctx.fillText( l, pad, y0 + i * lead ) ); 798 if ( site ) { 799 ctx.font = `700 ${ small }px ${ TITLE_FONT }`; 800 ctx.fillStyle = ink; 801 ctx.globalAlpha = 0.75; 802 ctx.fillText( site, pad, pad + small ); 803 ctx.globalAlpha = 1; 804 } 805 return canvas; 806 } 807 808 if ( layout === 'magazine' ) { 809 // 잡지형: 위에 사이트 이름 꼬리표, 아래쪽에 짧은 막대 + 큰 제목 (왼쪽 정렬) 810 ctx.fillStyle = ink; 811 ctx.textAlign = 'left'; 812 if ( site ) { 813 ctx.font = `700 ${ small }px ${ TITLE_FONT }`; 814 ctx.globalAlpha = 0.8; 815 ctx.fillText( site, pad, pad + small ); 816 ctx.globalAlpha = 1; 817 } 818 const { size, lines } = fitTitle( 819 ctx, 820 text, 821 w - pad * 2, 822 Math.round( base * 0.14 ), 823 Math.round( base * 0.07 ), 824 h > w ? 4 : 3 825 ); 826 ctx.font = `800 ${ size }px ${ TITLE_FONT }`; 827 const lead = Math.round( size * 1.22 ); 828 const lastY = h - pad; 829 const firstY = lastY - ( lines.length - 1 ) * lead; 830 ctx.fillRect( 831 pad, 832 firstY - size - Math.round( base * 0.05 ), 833 Math.round( base * 0.09 ), 834 Math.max( 3, Math.round( base * 0.012 ) ) 835 ); 836 lines.forEach( ( l, i ) => ctx.fillText( l, pad, firstY + i * lead ) ); 837 return canvas; 838 } 839 840 // 가운데 (처음 틀): 제목 가운데, 아래에 사이트 이름 841 const { size, lines } = fitTitle( 842 ctx, 843 text, 844 w - pad * 2, 845 Math.round( base * 0.14 ), 846 Math.round( base * 0.07 ), 847 h > w ? 4 : 3 848 ); 702 849 ctx.font = `800 ${ size }px ${ TITLE_FONT }`; 703 850 ctx.fillStyle = ink; 704 851 ctx.textAlign = 'center'; 705 ctx.textBaseline = 'alphabetic'; 706 const lines = wrapTitle( ctx, text, w - 200 ); 707 const lead = Math.round( size * 1.3 ); 852 const lead = Math.round( size * 1.28 ); 708 853 const block = ( lines.length - 1 ) * lead; 709 const y0 = ( h - block ) / 2 + size * 0.35 - 16;854 const y0 = ( h - block ) / 2 + size * 0.35 - small * 0.4; 710 855 lines.forEach( ( l, i ) => ctx.fillText( l, w / 2, y0 + i * lead ) ); 711 const site = String( window.editndayConfig?.siteName || '' ).trim();712 856 if ( site ) { 713 ctx.font = `700 26px ${ TITLE_FONT }`;857 ctx.font = `700 ${ small }px ${ TITLE_FONT }`; 714 858 ctx.globalAlpha = 0.72; 715 ctx.fillText( site .slice( 0, 40 ), w / 2, h - 56);859 ctx.fillText( site, w / 2, h - pad * 0.9 ); 716 860 ctx.globalAlpha = 1; 717 861 } 862 return canvas; 863 } 864 865 /** 866 * 배경 틀로 대표 이미지 만들기 (크레딧 없음, 서버를 부르지 않음). 867 * 10-15: 비율 5가지 · 배치 3가지 · 직접 고른 색 · 제목 길이에 맞춘 글자 크기 868 * @param {string} text 그림에 넣을 제목 869 * @param {string} template TEMPLATES의 키, 또는 'custom' 870 * @param {Object} opts { color, layout, aspect } 871 */ 872 export async function templateFeatured( text, template = 'ink', opts = {} ) { 873 if ( ! text.trim() ) { 874 return null; 875 } 876 await loadTitleFont(); 877 const canvas = drawTemplate( { text, template, ...opts } ); 878 const key = 879 template === 'custom' 880 ? `custom-${ String( opts.color || '' ).replace( '#', '' ) }` 881 : template; 718 882 return uploadFeatured( canvas, { template: key, alt: text.trim() } ); 719 883 } 720 884 885 /** 미리보기용: 글꼴을 불러온 뒤 작게 그려 data URL로 */ 886 export async function templatePreview( o ) { 887 if ( ! o.text?.trim() ) { 888 return ''; 889 } 890 await loadTitleFont(); 891 return drawTemplate( { ...o, scale: 0.3 } ).toDataURL( 'image/jpeg', 0.8 ); 892 } 893 721 894 /** 722 * 낱말 단위로 줄을 나눈다 (낱말 하나가 너무 길면 글자 단위로). 많아야 3줄, 넘치면 말줄임895 * 낱말 단위로 줄을 나눈다 (낱말 하나가 너무 길면 글자 단위로). 많아야 maxLines줄(기본 3), 넘치면 말줄임 723 896 * @param ctx 724 897 * @param text 725 898 * @param maxWidth 726 899 */ 727 function wrapTitle( ctx, text, maxWidth ) {900 function wrapTitle( ctx, text, maxWidth, maxLines = 3 ) { 728 901 const lines = []; 729 902 let line = ''; … … 756 929 lines.push( line ); 757 930 } 758 if ( lines.length > 3) {759 lines.length = 3;760 lines[ 2 ] = lines[ 2].replace( /.$/, '…' );931 if ( lines.length > maxLines ) { 932 lines.length = maxLines; 933 lines[ maxLines - 1 ] = lines[ maxLines - 1 ].replace( /.$/, '…' ); 761 934 } 762 935 return lines; … … 1431 1604 const [ titlePos, setTitlePos ] = useState( 'bottom' ); 1432 1605 const [ titleKind, setTitleKind ] = useState( 'title' ); 1433 const [ tpl, setTpl ] = useState( 'ink' ); 1606 // 배경 틀 (10-15): 색·배치·비율·직접 고른 색은 마지막 것을 기억, 미리보기는 고를 때마다 다시 그림 1607 const [ tplOpts, setTplOptsState ] = useState( () => { 1608 try { 1609 return { 1610 tpl: 'ink', 1611 layout: 'center', 1612 aspect: 'og', 1613 color: '#2F5D50', 1614 ...JSON.parse( window.localStorage.getItem( 'editndayTpl' ) || '{}' ), 1615 }; 1616 } catch { 1617 return { tpl: 'ink', layout: 'center', aspect: 'og', color: '#2F5D50' }; 1618 } 1619 } ); 1620 const setTplOpts = ( patch ) => 1621 setTplOptsState( ( o ) => { 1622 const n = { ...o, ...patch }; 1623 try { 1624 window.localStorage.setItem( 'editndayTpl', JSON.stringify( n ) ); 1625 } catch {} 1626 return n; 1627 } ); 1628 const tpl = tplOpts.tpl; 1629 const [ tplPreview, setTplPreview ] = useState( '' ); 1630 const tplText = onImage.trim() || st.title?.trim() || ''; 1631 useEffect( () => { 1632 let gone = false; 1633 const t = setTimeout( () => { 1634 templatePreview( { 1635 text: tplText, 1636 template: tplOpts.tpl, 1637 color: tplOpts.color, 1638 layout: tplOpts.layout, 1639 aspect: tplOpts.aspect, 1640 } ) 1641 .then( ( u ) => ! gone && setTplPreview( u ) ) 1642 .catch( () => ! gone && setTplPreview( '' ) ); 1643 }, 150 ); 1644 return () => { 1645 gone = true; 1646 clearTimeout( t ); 1647 }; 1648 }, [ tplText, tplOpts ] ); 1434 1649 // 이어지는 내 글: null(아직 안 찾음) | [] | [{id,title,url,date,added}] 1435 1650 const [ related, setRelated ] = useState( null ); … … 1864 2079 ) } 1865 2080 </span> 1866 <span className="ed-tpl__swatches"> 1867 { TEMPLATES.map( ( [ k, l, c, ink ] ) => ( 2081 <div className="ed-tpl__row"> 2082 <span className="ed-tpl__label"> 2083 { __( '색', 'editnday' ) } 2084 </span> 2085 <span className="ed-tpl__swatches"> 2086 { TEMPLATES.map( ( [ k, l, c, ink ] ) => ( 2087 <button 2088 key={ k } 2089 type="button" 2090 className={ `ed-tpl__sw${ 2091 tpl === k ? ' is-on' : '' 2092 }` } 2093 style={ { 2094 background: 2095 c.length > 1 2096 ? `linear-gradient(135deg, ${ c[ 0 ] }, ${ c[ 1 ] })` 2097 : c[ 0 ], 2098 color: ink, 2099 } } 2100 aria-pressed={ tpl === k } 2101 title={ l } 2102 onClick={ () => setTplOpts( { tpl: k } ) } 2103 > 2104 { __( '가', 'editnday' ) } 2105 </button> 2106 ) ) } 1868 2107 <button 1869 key={ k }1870 2108 type="button" 1871 className={ `ed-tpl__sw ${1872 tpl === k? ' is-on' : ''2109 className={ `ed-tpl__sw ed-tpl__sw--custom${ 2110 tpl === 'custom' ? ' is-on' : '' 1873 2111 }` } 1874 style={ { 1875 background: 1876 c.length > 1 1877 ? `linear-gradient(135deg, ${ c[ 0 ] }, ${ c[ 1 ] })` 1878 : c[ 0 ], 1879 color: ink, 1880 } } 1881 aria-pressed={ tpl === k } 1882 title={ l } 1883 onClick={ () => setTpl( k ) } 2112 style={ 2113 tpl === 'custom' 2114 ? { background: tplOpts.color } 2115 : undefined 2116 } 2117 aria-pressed={ tpl === 'custom' } 2118 title={ __( '직접 고른 색', 'editnday' ) } 2119 onClick={ () => setTplOpts( { tpl: 'custom' } ) } 1884 2120 > 1885 { __( '가', 'editnday' )}2121 { tpl === 'custom' ? '' : '+' } 1886 2122 </button> 1887 ) ) } 1888 </span> 2123 </span> 2124 </div> 2125 { tpl === 'custom' && ( 2126 <div className="ed-tpl__row"> 2127 <span className="ed-tpl__label" /> 2128 <span className="ed-tpl__color"> 2129 <input 2130 type="color" 2131 aria-label={ __( '바탕색 고르기', 'editnday' ) } 2132 value={ 2133 /^#[0-9a-f]{6}$/i.test( tplOpts.color ) 2134 ? tplOpts.color 2135 : '#2F5D50' 2136 } 2137 onChange={ ( e ) => 2138 setTplOpts( { color: e.target.value } ) 2139 } 2140 /> 2141 <input 2142 type="text" 2143 aria-label={ __( '바탕색 hex', 'editnday' ) } 2144 value={ tplOpts.color } 2145 maxLength={ 7 } 2146 spellCheck={ false } 2147 onChange={ ( e ) => { 2148 const v = e.target.value.trim(); 2149 setTplOpts( { 2150 color: v.startsWith( '#' ) ? v : '#' + v, 2151 } ); 2152 } } 2153 /> 2154 </span> 2155 </div> 2156 ) } 2157 <div className="ed-tpl__row"> 2158 <span className="ed-tpl__label"> 2159 { __( '배치', 'editnday' ) } 2160 </span> 2161 <span className="ed-chips"> 2162 { TPL_LAYOUTS.map( ( [ k, l ] ) => ( 2163 <Chip 2164 key={ k } 2165 on={ tplOpts.layout === k } 2166 onClick={ () => setTplOpts( { layout: k } ) } 2167 > 2168 { l } 2169 </Chip> 2170 ) ) } 2171 </span> 2172 </div> 2173 <div className="ed-tpl__row"> 2174 <span className="ed-tpl__label"> 2175 { __( '비율', 'editnday' ) } 2176 </span> 2177 <span className="ed-chips"> 2178 { TPL_ASPECTS.map( ( [ k, l ] ) => ( 2179 <Chip 2180 key={ k } 2181 on={ tplOpts.aspect === k } 2182 onClick={ () => setTplOpts( { aspect: k } ) } 2183 > 2184 { l } 2185 </Chip> 2186 ) ) } 2187 </span> 2188 </div> 2189 { tplPreview ? ( 2190 <img 2191 className="ed-tpl__preview" 2192 src={ tplPreview } 2193 alt={ __( '배경 틀 미리보기', 'editnday' ) } 2194 /> 2195 ) : ( 2196 <span className="ed-muted"> 2197 { __( 2198 '제목을 쓰면 여기에 미리보기가 나와요.', 2199 'editnday' 2200 ) } 2201 </span> 2202 ) } 1889 2203 <Ghost 1890 2204 disabled={ 1891 2205 !! busy || 1892 ! ( onImage.trim() || st.title?.trim() ) 2206 ! tplText || 2207 ( tpl === 'custom' && 2208 ! /^#[0-9a-f]{6}$/i.test( tplOpts.color ) ) 1893 2209 } 1894 2210 onClick={ () => … … 1896 2212 'featured', 1897 2213 async () => ( 1898 await templateFeatured( 1899 onImage.trim() || st.title, 1900 tpl 1901 ), 2214 await templateFeatured( tplText, tpl, { 2215 color: tplOpts.color, 2216 layout: tplOpts.layout, 2217 aspect: tplOpts.aspect, 2218 } ), 1902 2219 setRedo( false ) 1903 2220 ) … … 1909 2226 <span className="ed-muted"> 1910 2227 { __( 1911 '위 "그림에 넣을 제목"을, 비워 두면 글 제목을 1200×630 그림 가운데에 넣어요.',2228 '위 "그림에 넣을 제목"을, 비워 두면 글 제목을 넣어요. AI·서버 없이 이 컴퓨터에서 바로 그려요.', 1912 2229 'editnday' 1913 ) }{ ' ' } 1914 가운데에 넣어요. 2230 ) } 1915 2231 </span> 1916 2232 </div> -
editnday/trunk/src/style.scss
r3742866 r3747744 764 764 .ed-tpl__swatches { 765 765 display: flex; 766 flex-wrap: wrap; 766 767 gap: 6px; 768 } 769 // 배경 틀 줄: 왼쪽 이름 + 오른쪽 고르기 (10-15) 770 .ed-tpl__row { 771 display: grid; 772 grid-template-columns: 34px 1fr; 773 column-gap: 8px; 774 align-items: start; 775 } 776 .ed-tpl__label { 777 font-size: 11px; 778 font-weight: 600; 779 color: #50575e; 780 line-height: 26px; 781 } 782 .ed-tpl__sw--custom { 783 background: #fff; 784 border-style: dashed; 785 color: #50575e; 786 font-size: 16px; 787 font-weight: 500; 788 } 789 .ed-tpl__color { 790 display: inline-flex; 791 align-items: center; 792 gap: 6px; 793 input[type="color"] { 794 width: 28px; 795 height: 26px; 796 padding: 2px; 797 border: 1px solid #c3c4c7; 798 border-radius: 4px; 799 background: #fff; 800 cursor: pointer; 801 } 802 input[type="text"] { 803 width: 88px; 804 height: 26px; 805 min-height: 26px; 806 padding: 0 8px; 807 font-size: 12px; 808 font-family: ui-monospace, Menlo, monospace; 809 text-transform: uppercase; 810 border: 1px solid #c3c4c7; 811 border-radius: 4px; 812 } 813 } 814 .ed-tpl__preview { 815 display: block; 816 max-width: 100%; 817 max-height: 220px; 818 margin: 2px auto 0; 819 border-radius: 6px; 820 border: 1px solid rgba(0, 0, 0, 0.1); 767 821 } 768 822 .ed-tpl__sw {
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)