@import url('https://fonts.googleapis.com/css2?family=Black+Han+Sans&family=Do+Hyeon&family=Gaegu:wght@300;400;700&family=Gamja+Flower&family=Gowun+Batang:wght@400;700&family=Gowun+Dodum&family=Gugi&family=IBM+Plex+Sans+KR:wght@300;400;500;600;700&family=Jua&family=Nanum+Gothic:wght@400;700;800&family=Nanum+Myeongjo:wght@400;700;800&family=Nanum+Pen+Script&family=Noto+Sans+KR:wght@300;400;500;600;700;800&family=Song+Myung&display=swap');

*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Inter,Arial,"Noto Sans KR",sans-serif;color:#1d2433;background:#f5f6f8}
button,input,select{font:inherit}.app-shell{height:100vh;display:flex;flex-direction:column;overflow:hidden}
.topbar{height:68px;background:#fff;border-bottom:1px solid #e7e9ee;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 20px;z-index:5}
.brand{display:flex;gap:11px;align-items:center}.brand-mark{width:36px;height:36px;border-radius:11px;background:#111827;color:white;display:grid;place-items:center;font-weight:800}.brand strong{display:block;font-size:16px}.brand span{display:block;font-size:11px;color:#8a92a3;margin-top:2px}
.project-center{display:flex;align-items:center;gap:10px}.project-name-top{width:250px;border:0;border-bottom:1px solid transparent;text-align:center;font-size:14px;font-weight:800;background:transparent;padding:7px}.project-name-top:hover,.project-name-top:focus{border-color:#cfd4dd;outline:none}.save-state{font-size:11px;color:#8a92a3}.save-state.saving{color:#5a52ff}
.top-actions{display:flex;gap:8px;justify-content:flex-end}.workspace{flex:1;display:grid;grid-template-columns:235px minmax(0,1fr) 280px;min-height:0}
.sidebar{background:#fff;overflow:auto}.sidebar.left{border-right:1px solid #e6e9ef}.sidebar.right{border-left:1px solid #e6e9ef;padding:0 16px 20px}
.panel-title{font-weight:800;font-size:14px;padding:20px 18px 12px}.panel-title.secondary{margin-top:6px;border-top:1px solid #eef0f4}
.component-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 14px 18px}.component{height:72px;border:1px solid #e2e5eb;background:#fff;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#2c3444;transition:.15s}.component:hover{border-color:#111827;box-shadow:0 7px 20px rgba(17,24,39,.08);transform:translateY(-1px)}.component b{font-size:21px}.component span{font-size:12px}
.field-label{font-size:12px;font-weight:700;color:#667085;display:block;margin:13px 0 6px}.input{width:100%;border:1px solid #d8dde6;border-radius:9px;padding:10px 11px;background:#fff;outline:none}.input:focus{border-color:#111827;box-shadow:0 0 0 3px rgba(17,24,39,.05)}.sidebar.left>.field-label,.sidebar.left>.input,.sidebar.left>.btn{width:calc(100% - 28px);margin-left:14px;margin-right:14px}
.btn{border:1px solid #d9dde6;background:#fff;border-radius:9px;padding:9px 14px;cursor:pointer;font-weight:700;color:#30384a}.btn:hover{background:#f7f8fb}.btn.primary{background:#111827;border-color:#111827;color:#fff}.btn.danger{color:#c73939;border-color:#efc8c8}.btn.full{width:100%;margin-top:10px}
.mini-info{font-size:10px;line-height:1.6;color:#9299a8;margin:10px 14px 0}.stage{min-width:0;display:flex;flex-direction:column}.stage-toolbar{height:58px;border-bottom:1px solid #e4e7ed;background:#fafbfc;padding:0 20px;display:flex;align-items:center;justify-content:space-between}.stage-title-wrap b{font-size:13px}.stage-title-wrap span{font-size:11px;color:#8b94a4;margin-left:8px}
.device-switch{display:flex;border:1px solid #dfe3ea;border-radius:9px;overflow:hidden}.device-switch button{border:0;background:#fff;padding:7px 12px;font-size:11px;cursor:pointer}.device-switch button.active{background:#111827;color:#fff;font-weight:800}
.canvas-wrap{flex:1;overflow:auto;padding:32px 40px 100px;display:flex;justify-content:center;align-items:flex-start}.canvas{min-height:880px;background:#fff;border:1px solid #e1e4e9;box-shadow:0 18px 45px rgba(25,31,45,.08);transition:width .2s ease}
.empty-state{height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9ba2b1;gap:8px}.empty-icon{width:56px;height:56px;border:1px dashed #cdd2dc;border-radius:17px;display:grid;place-items:center;font-size:29px}.empty-state strong{font-size:14px;color:#6c7484}.empty-state span{font-size:11px}
.block{position:relative;outline:2px solid transparent;transition:outline-color .1s}.block:hover{outline-color:#d7d9de}.block.selected{outline-color:#111827}.block-tools{display:none;position:absolute;right:7px;top:7px;z-index:4;background:#111827;border-radius:7px;overflow:hidden}.block.selected .block-tools{display:flex}.block-tools button{border:0;background:transparent;color:#fff;padding:5px 8px;cursor:pointer;font-size:11px}
.content-pad{padding:24px 32px}.editable{outline:none}.nl-heading{margin:0;font-size:30px;line-height:1.35}.nl-text{margin:0;font-size:16px;line-height:1.75}.nl-button{display:inline-block;text-decoration:none;padding:12px 20px;border-radius:8px;background:#4b5563;color:#ffffff;font-weight:800}.nl-image{display:block;max-width:100%;height:auto;margin:auto}.placeholder-image{height:240px;background:linear-gradient(135deg,#f3f4f6,#eceff3);display:grid;place-items:center;color:#9299a8;font-size:13px}
.divider-line{border-top:1px solid #d9dde5}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.col-box{border:1px dashed #d9dde5;padding:20px;min-height:90px}.article-card{border:1px solid #e5e8ee;border-radius:12px;padding:22px}.article-card h3{margin:0 0 8px}.article-card p{margin:0 0 14px;line-height:1.6;color:#697386}
.hero-block{padding:56px 36px;background:#f4f5f7;text-align:center}.hero-block h1{margin:0 0 12px;font-size:38px;line-height:1.2}.hero-block p{margin:0 auto 20px;max-width:560px;line-height:1.7;color:#6b7280}.footer-block{padding:24px 32px;background:#f8f9fb;text-align:center;color:#8b93a3;font-size:12px;line-height:1.6}
.muted-box{background:#f7f8fa;border-radius:10px;padding:13px;font-size:12px;color:#8a92a3;margin-top:8px}.properties{padding-top:2px}.hidden{display:none!important}.color{height:40px;padding:4px}.prop-actions{display:flex;gap:8px;margin-top:18px}.prop-actions .btn{flex:1}.two-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.modal{position:fixed;inset:0;background:rgba(16,22,34,.45);display:flex;align-items:center;justify-content:center;z-index:30}.modal-card{width:440px;max-width:92vw;background:#fff;border-radius:15px;box-shadow:0 30px 80px rgba(0,0,0,.22);overflow:hidden}.modal-card.wide{width:920px;height:82vh}.modal-card.template-modal{width:760px}.modal-head{height:54px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e6e9ef}.modal-head button{border:0;background:none;font-size:24px;cursor:pointer}.modal-body{padding:18px}.modal iframe{width:100%;height:calc(100% - 54px);border:0;background:#fff}.hint{font-size:11px;color:#8891a2;line-height:1.6}
.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:20px}.template-card{border:1px solid #e2e5eb;background:#fff;border-radius:13px;padding:10px;text-align:left;cursor:pointer}.template-card:hover{border-color:#111827}.template-card strong{display:block;font-size:13px;margin-top:10px}.template-card span{display:block;font-size:11px;color:#8a92a3;margin-top:4px}.template-thumb{height:145px;border-radius:9px;border:1px solid #e5e7eb;background:#fafafa}.template-thumb.clean{background:linear-gradient(#111827 0 28px,#fff 28px 100%)}.template-thumb.magazine{background:linear-gradient(#eee 0 55px,#fff 55px 100%)}.template-thumb.image{background:linear-gradient(135deg,#e5e7eb,#cfd4dc)}
.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%) translateY(20px);background:#111827;color:#fff;padding:10px 16px;border-radius:9px;opacity:0;pointer-events:none;transition:.2s;z-index:50;font-size:12px}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:1100px){.workspace{grid-template-columns:190px minmax(0,1fr) 235px}.component-grid{grid-template-columns:1fr}.canvas-wrap{padding:20px}.project-center{display:none}}


/* drag & drop fix */
.canvas-wrap{scroll-behavior:auto;overscroll-behavior:contain}
.canvas{padding-bottom:180px}
.block-drag-handle{
  display:flex;
  position:absolute;
  left:-30px;
  top:50%;
  transform:translateY(-50%);
  width:24px;
  height:42px;
  align-items:center;
  justify-content:center;
  border:1px solid #d9dde5;
  border-radius:7px;
  background:#fff;
  color:#7a8494;
  cursor:grab;
  font-weight:800;
  letter-spacing:-2px;
  opacity:0;
  transition:.15s;
  z-index:6;
  user-select:none;
}
.block:hover .block-drag-handle,.block.selected .block-drag-handle{opacity:1}
.block-drag-handle:active{cursor:grabbing}
.block.dragging{
  opacity:.5;
  outline:2px dashed #111827;
  box-shadow:0 8px 30px rgba(17,24,39,.12);
}


/* v5 split preview */
.editor-split{
  flex:1;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  overflow:hidden;
}
.editor-split .canvas-wrap{
  min-width:0;
  height:100%;
  overflow:auto;
  padding:32px 40px 120px;
}
.live-preview-pane{
  border-left:1px solid #e5e7eb;
  background:#eef1f5;
  min-width:0;
  display:flex;
  flex-direction:column;
}
.live-preview-head{
  height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 14px;
  background:#fff;
  border-bottom:1px solid #e5e7eb;
}
.live-preview-head strong{font-size:12px}
.live-preview-head span{font-size:10px;color:#8a92a3}
#livePreviewFrame{
  flex:1;
  width:100%;
  border:0;
  background:#fff;
}
.block-drag-handle{
  opacity:1;
  left:-34px;
  width:28px;
  height:46px;
  border:1px solid #cfd4dc;
  box-shadow:0 3px 10px rgba(17,24,39,.08);
  touch-action:none;
}
.block.sorting{
  opacity:.92;
  box-shadow:0 18px 45px rgba(17,24,39,.22);
  outline:2px solid #111827;
}
.drag-placeholder{
  margin:4px 0;
  border:2px dashed #111827;
  background:rgba(17,24,39,.04);
  min-height:46px;
}
body.is-sorting{
  cursor:grabbing!important;
  user-select:none;
}
@media(max-width:1500px){
  .editor-split{grid-template-columns:minmax(0,1fr) 340px}
}
@media(max-width:1250px){
  .live-preview-pane{display:none}
  .editor-split{grid-template-columns:1fr}
}


/* v6 smoother vertical sorting */
.block{cursor:grab}
.block:active{cursor:grabbing}
.block .editable,
.block [contenteditable="true"],
.block input,
.block textarea,
.block select,
.block a,
.block button{cursor:auto}
.block-drag-handle{
  opacity:.7;
  pointer-events:none;
}
.block:hover .block-drag-handle{opacity:1}
.block.sorting{cursor:grabbing!important}
.drag-placeholder{
  transition:height .08s ease, margin .08s ease;
}


/* v7: editor vertical scroll fix */
.app-shell{
  height:100vh;
  min-height:0;
  overflow:hidden;
}
.workspace{
  height:calc(100vh - 68px);
  min-height:0;
  overflow:hidden;
}
.stage{
  height:100%;
  min-height:0;
  overflow:hidden;
}
.editor-split{
  height:calc(100% - 58px);
  min-height:0;
  overflow:hidden;
}
.editor-split .canvas-wrap{
  height:100%;
  min-height:0;
  max-height:100%;
  overflow-x:auto;
  overflow-y:scroll;
  align-items:flex-start;
  scrollbar-gutter:stable;
}
.canvas{
  flex:0 0 auto;
  min-height:880px;
  margin-bottom:120px;
}
.live-preview-pane{
  height:100%;
  min-height:0;
  overflow:hidden;
}
#livePreviewFrame{
  min-height:0;
}


/* v8 header / footer / preview layout */
.topbar{
  background:#dff4ff;
  border-bottom:1px solid #bfe6f8;
}
.brand-logo{
  display:block;
  max-width:110px;
  max-height:38px;
  object-fit:contain;
}
.brand-mark{
  background:#2a91c9;
}
.editor-split{
  grid-template-columns:1fr!important;
}
.live-preview-pane{
  display:none!important;
}
.workspace{
  height:calc(100vh - 68px - 118px);
}
.site-footer{
  flex:0 0 118px;
  height:118px;
  background:#f7f9fb;
  border-top:1px solid #e1e5ea;
  color:#687386;
  font-size:11px;
  line-height:1.7;
  display:flex;
  align-items:center;
}
.site-footer-inner{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:12px 24px;
}
.site-footer a{
  color:#4f6f8e;
  text-decoration:none;
}
.site-footer a:hover{
  text-decoration:underline;
}


/* v9 requested UI */
.topbar{
  background:#07c8f9!important;
  border-bottom:1px solid rgba(255,255,255,.35);
}
.brand strong,.brand span{
  color:#ffffff!important;
}
.project-name-top{
  color:#ffffff;
}
.save-state{
  color:rgba(255,255,255,.9)!important;
}
.topbar .btn.ghost{
  background:rgba(255,255,255,.92);
  border-color:rgba(255,255,255,.8);
}
.topbar .btn.primary{
  background:#0f172a;
  border-color:#0f172a;
}
.brand-logo{
  width:42px;
  height:42px;
  max-width:42px;
  max-height:42px;
  border-radius:10px;
  object-fit:cover;
  background:#fff;
}
.site-footer{
  background:#3f444b!important;
  color:#ffffff!important;
  border-top:0!important;
}
.site-footer a{
  color:#ffffff!important;
  text-decoration:underline;
}
.text-image-table{
  border-collapse:collapse;
}
.text-image-text{
  padding:24px;
  font-size:16px;
  line-height:1.7;
}
.text-image-placeholder{
  min-height:210px;
  background:#edf1f5;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#8b93a3;
  text-align:center;
}
.ai-component b{
  font-size:16px;
  letter-spacing:-1px;
}
.ai-textarea{
  min-height:120px;
  resize:vertical;
}
.ai-image-placeholder{
  min-height:250px;
  background:linear-gradient(135deg,#edf1f5,#dfe6ec);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;
  text-align:center;
  color:#687386;
  padding:28px;
}
.ai-image-placeholder b{
  font-size:20px;
  color:#111827;
}
.ai-image-placeholder small{
  font-size:11px;
  color:#8c95a3;
}
.success-card{
  width:430px;
  max-width:90vw;
  background:#fff;
  border-radius:18px;
  padding:40px 30px;
  box-shadow:0 30px 80px rgba(0,0,0,.25);
  text-align:center;
}
.success-icon{
  width:70px;
  height:70px;
  border-radius:50%;
  margin:0 auto 18px;
  background:#e9f8ef;
  color:#1d9b55;
  display:grid;
  place-items:center;
  font-size:34px;
  font-weight:900;
}
.success-card strong{
  display:block;
  font-size:28px;
  margin-bottom:9px;
  color:#111827;
}
.success-card span{
  display:block;
  color:#7b8494;
  font-size:13px;
  margin-bottom:24px;
}


/* v11 stable rebuild */
.top-actions{gap:6px}
.top-compact{
  padding:7px 10px!important;
  font-size:12px!important;
  white-space:nowrap;
}
.icon-btn{
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.75);
  background:rgba(255,255,255,.92);
  border-radius:9px;
  cursor:pointer;
  font-size:22px;
  line-height:1;
  color:#273244;
}
.icon-btn:disabled{opacity:.35;cursor:not-allowed}

.block-categories{padding:0 10px 14px}
.block-category{border-bottom:1px solid #eef0f4}
.category-head{
  width:100%;
  border:0;
  background:#fff;
  padding:12px 5px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  cursor:pointer;
  font-weight:800;
  font-size:12px;
  color:#3c4658;
}
.category-head b{font-size:16px;color:#8790a0}
.category-body{display:none}
.block-category.open .category-body{display:block}
.block-category .component-grid{padding:0 4px 12px}

.component{
  min-height:64px;
  height:64px;
}
.component b{font-size:18px}
.component span{font-size:11px}

.headline-block{
  padding:50px 36px;
  text-align:center;
  background:#f4f5f7;
}
.headline-block h1{margin:0 0 12px;font-size:38px;line-height:1.2}
.headline-block p{margin:0 auto 18px;max-width:560px;line-height:1.7;color:#667085}

.text-image-flex{
  display:flex;
  align-items:stretch;
  min-height:220px;
  border:1px solid #e5e7eb;
  overflow:hidden;
}
.text-image-flex.reverse{flex-direction:row-reverse}
.text-image-copy{
  width:55%;
  padding:28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:1.7;
}
.text-image-copy h3{margin:0 0 10px}
.text-image-copy p{margin:0}
.text-image-media{
  width:45%;
  min-height:220px;
  background:#edf1f5;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#8b93a3;
}

.cards-grid{display:grid;gap:16px}
.cards-grid.two{grid-template-columns:repeat(2,1fr)}
.cards-grid.three{grid-template-columns:repeat(3,1fr)}
.mini-card{
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:14px;
  background:#fff;
}
.mini-card h3{margin:12px 0 7px}
.mini-card p{margin:0;line-height:1.55}
.card-image-placeholder{
  height:125px;
  border-radius:8px;
  background:#edf1f5;
  display:grid;
  place-items:center;
  color:#8b93a3;
}

.banner-block{
  min-height:165px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#edf1f5;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:7px;
}
.banner-block span{font-size:12px}

.social-block{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}
.social-link{
  padding:9px 13px;
  border:1px solid #dfe3ea;
  border-radius:999px;
  background:#fff;
  text-decoration:none;
}

.video-block{
  min-height:170px;
  border-radius:12px;
  background:#111827;
  color:#fff;
  padding:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
}
.video-play{
  width:58px;height:58px;border-radius:50%;
  background:#fff;color:#111827;
  display:grid;place-items:center;font-size:23px;
}
.video-block p{margin:5px 0 0}

.quote-block{
  border-left:5px solid currentColor;
  padding:22px 26px;
  background:#f7f8fa;
  line-height:1.6;
  font-weight:700;
}

.stats-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.stats-grid>div{
  text-align:center;
  padding:22px 10px;
  border:1px solid #e5e7eb;
  border-radius:12px;
}
.stats-grid b{display:block;font-size:30px}
.stats-grid span{display:block;margin-top:5px;font-size:12px}

.notice-block{
  border:1px solid #dfe4ea;
  background:#f6f8fb;
  border-radius:10px;
  padding:18px 20px;
}
.notice-block strong{display:block;margin-bottom:7px}
.notice-block p{margin:0;line-height:1.6}

.event-block{
  display:flex;
  border:1px solid #e5e7eb;
  border-radius:12px;
  overflow:hidden;
}
.event-date{
  width:110px;
  background:#111827;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.event-date b{font-size:34px}
.event-date span{font-size:12px}
.event-info{flex:1;padding:20px}
.event-info h3{margin:0 0 7px}
.event-info p{margin:0 0 14px}

@media(max-width:1200px){
  .top-compact{padding:6px 7px!important;font-size:11px!important}
  .icon-btn{width:31px;height:31px;font-size:19px}
}


/* v12 auth / templates / media */
.topbar{
  grid-template-columns:auto 1fr auto auto;
}
.auth-area{
  display:flex;
  align-items:center;
  gap:7px;
  margin-left:8px;
  white-space:nowrap;
}
.auth-link{
  border:0;
  background:transparent;
  color:#ffffff;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
  padding:6px 2px;
}
.auth-link.strong{text-decoration:underline}
.auth-sep{color:rgba(255,255,255,.7)}
.auth-user{
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#fff;
  font-size:10px;
}

.modal-card.wide{
  width:min(1180px,96vw)!important;
  height:92vh!important;
}
.template-modal.large{
  width:min(1080px,94vw)!important;
  max-height:88vh;
  overflow:auto;
}
.template-grid.rich{
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.template-thumb{
  height:130px;
  position:relative;
  overflow:hidden;
}
.t-modern{background:linear-gradient(#15253d 0 30%,#f6f8fb 30% 55%,#fff 55%)}
.t-public{background:linear-gradient(#1288c9 0 22%,#fff 22% 48%,#edf3f7 48% 70%,#fff 70%)}
.t-magazine{background:linear-gradient(#222 0 18%,#fff 18% 36%,#ececec 36% 68%,#fff 68%)}
.t-cards{background:linear-gradient(#fff 0 24%,#e8eef3 24% 80%,#fff 80%)}
.t-event{background:linear-gradient(135deg,#26364d 0 42%,#f5f7fa 42% 100%)}
.t-insight{background:linear-gradient(#0f172a 0 28%,#fff 28% 52%,#e9eef3 52% 72%,#fff 72%)}
.t-visual{background:linear-gradient(135deg,#cdd8e5,#eef3f7 45%,#fff 45%)}
.t-notice{background:linear-gradient(#fff 0 22%,#f0f4f7 22% 58%,#fff 58%)}
.t-blue{background:linear-gradient(#087fc2 0 30%,#e8f5fc 30% 60%,#fff 60%)}
.t-minimal{background:linear-gradient(#fff 0 42%,#eee 42% 45%,#fff 45% 72%,#f7f7f7 72%)}
.t-two{background:linear-gradient(90deg,#eef2f6 0 49%,#fff 49% 51%,#eef2f6 51% 100%)}
.t-three{background:linear-gradient(90deg,#e7edf3 0 32%,#fff 32% 34%,#e7edf3 34% 66%,#fff 66% 68%,#e7edf3 68%)}

.auth-gate-card{width:500px!important}
.auth-gate-body{text-align:center;padding:34px 28px 32px}
.auth-shield{
  width:64px;height:64px;border-radius:50%;
  display:grid;place-items:center;
  margin:0 auto 16px;
  background:#eaf8ff;color:#0790cf;font-size:28px;font-weight:900;
}
.auth-gate-body h2{font-size:22px;line-height:1.45;margin:0 0 9px}
.auth-gate-body p{font-size:12px;color:#7b8494;margin:0 0 22px}
.auth-gate-actions{display:flex;justify-content:center;gap:10px}
.auth-form-card{width:420px!important}
.success-icon.warning{background:#fff4df;color:#e58b13}

.youtube-preview{
  width:58%;
  min-width:280px;
  position:relative;
  display:block;
  text-decoration:none;
}
.youtube-preview img{
  width:100%;height:auto;display:block;border-radius:10px;
}
.video-play-overlay{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:62px;height:62px;border-radius:50%;
  background:rgba(255,255,255,.94);color:#111827;
  display:grid;place-items:center;font-size:24px;
}
.video-caption{padding:0 18px;flex:1}
.social-image-link{
  display:flex;align-items:center;gap:7px;
  padding:8px 12px;border:1px solid #dfe3ea;border-radius:10px;
  background:#fff;text-decoration:none;color:#263244;
}
.social-icon{
  width:28px;height:28px;border-radius:7px;
  display:grid;place-items:center;
  color:#fff;font-weight:900;font-size:14px;
}
.social-icon.youtube{background:#ff0000}
.social-icon.instagram{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)}
.social-icon.facebook{background:#1877f2}
.social-icon.blog{background:#03c75a}
.social-name{font-size:11px;font-weight:700}
.share-copy-btn{
  border:1px dashed #cfd6df;background:#f8fafc;border-radius:10px;
  padding:9px 12px;cursor:pointer;font-size:11px;color:#445065;
}

@media(max-width:1400px){
  .template-grid.rich{grid-template-columns:repeat(3,1fr)}
  .topbar{grid-template-columns:auto 1fr auto}
  .auth-area{grid-column:3}
}


/* v13 style improvements */
.image-overlay-wrap{
  position:relative;
  width:100%;
  overflow:hidden;
}
.image-overlay-wrap .nl-image{
  width:100%;
  display:block;
}
.image-overlay-text{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:86%;
  text-align:center;
  font-size:28px;
  font-weight:800;
  line-height:1.35;
  text-shadow:0 1px 3px rgba(255,255,255,.45);
  display:none;
}

.auth-gate-body p{
  color:#f97316!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.5!important;
  margin-bottom:24px!important;
}

.content-pad,
.article-card,
.mini-card,
.banner-block,
.notice-block,
.event-block,
.text-image-flex,
.stats-grid>div,
.col-box{
  transition:background-color .15s ease,color .15s ease;
}

.nl-button{
  transition:background-color .15s ease,color .15s ease;
}

#propFontFamily{
  font-size:12px;
}

.site-footer{display:none!important}.workspace{height:calc(100vh - 68px)!important}.floating-contact{position:fixed;right:18px;bottom:12px;z-index:20;background:#374151;color:#fff;padding:8px 12px;border-radius:8px;font-size:11px;box-shadow:0 5px 18px rgba(0,0,0,.14)}.block.selected{outline-color:#168de2!important}.block:hover{outline-color:#8ecaf3!important}.block.selected .block-tools{background:#168de2!important}.block-drag-handle{border-color:#9ccff1!important;color:#168de2!important}.logo-box{text-align:left}.logo-placeholder{min-height:100px;border:1px dashed #cfd6df;border-radius:9px;display:grid;place-items:center;color:#8b93a3;background:#f8fafc}.library-card{width:680px!important;max-height:80vh;overflow:auto}.library-item{display:flex;align-items:center;justify-content:space-between;border:1px solid #e3e7ed;border-radius:10px;padding:12px 14px;background:#fff;margin-bottom:8px}.paste-choice-actions{display:flex;justify-content:center;gap:9px}.t-automotive{background:linear-gradient(#0d213b 0 30%,#e7edf2 30% 55%,#fff 55%)}.t-education{background:linear-gradient(#13a7cf 0 25%,#fff 25% 50%,#f0f5f8 50% 72%,#fff 72%)}.t-law{background:linear-gradient(#18324b 0 20%,#f5f1ea 20% 45%,#fff 45%)}.t-product{background:linear-gradient(135deg,#f2f5f8 0 46%,#fff 46% 100%)}.t-monthly{background:linear-gradient(#2285b8 0 20%,#fff 20% 40%,#edf2f5 40% 70%,#fff 70%)}.t-executive{background:linear-gradient(#111827 0 32%,#fff 32% 52%,#e9edf1 52% 75%,#fff 75%)}


/* v15 deep navy controls */
:root{
  --studio-deep-navy:#0b1f3a;
  --studio-deep-navy-hover:#102a4c;
}
.btn.primary,
#saveBtn,
.device-switch button.active,
#loginSubmitBtn,
#signupSubmitBtn,
#forgotPasswordSubmitBtn,
.auth-gate-actions .btn.primary{
  background:var(--studio-deep-navy)!important;
  border-color:var(--studio-deep-navy)!important;
  color:#ffffff!important;
}
.btn.primary:hover,
#saveBtn:hover,
.device-switch button.active:hover,
#loginSubmitBtn:hover,
#signupSubmitBtn:hover,
#forgotPasswordSubmitBtn:hover{
  background:var(--studio-deep-navy-hover)!important;
  border-color:var(--studio-deep-navy-hover)!important;
}
.forgot-password-link{
  display:block;
  margin:13px auto 0;
  border:0;
  background:transparent;
  color:#506078;
  font-size:11px;
  text-decoration:underline;
  cursor:pointer;
}


/* v16 password change */
.my-info-email{
  background:#f5f7fa;
  border:1px solid #e3e7ed;
  border-radius:9px;
  padding:11px 12px;
  margin-bottom:15px;
}
.my-info-email span{
  display:block;
  font-size:10px;
  color:#8a93a3;
  margin-bottom:4px;
}
.my-info-email strong{
  font-size:12px;
  color:#223049;
}
.must-change-copy{
  color:#f97316!important;
  font-size:14px!important;
  font-weight:800!important;
}


/* v17 library / login remember / logo */
.login-remember-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin:9px 0 14px;
  font-size:10px;
  color:#657085;
}
.login-remember-row label{
  display:flex;
  align-items:center;
  gap:5px;
  cursor:pointer;
}

#loadBtn{
  font-size:10px!important;
  padding:7px 8px!important;
}
.library-open-btn{
  background:#0b1f3a!important;
  color:#fff!important;
  border-color:#0b1f3a!important;
  font-size:10px!important;
  padding:7px 10px!important;
}
.library-meta{min-width:0}
.library-item strong{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:420px;
}

.logo-box{
  padding-top:12px!important;
  padding-bottom:12px!important;
}
.logo-inline{
  min-height:72px;
  display:flex;
  align-items:center;
  gap:12px;
  justify-content:flex-start;
}
.logo-placeholder{
  min-height:72px!important;
  width:140px;
  flex:0 0 140px;
}
.logo-user-image{
  max-height:90px;
  object-fit:contain;
  flex:0 0 auto;
}
.logo-side-text{
  min-width:40px;
  font-weight:700;
  line-height:1.4;
}
.floating-contact{
  left:18px!important;
  right:auto!important;
  bottom:12px!important;
}

.t-startup{background:linear-gradient(#0d223c 0 26%,#fff 26% 46%,#eef3f7 46% 74%,#fff 74%)}
.t-finance{background:linear-gradient(#132238 0 30%,#edf2f5 30% 50%,#fff 50% 72%,#e7edf2 72%)}
.t-culture{background:linear-gradient(135deg,#7c3aed 0 28%,#f5eefb 28% 55%,#fff 55%)}
.t-recruit{background:linear-gradient(#15324b 0 22%,#fff 22% 42%,#eaf3f8 42% 70%,#fff 70%)}
.t-premium{background:linear-gradient(#111827 0 25%,#d9c7a4 25% 42%,#fff 42% 70%,#f1f1f1 70%)}

/* v17.2 */
.top-contact{display:flex;align-items:center;white-space:nowrap;color:#fff;font-size:11px;font-weight:700;padding:0 4px}
.floating-contact{display:none!important}
.nl-button{color:#fff!important}
\n/* v18 */\n.top-contact,.floating-contact{display:none!important}\n.top-link-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}\n.pretty-file{margin-bottom:13px}\n.pretty-file input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}\n.pretty-file label{min-height:72px;border:1.5px dashed #b9c5d3;border-radius:11px;background:#f8fafc;display:flex;align-items:center;justify-content:center;gap:8px;color:#3b4b61;font-size:11px;font-weight:800;cursor:pointer;transition:.15s ease}\n.pretty-file label:hover{border-color:#168de2;background:#f0f8fe;color:#168de2}\n.pretty-file-icon{width:24px;height:24px;border-radius:7px;background:#e7eef5;display:grid;place-items:center;font-size:17px}\n.pretty-file-name{text-align:center;margin-top:6px;color:#8a93a3;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n
.library-item-actions{display:flex;gap:6px;align-items:center}.library-copy-btn{background:#fff!important;color:#0b1f3a!important;border:1px solid #aebdcc!important;font-size:10px!important;padding:7px 10px!important}


/* v19 sharing / recovery */
.overlay-textarea{
  min-height:92px;
  resize:vertical;
  line-height:1.55;
}
.image-overlay-text{
  white-space:pre-wrap!important;
  word-break:keep-all;
}
.share-modal-card{width:560px!important}
.share-newsletter-info{
  background:#f5f7fa;
  border:1px solid #e3e7ed;
  border-radius:10px;
  padding:12px 14px;
  margin-bottom:16px;
}
.share-newsletter-info strong{display:block;font-size:13px;margin-bottom:5px}
.share-newsletter-info span{display:block;font-size:10px;color:#6f7888;word-break:break-all}
.share-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.share-action{
  min-height:86px;
  border:1px solid #e0e5eb;
  background:#fff;
  border-radius:12px;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.share-action:hover{background:#f7f9fb;border-color:#b9c6d5}
.share-action b{font-size:18px;color:#0b1f3a}
.share-action span{font-size:11px;font-weight:800;color:#354055}
.share-hint{font-size:10px;color:#8a93a3;line-height:1.6;margin:14px 2px 0}
.library-section-title{
  font-size:10px;
  font-weight:800;
  color:#7b8494;
  margin:11px 2px 7px;
}
.library-item.recent-local{
  border-color:#98c7e8;
  background:#f7fbff;
}


/* v21 */
.pretty-file-box{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height:96px;
  border:1px dashed #b9c5d4;
  background:#f8fafc;
  border-radius:11px;
  cursor:pointer;
  margin-top:8px;
  text-align:center;
}
.pretty-file-box:hover{background:#f2f7fb;border-color:#7fa6c7}
.pretty-file-icon{font-size:22px;color:#0b1f3a}
.pretty-file-box strong{font-size:11px;color:#334155}
.pretty-file-box small{font-size:9px;color:#8a94a4}
.hidden-file-input{display:none!important}
.layout-upload-image{display:block;width:100%;height:auto;object-fit:cover;border:0}
.text-image-media .layout-upload-image{height:100%;min-height:180px;object-fit:cover}
.mini-card>.layout-upload-image{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:12px}

.library-delete-btn{color:#b42318!important;border-color:#efc9c6!important}
.profile-card{width:620px!important}
.profile-tabs{display:flex;border-bottom:1px solid #e5e9ef;padding:0 18px}
.profile-tab{border:0;background:transparent;padding:13px 14px;font-size:11px;font-weight:800;color:#7b8494;cursor:pointer;border-bottom:2px solid transparent}
.profile-tab.active{color:#0b1f3a;border-bottom-color:#0b1f3a}
.profile-feedback-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.profile-feedback-head strong{font-size:13px}
.my-feedback-item{border:1px solid #e5e9ef;border-radius:10px;padding:12px;margin-bottom:8px}
.my-feedback-item>div{display:flex;flex-direction:column;gap:3px;padding-right:70px}
.my-feedback-item strong{font-size:12px}
.my-feedback-item span{font-size:9px;color:#8b95a5}
.my-feedback-item p{font-size:10px;line-height:1.55;color:#5f6978;margin:8px 0 0;white-space:pre-wrap}
.feedback-status{float:right;margin-top:-34px;padding:4px 7px;border-radius:999px;background:#fff4df;color:#946200!important;font-weight:800}
.feedback-status.done{background:#eaf7ee;color:#277642!important}

/* v22 */
#multiImageProps{
  margin:0 0 14px;
  padding:0 0 14px;
  border-bottom:1px solid #edf0f4;
}
#multiImageProps.hidden{display:none!important}
#multiImageProps .pretty-file-box{
  margin-top:9px;
}

/* v23 */
.share-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.share-action.html-copy b,.share-action.html-download b{font-size:17px}
.text-image-media{overflow:hidden}
.text-image-media .layout-upload-image{
  width:100%!important;
  height:100%!important;
  min-height:220px;
  object-fit:cover!important;
}
.mini-card>.layout-upload-image{
  display:block!important;
  width:100%!important;
  aspect-ratio:16/10;
  object-fit:cover!important;
  border-radius:8px;
  margin-bottom:12px;
}


/* v23.2 targeted additions */
.table-editor-wrap{overflow:auto}
.newsletter-table{width:100%;border-collapse:collapse}
.newsletter-table th,.newsletter-table td{border:1px solid #d9dee6;padding:10px;min-width:90px;vertical-align:top}
.newsletter-table th{background:#f3f5f7;font-weight:800}
.table-prop-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.table-prop-actions .btn{margin:0}
.share-url-edit{margin-top:12px;padding-top:12px;border-top:1px solid #e4e8ee}
.share-url-edit label{display:block;font-size:11px;font-weight:800;color:#4b5563;margin-bottom:6px}
.share-url-edit>div{display:flex;gap:7px}
.share-url-edit .input{flex:1}
.share-url-edit .btn{white-space:nowrap}
.share-url-edit small{display:block;margin-top:5px;font-size:9px;color:#8a94a4}
#propMultiImageLink{margin-bottom:0}

/* v23.5 selection based links */
.link-selection-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}
.link-selection-actions .btn{margin:0}
.editor-inline-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.editor-image-link{display:block}
img.link-target-selected{outline:3px solid #2563eb!important;outline-offset:2px;cursor:pointer}
#linkSelectionStatus{margin-top:7px}


/* v23.6 persistent text selection */
::highlight(link-selection){
  background:rgba(37,99,235,.22);
  text-decoration:underline;
  text-decoration-color:#2563eb;
  text-decoration-thickness:2px;
}
.canvas [contenteditable="true"]::selection{
  background:rgba(37,99,235,.28);
  color:inherit;
}


/* v23.7 card/link cleanup */
.editor-inline-link,
.canvas a.editor-inline-link,
.canvas [contenteditable="true"] a{
  color:inherit!important;
  text-decoration:none!important;
}
::highlight(link-selection){
  text-decoration:none!important;
}
.mini-card{
  min-width:0;
  overflow:hidden;
}
.mini-card h3,
.mini-card p{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:keep-all;
}

/* v23.8 */
.link-selection-actions .btn{
  font-size:10px!important;
  padding:7px 8px!important;
  min-height:30px!important;
  line-height:1.2!important;
}
.preview-pastel{
  background:#dff4e5!important;
  border-color:#b9dfc4!important;
  color:#245b34!important;
}
.preview-pastel:hover{
  background:#d2edd9!important;
}
.my-info-company{margin:14px 0 16px;padding:12px;border:1px solid #e6eaf0;border-radius:10px;background:#fafbfd}
.my-company-edit{display:flex;gap:7px}
.my-company-edit .input{flex:1}
.my-company-edit .btn{white-space:nowrap}

/* v23.9 */
.top-actions .btn.top-compact,
.top-actions .icon-btn{
  font-size:12px!important;
}
.link-selection-actions .btn{
  font-size:12px!important;
}
.font-style-row{margin-top:10px}
.font-bold-toggle{
  width:100%;
  justify-content:center;
  font-size:11px;
}
.font-bold-toggle.active{
  background:#0b1f3a!important;
  color:#fff!important;
  border-color:#0b1f3a!important;
}

/* v24 */
.cards-grid.two .mini-card>.layout-upload-image,
.cards-grid.three .mini-card>.layout-upload-image,
.cards-grid.two .mini-card>a.editor-image-link>.layout-upload-image,
.cards-grid.three .mini-card>a.editor-image-link>.layout-upload-image{
  display:block!important;
  width:100%!important;
  height:150px!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:8px;
  margin-bottom:12px;
}
.cards-grid.two .card-image-placeholder,
.cards-grid.three .card-image-placeholder{
  height:150px!important;
}
.text-style-tools{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
}
.text-style-tools .font-style-btn{
  padding:7px 5px;
  min-height:32px;
  font-size:11px;
}
.text-style-tools .font-style-btn.active{
  background:#0b1f3a!important;
  color:#fff!important;
  border-color:#0b1f3a!important;
}
.editor-inline-list{
  margin:8px 0 8px 22px;
  padding-left:16px;
}
.top-actions .btn.top-compact,
.top-actions .icon-btn{
  font-size:14px!important;
}
.link-selection-actions .btn{
  font-size:14px!important;
  padding:8px 9px!important;
}

/* v25 - 콘텐츠 선택박스 통일 */
.component{
  background:#646b75!important;
  border-color:#646b75!important;
  color:#fff!important;
}
.component b,.component span{color:#fff!important}
.component:hover{
  background:#565d67!important;
  border-color:#565d67!important;
  color:#fff!important;
}

.sidebar.left{display:flex;flex-direction:column}
.sidebar.left .block-categories{flex:0 0 auto}
.sidebar-feedback-bottom{
  margin-top:auto;
  padding:14px;
  border-top:1px solid #e8ecf1;
}
.sidebar-feedback-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  border:1px solid #d8dee7;
  border-radius:9px;
  background:#f7f8fa;
  color:#344054;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
}
.sidebar-feedback-link:hover{background:#eef2f6}

.pretty-file label,.pretty-file-box{
  min-height:82px!important;
  border:1.5px dashed #aeb9c7!important;
  background:linear-gradient(180deg,#fbfcfd,#f5f7fa)!important;
  border-radius:12px!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);
}
.pretty-file label:hover,.pretty-file-box:hover,
.image-dropzone.is-dragover{
  border-color:#3993d5!important;
  background:#eef8ff!important;
  color:#196da8!important;
}
.pretty-file-icon{
  background:#e9eef4!important;
  color:#41556e!important;
}
.image-dropzone{transition:.15s ease}

.suspended-account-card{
  width:390px!important;
  max-width:92vw;
  text-align:center;
  padding:32px!important;
}
.suspended-icon{
  width:58px;height:58px;border-radius:50%;
  margin:0 auto 14px;
  display:grid;place-items:center;
  background:#fff0ef;color:#c0392b;
  font-size:30px;font-weight:900;
}
.suspended-account-card h2{margin:0 0 9px;font-size:22px;color:#b42318}
.suspended-account-card p{margin:0 0 20px;line-height:1.65;color:#5f6978;font-size:13px}

/* v26 - 내부 영역 직접 선택 */
.style-target-selected{
  outline:2px solid #4a90d9!important;
  outline-offset:-2px!important;
  position:relative;
}
.style-target-selected::after{
  content:'선택';
  position:absolute;
  top:3px;
  right:4px;
  z-index:3;
  background:#4a90d9;
  color:#fff;
  border-radius:4px;
  padding:2px 5px;
  font-size:8px;
  line-height:1.2;
  pointer-events:none;
}

/* v26 - 이미지 업로드 UI */
.pretty-file label.upload-card,
.pretty-file-box.upload-card{
  min-height:62px!important;
  padding:10px 11px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  border:1px dashed #aab7c7!important;
  border-radius:10px!important;
  background:#f8fafc!important;
  cursor:pointer!important;
  text-align:left!important;
  box-shadow:none!important;
}
.upload-card:hover,
.upload-card.is-dragover{
  background:#eef7ff!important;
  border-color:#4f9bd4!important;
}
.upload-card .pretty-file-icon{
  flex:0 0 30px!important;
  width:30px!important;
  height:30px!important;
  border-radius:8px!important;
  background:#e7eef5!important;
  color:#315b7d!important;
  font-size:17px!important;
}
.upload-card-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
  flex:1;
}
.upload-card-copy strong{
  font-size:11px!important;
  line-height:1.25!important;
  color:#334155!important;
}
.upload-card-copy small{
  font-size:8.5px!important;
  line-height:1.25!important;
  color:#8792a2!important;
}
.upload-file-name,
.pretty-file-name{
  font-size:8px!important;
  color:#929cab!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.pretty-file-name{
  margin-top:4px!important;
  text-align:left!important;
}

/* v27 - 스타일/속성 기본 폰트 크기 */
.sidebar.right .panel-title{
  font-size:18px!important;
}
.sidebar.right .field-label{
  font-size:18px!important;
  line-height:1.35!important;
}
.sidebar.right .input,
.sidebar.right select,
.sidebar.right textarea,
.sidebar.right .btn{
  font-size:18px!important;
}
.sidebar.right .mini-info,
.sidebar.right .hint,
.sidebar.right small,
.sidebar.right .pretty-file-name{
  font-size:15px!important;
  line-height:1.45!important;
}

/* v27 - 이미지 업로드 버튼 */
.sidebar.right input[type="file"]{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
.sidebar.right .upload-card{
  min-height:68px!important;
  padding:11px 12px!important;
  border:1.5px dashed #aab7c7!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  box-shadow:0 3px 10px rgba(15,23,42,.04)!important;
  cursor:pointer!important;
}
.sidebar.right .upload-card:hover,
.sidebar.right .upload-card.is-dragover{
  border-color:#3897d3!important;
  background:#eef8ff!important;
  box-shadow:0 5px 14px rgba(56,151,211,.11)!important;
}
.sidebar.right .upload-card .pretty-file-icon{
  width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
  font-size:19px!important;
}
.sidebar.right .upload-card-copy strong{
  font-size:14px!important;
  line-height:1.25!important;
}
.sidebar.right .upload-card-copy small{
  font-size:11px!important;
  line-height:1.3!important;
}
.sidebar.right .upload-file-name,
.sidebar.right .pretty-file-name{
  font-size:11px!important;
  margin-top:5px!important;
}

.library-meta{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:4px!important;
}
.library-meta strong{
  display:block!important;
  font-size:13px!important;
  line-height:1.35!important;
}
.library-meta span{
  display:block!important;
  margin:0!important;
  font-size:10px!important;
  color:#929aaa!important;
}

/* v27 - 박스/버튼 최소 간격 */
.library-item{
  padding:13px!important;
  gap:12px!important;
}
.library-item-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
.library-item-actions .btn{
  margin:0!important;
}
.share-grid{
  gap:12px!important;
}
.prop-actions,
.link-selection-actions,
.table-prop-actions,
.text-style-tools,
.my-company-edit,
.profile-feedback-head{
  gap:10px!important;
}
.sidebar.right .two-inputs{
  gap:10px!important;
}

/* v28 - 스타일/속성 글자 크기 재조정 */
.sidebar.right .panel-title{font-size:16px!important}
.sidebar.right .field-label,
.sidebar.right .input,
.sidebar.right select,
.sidebar.right textarea,
.sidebar.right .btn{
  font-size:16px!important;
}
.sidebar.right .mini-info,
.sidebar.right .hint,
.sidebar.right small,
.sidebar.right .pretty-file-name{
  font-size:16px!important;
  line-height:1.5!important;
}
.sidebar.right .text-style-tools .font-style-btn,
.sidebar.right .table-prop-actions .btn{
  font-size:12px!important;
  line-height:1.25!important;
  padding:7px 6px!important;
  min-height:32px!important;
}

/* v28 - 라이브러리 박스 규격 통일 */
.library-list{display:flex!important;flex-direction:column!important;gap:10px!important}
.library-item{
  min-height:92px!important;
  padding:13px 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  border-radius:11px!important;
}
.library-item .library-meta{flex:1 1 auto!important;min-width:0!important}
.library-item-actions{
  flex:0 0 auto!important;
  min-width:235px!important;
  justify-content:flex-end!important;
  gap:8px!important;
}
.library-item-actions .btn{
  min-height:34px!important;
  padding:7px 11px!important;
}
.library-item.recent-local .library-item-actions{
  min-width:235px!important;
}

/* v28 - 템플릿 미리보기 회색계열 통일 */
.template-thumb,
.t-modern,.t-public,.t-magazine,.t-cards,.t-event,.t-insight,.t-visual,.t-notice,
.t-blue,.t-minimal,.t-two,.t-three,.t-startup,.t-finance,.t-culture,.t-recruit,.t-premium{
  background:linear-gradient(180deg,#59616c 0 25%,#eef1f4 25% 52%,#d8dde3 52% 73%,#f8f9fa 73% 100%)!important;
}
.t-two{
  background:linear-gradient(90deg,#d9dee4 0 49%,#fff 49% 51%,#d9dee4 51% 100%)!important;
}
.t-three{
  background:linear-gradient(90deg,#d9dee4 0 32%,#fff 32% 34%,#d9dee4 34% 66%,#fff 66% 68%,#d9dee4 68% 100%)!important;
}

.banner-block .banner-user-image{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:320px!important;
  object-fit:cover!important;
  border-radius:10px!important;
}

/* v29 - 라이브러리 카드/버튼 완전 동일 규격 */
.library-item,
.library-item.recent-local{
  height:94px!important;
  min-height:94px!important;
  max-height:94px!important;
  padding:14px!important;
  margin:0!important;
  border:1px solid #e2e7ed!important;
  border-radius:11px!important;
  background:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
}
.library-meta{
  min-width:0!important;
  flex:1 1 auto!important;
}
.library-meta strong{
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.library-item-actions{
  flex:0 0 250px!important;
  min-width:250px!important;
  width:250px!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
}
.library-item-actions .btn,
.library-item-actions .library-copy-btn,
.library-item-actions .library-open-btn,
.library-item-actions .library-delete-btn{
  box-sizing:border-box!important;
  width:76px!important;
  min-width:76px!important;
  max-width:76px!important;
  height:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  padding:0 6px!important;
  margin:0!important;
  border-radius:8px!important;
  font-size:11px!important;
  line-height:32px!important;
  font-weight:800!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.library-delete-btn{
  color:#b42318!important;
  border-color:#efc9c6!important;
  background:#fff!important;
}

.editor-list-fallback{
  display:block;
  min-height:1.4em;
  line-height:1.6;
}
.canvas [contenteditable="true"] ol,
.canvas [contenteditable="true"] ul{
  margin:8px 0;
  padding-left:24px;
}
.canvas [contenteditable="true"] li{
  min-height:1.4em;
  line-height:1.6;
}

.t-album{
  background:
    linear-gradient(90deg,#d7dce2 0 31%,#fff 31% 34%,#d7dce2 34% 65%,#fff 65% 68%,#d7dce2 68% 100%) 0 10px/100% 48px no-repeat,
    linear-gradient(90deg,#e2e6ea 0 31%,#fff 31% 34%,#e2e6ea 34% 65%,#fff 65% 68%,#e2e6ea 68% 100%) 0 70px/100% 48px no-repeat,
    #f7f8fa!important;
}

/* v29 - 모든 이미지 업로드 UI 동일 */
#multiImageProps .pretty-file{
  margin-bottom:13px!important;
}
#multiImageProps .pretty-file label.upload-card,
#logoProps .pretty-file label.upload-card,
#imageProps .pretty-file label.upload-card{
  min-height:68px!important;
  height:68px!important;
  padding:11px 12px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  border:1.5px dashed #aab7c7!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  text-align:left!important;
  box-shadow:0 3px 10px rgba(15,23,42,.04)!important;
}
#multiImageProps .pretty-file label.upload-card:hover,
#logoProps .pretty-file label.upload-card:hover,
#imageProps .pretty-file label.upload-card:hover,
#multiImageProps .pretty-file label.upload-card.is-dragover,
#logoProps .pretty-file label.upload-card.is-dragover,
#imageProps .pretty-file label.upload-card.is-dragover{
  background:#eef8ff!important;
  border-color:#3897d3!important;
}
#multiImageProps .upload-card-copy strong,
#logoProps .upload-card-copy strong,
#imageProps .upload-card-copy strong{
  font-size:14px!important;
}
#multiImageProps .upload-card-copy small,
#logoProps .upload-card-copy small,
#imageProps .upload-card-copy small{
  font-size:11px!important;
}

/* v30 - 템플릿 구조 미리보기 */
.template-thumb{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  padding:7px!important;
  background:#f5f6f8!important;
}
.template-thumb .thumb-block{position:relative;display:block;flex:0 0 auto;border-radius:3px;overflow:hidden}
.thumb-logo{height:9px;width:42%;background:#7b838d}
.thumb-heading{height:10px;width:62%;background:#4f5761}
.thumb-headline{height:18px;background:#555d67}
.thumb-text{height:12px;background:repeating-linear-gradient(#cbd0d6 0 2px,transparent 2px 4px)}
.thumb-divider{height:1px;background:#9da4ac;margin:3px 0}
.thumb-image,.thumb-banner{height:25px;background:#b8bec5}
.thumb-banner{height:20px}
.thumb-notice{height:14px;border:1px solid #aeb5bd;background:#e2e5e8}
.thumb-quote{height:13px;border-left:3px solid #69717a;background:#e4e7ea}
.thumb-button{height:10px;width:34%;align-self:center;background:#737b85}
.thumb-footer{height:15px;background:#4b525a;margin-top:auto}
.thumb-text-image{height:28px;display:grid!important;grid-template-columns:55% 45%;gap:3px;background:transparent}
.thumb-text-image i{background:repeating-linear-gradient(#c8cdd3 0 2px,transparent 2px 4px)}
.thumb-text-image b{background:#aeb5bc}
.thumb-card{height:29px;display:grid!important;grid-template-columns:38% 1fr;gap:4px;background:transparent}
.thumb-card i{background:#adb4bc}.thumb-card b{background:repeating-linear-gradient(#c8cdd3 0 2px,transparent 2px 4px)}
.thumb-cards{height:29px;display:grid!important;gap:4px;background:transparent}
.thumb-cards.two{grid-template-columns:repeat(2,1fr)}
.thumb-cards.three{grid-template-columns:repeat(3,1fr)}
.thumb-cards i{background:linear-gradient(#adb4bc 0 58%,#d7dbe0 58% 100%);border:1px solid #c7ccd2}
.thumb-event{height:24px;display:grid!important;grid-template-columns:24% 1fr;gap:3px;background:transparent}
.thumb-event i{background:#666e77}.thumb-event b{background:#d8dce1;border:1px solid #c6cbd0}
.thumb-stats{height:20px;display:grid!important;grid-template-columns:repeat(3,1fr);gap:4px;background:transparent}
.thumb-stats i{background:#d9dde1;border:1px solid #c6cbd0}
.template-card[data-template="album"] .template-thumb .thumb-cards.three{height:22px}

/* v30 - 공통 푸터 기본 */
.footer-block{background:#3f454d;color:#fff;text-align:center;font-size:13px;line-height:1.65;padding:22px 26px}

/* v30 - 모바일 3단 카드 세로 길이 축소 */
.canvas.device-mobile .cards-grid.three,
.canvas[style*="width: 390px"] .cards-grid.three,
.canvas[style*="width:390px"] .cards-grid.three{gap:8px!important}
.canvas.device-mobile .cards-grid.three .mini-card,
.canvas[style*="width: 390px"] .cards-grid.three .mini-card,
.canvas[style*="width:390px"] .cards-grid.three .mini-card{padding:8px!important;border-radius:8px!important}
.canvas.device-mobile .cards-grid.three .mini-card>.layout-upload-image,
.canvas.device-mobile .cards-grid.three .mini-card>a.editor-image-link>.layout-upload-image,
.canvas[style*="width: 390px"] .cards-grid.three .mini-card>.layout-upload-image,
.canvas[style*="width:390px"] .cards-grid.three .mini-card>.layout-upload-image{height:92px!important;margin-bottom:7px!important}
.canvas.device-mobile .cards-grid.three .card-image-placeholder,
.canvas[style*="width: 390px"] .cards-grid.three .card-image-placeholder,
.canvas[style*="width:390px"] .cards-grid.three .card-image-placeholder{height:92px!important}
.canvas.device-mobile .cards-grid.three .mini-card h3,
.canvas[style*="width: 390px"] .cards-grid.three .mini-card h3,
.canvas[style*="width:390px"] .cards-grid.three .mini-card h3{margin:6px 0 4px!important;font-size:14px!important;line-height:1.3!important}
.canvas.device-mobile .cards-grid.three .mini-card p,
.canvas[style*="width: 390px"] .cards-grid.three .mini-card p,
.canvas[style*="width:390px"] .cards-grid.three .mini-card p{font-size:11px!important;line-height:1.35!important}

/* v31 - 블록 직접 드래그 정렬 */
.block[draggable="true"]{cursor:grab}
.block[draggable="true"]:active{cursor:grabbing}
.block.sorting{
  opacity:.62!important;
  outline:2px dashed #4b5563!important;
  box-shadow:0 12px 30px rgba(15,23,42,.16)!important;
}
.block [contenteditable="true"],
.block input,.block textarea,.block select,.block button,.block a,.block img{
  cursor:auto;
}
