[hidden] { display:none !important; }
.job-lanes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.job-lane { min-width:0; background:#f5f7fb; border:1px solid #e2e8f0; border-radius:10px; padding:14px; }
.job-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.job-heading h3 { margin:0; font-size:15px; }
.job-status { font-size:12px; color:#667085; white-space:nowrap; }
button.job-status { width:auto; margin:0; padding:4px 8px; min-height:32px; background:transparent; border:0; box-shadow:none; }
button.job-status:enabled { color:#156bd8; text-decoration:underline; cursor:pointer; }
button.job-status:disabled { opacity:1; cursor:default; }
button.job-status:focus-visible { outline:2px solid #156bd8; outline-offset:2px; }
.job-lane[data-active="true"] .job-status { color:#156bd8; }
.job-lane[data-failed="true"] { border-color:#e4ab83; background:#fff8f1; }
.job-lane[data-failed="true"] .job-status { color:#a64d12; }
.job-percent { display:block; margin-top:4px; color:#475467; font-size:12px; font-variant-numeric:tabular-nums; }
.job-heading { flex-wrap:wrap; }
.job-heading h3 { overflow-wrap:anywhere; }
#jobProgressWrap, #uploadSection { scroll-margin-top:18px; }
.last-upload-badges { display:flex; flex-wrap:wrap; gap:6px; margin:6px 0 10px; }
.last-upload-badge { padding:4px 9px; border-radius:20px; font-size:12px; font-weight:600; background:#eef2f7; color:#475467; }
.last-upload-badge[data-platform="reel"] { background:#eaf6ee; color:#1a7f37; }
.last-upload-badge[data-platform="carousel_kr"] { background:#edf3ff; color:#0c5dc2; }
.last-upload-badge[data-platform="youtube"] { background:#f0edff; color:#6252ce; }
.last-upload-badge[data-platform="threads"] { background:#edf0f2; color:#454a50; }
.last-upload-badge[data-platform="carousel_en"] { background:#e6f6fa; color:#087b94; }
#last { overflow-wrap:anywhere; line-height:1.6; }
.last-upload-time { margin-top:4px; font-size:13px; color:#667085; }
.related-search-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:12px; }
.related-search-controls label { min-width:0; font-size:13px; color:#475467; }
.related-search-controls input, .related-search-controls select { box-sizing:border-box; display:block; width:100%; min-height:44px; margin-top:5px; padding:8px; border:1px solid #ccd3dd; border-radius:8px; font:inherit; background:white; }
.related-search-controls button { grid-column:1 / -1; margin:0; }
.related-article-meta { margin-top:5px; font-size:12px; color:#667085; line-height:1.6; overflow-wrap:anywhere; }
#issueRelatedMore { width:100%; margin:12px 0; }
.platform-edit-toolbar { position:sticky; top:8px; z-index:3; display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:12px; margin:12px 0; background:#f4f7fc; border:1px solid #dbe2ed; border-radius:12px; }
.platform-edit-toolbar button { width:auto; margin:0; min-height:44px; font-size:13px; padding:10px 14px; }
.platform-edit-summary { flex:1 1 150px; color:#475467; font-size:13px; }
.platform-edit-status { display:inline-block; padding:4px 8px; margin-bottom:10px; border-radius:20px; background:#eaf6ee; color:#1a7f37; font-size:12px; }
.platform-edit-status[data-dirty="true"] { background:#fff1d6; color:#925d06; }
#platformEditContent .edit-panel { margin-top:14px; }
#platformEditContent h3 { margin:0 0 8px; font-size:16px; line-height:1.5; }
.job-lane progress { width:100%; height:12px; margin-top:12px; accent-color:#2175e9; }
#jobLane-upload progress { accent-color:#188151; }
.job-step { font-size:13px; margin:6px 0; overflow-wrap:anywhere; }
.job-elapsed { font-size:12px; color:#667085; }
#uploadSection { margin:16px 0; }
@media (max-width:480px) { .job-lanes { grid-template-columns:1fr; } }
* { box-sizing:border-box; }
body { max-width:920px; margin:auto; background:#f5f7fb; padding-bottom:32px; }
button, a, summary, label[for] { cursor:pointer; }
button { font-family:inherit; }
button:disabled { opacity:.55; cursor:wait; }
:focus-visible { outline:3px solid #2563eb; outline-offset:3px; }
h2 { font-size:19px; margin:0; line-height:1.5; }
.card { background:#fff; padding:20px; }
.flow-intro { margin:24px 0; }
.flow-intro h2 { font-size:25px; letter-spacing:-.8px; }
.flow-hint { font-size:14px; line-height:1.65; color:#606b7c; margin:6px 0 14px; }
.flow-steps { display:flex; gap:16px; list-style:none; padding:0; margin:20px 0 0; font-size:13px; color:#667085; }
.flow-steps li { display:flex; align-items:center; gap:7px; }
.flow-steps span { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#e8edf5; }
.flow-steps [aria-current] { color:#145dc4; font-weight:700; }
.flow-steps [aria-current] span { background:#145dc4; color:white; }
.section-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
#selectionCount, .step-tag { font-size:12px; font-weight:600; background:#edf3ff; color:#245ba6; border-radius:20px; padding:5px 10px; }
.platform-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:14px; }
.extra-platform-actions { grid-column:1 / -1; margin-top:4px; }
.extra-platform-actions > summary { padding:12px 4px; color:#475467; font-size:14px; cursor:pointer; }
.extra-platform-actions > .platform-actions { margin-top:4px; }
.platform-actions button { min-height:48px; padding:10px 8px; font-size:16px; margin:0; }
.platform-actions #blogBtn { font-size:13px; padding:8px 6px; word-break:keep-all; line-height:1.15; }
#selectionHint:empty { display:none; }
.secondary-heading { border-top:1px solid #e5e9f0; padding-top:18px; margin-top:20px; color:#5b6575; font-size:14px; }
.cover-action-group { display:flex; min-width:0; }
.platform-actions .cover-action-group button { flex:1; min-width:0; width:auto; padding:10px 2px; border-radius:14px 0 0 14px; }
.platform-actions .cover-action-group .cover-edit { display:flex; align-items:center; justify-content:center; flex:0 0 28px; border-radius:0 14px 14px 0; border-left:1px solid #ffffff50; background:#555; color:#fff; }
.edit-pencil-icon { display:block; width:14px; height:14px; flex:none; }
@media (max-width:480px) {
  .platform-actions .cover-action-group button { font-size:14px; line-height:1.15; }
  .platform-actions .cover-action-group #blogBtn { font-size:12px; padding:8px 2px; }
}
#blogTitleDialog, #newsBlogDialog, #newsBlogImageDialog { width:min(500px, calc(100vw - 32px)); max-height:85vh; overflow:auto; border:0; border-radius:16px; padding:24px; }
#blogTitleDialog::backdrop { background:rgba(0,0,0,.45); }
#blogTitleDialog label, .blog-title-card label { display:block; margin:12px 0 6px; font-size:14px; }
#blogTitleDialog input, #blogTitleDialog textarea, .blog-title-card textarea, .blog-title-card select { width:100%; padding:10px; border:1px solid #ccd3dd; border-radius:8px; font:inherit; }
#blogTitleDialog button { min-height:44px; margin-top:12px; }
#blogTitleDialog .dialog-close { background:#eee; color:#333; }
.blog-title-card { max-width:480px; padding:12px 0 20px; color:#111; }
.blog-title-card img { display:block; width:100%; height:auto; border-radius:8px; }
.blog-photo-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:10px 0; }
.blog-photo-options .blog-photo-choice { padding:4px; min-width:0; background:#f5f7fb; color:#333; border:2px solid transparent; border-radius:8px; font-size:12px; }
.blog-photo-options .blog-photo-choice[aria-pressed=true] { border-color:#2563eb; background:#edf3ff; }
.blog-photo-choice img { width:100%; aspect-ratio:1; object-fit:cover; }
#blogTitleModes button { flex:1 1 110px; }
#blogTitleModes button[aria-pressed=true] { background:#145dc4; box-shadow:0 0 0 2px #93b8ff; }
#blogTitleDialog .blog-source-picks { max-height:260px; overflow:auto; }
#blogTitleDialog .blog-source-picks label { display:flex; align-items:flex-start; gap:10px; }
#blogTitleDialog .blog-source-picks input { width:auto; flex:none; margin-top:4px; }
.blog-ai-panel { margin-top:22px; padding-top:8px; border-top:1px solid #e3e8ef; }
.blog-ai-figure { margin:0 0 12px; }
.blog-ai-figure figcaption { font-size:12px; color:#606b7c; margin-top:6px; }
.blog-title-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.blog-title-actions button, .blog-title-actions a { display:flex; align-items:center; justify-content:center; flex:1 1 130px; width:auto; height:44px; min-height:44px; margin:0; padding:8px 10px; border:0; border-radius:8px; text-align:center; font:inherit; line-height:1.4; }
.blog-title-actions a { background:#167347; color:#fff; text-decoration:none; }
.blog-title-actions a[hidden] { display:none; }
.blog-title-error { color:#b42318; white-space:pre-line; overflow-wrap:anywhere; }
.blog-reference-error { color:#b42318; }
.blog-reference-evidence { margin:5px 0 12px; color:#475467; font-size:13px; line-height:1.6; }
.blog-reference-video { padding:12px 0; border-bottom:1px solid #e3e8ef; overflow-wrap:anywhere; }
.blog-reference-time { color:#145dc4; font-weight:600; margin:8px 0; }
.blog-reference-play { width:auto; min-height:44px; margin:0; padding:10px 14px; font-size:14px; }
.blog-reference-video iframe { display:block; width:100%; aspect-ratio:16/9; margin-top:12px; border:0; border-radius:8px; }
#newsBlogDialog::backdrop, #newsBlogImageDialog::backdrop { background:rgba(0,0,0,.45); }
#newsBlogDialog label, .news-blog-result label { display:block; margin:12px 0 6px; font-size:14px; }
#newsBlogDialog input, #newsBlogDialog textarea, .news-blog-result input, .news-blog-result textarea { width:100%; padding:10px; border:1px solid #ccd3dd; border-radius:8px; font:inherit; }
#newsBlogDialog button, .news-blog-result button { min-height:44px; padding:10px; font-size:14px; }
#newsBlogDialog .dialog-close { background:#eee; color:#333; }
#newsBlogError { color:#b42318; font-size:14px; }
.news-blog-images { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:16px; }
.news-blog-images:has(figure:only-child) { grid-template-columns:minmax(0,1fr); max-width:400px; }
.news-blog-images:has(figure:nth-child(2):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.news-blog-images figure { margin:0; min-width:0; }
.news-blog-images img { width:100%; aspect-ratio:1; object-fit:contain; background:#f5f7fb; border-radius:8px; }
.news-blog-images figcaption { font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.news-blog-images input[type=checkbox] { width:auto; }
.news-blog-result .news-blog-body { min-height:220px; line-height:1.8; }
.news-blog-result { color:#111; }
.news-blog-error { color:#b42318; }
.news-blog-sources { font-size:13px; line-height:1.8; overflow-wrap:anywhere; }
.news-blog-actions { display:flex; gap:8px; margin-top:14px; }
.news-blog-actions { flex-wrap:wrap; }
.news-blog-actions button { flex:1 1 120px; width:auto; }
.news-blog-images button { width:100%; padding:7px 2px; font-size:12px; }
.news-blog-result select { padding:10px; font:inherit; max-width:100%; }
#newsBlogImageDialog label { display:block; margin:12px 0 6px; }
#newsBlogImageDialog input { width:100%; padding:10px; font:inherit; border:1px solid #ccd3dd; border-radius:8px; }
#newsBlogImageDialog button { min-height:44px; font-size:14px; }
.news-blog-notes { font-size:13px; line-height:1.7; color:#606b7c; white-space:pre-wrap; }
.pending-item { padding:14px 8px; border-radius:8px; }
.pending-item:has(input:checked) { background:#f0f5ff; }
.pending-item label { line-height:1.6; word-break:keep-all; overflow-wrap:anywhere; }
.pending-item .edit-btn { min-height:36px; }
/* 어느 플랫폼에 올렸는지 제목 옆에 붙는 표시. ×를 누르면 그 기록만 지워서
   같은 글을 다시 올릴 수 있다. */
.upload-badge { display:inline-flex; align-items:center; gap:2px; margin-left:6px; padding:2px 4px 2px 8px; border-radius:20px; background:#eef2f7; color:#475467; font-size:12px; font-weight:600; white-space:nowrap; }
.upload-forget { width:20px; height:20px; min-height:0; margin:0; padding:0; border:none; border-radius:50%; background:transparent; color:#98a2b3; font-size:15px; line-height:1; }
.upload-forget:hover { background:#dfe5ee; color:#344054; }
.review-section { scroll-margin-top:18px; }
#result { white-space:normal; overflow-wrap:anywhere; line-height:1.65; }
#result video, #result img { max-width:100%; }
#logDetails { margin-top:16px; color:#667085; font-size:13px; }
#logDetails summary { padding:10px 0; }
[id^="carouselPanel-"] > summary { padding:14px 4px; color:#475467; font-size:14px; }
#platformEditPanel > summary { padding:14px 4px; color:#475467; font-size:14px; }
.preview-strip .thumb { position:relative; padding-top:12px; }
.preview-strip .thumb img { cursor:grab; touch-action:none; }
.threads-drag-handle { margin:4px 0 0; padding:6px; min-height:32px; font-size:13px; color:#344054; background:#edf1f7; cursor:grab; touch-action:none; }
/* 영상 썸네일은 재생 컨트롤이 있어서 눌러도 확대로 이어줄 수가 없다 - 사진은
   썸네일을 그냥 누르면 커지고, 영상만 이 버튼으로 크게 연다. */
.thumb-zoom { position:absolute; left:-4px; top:0; margin:0; width:28px; height:28px; padding:0; border:1px solid #ccd3df; border-radius:50%; background:white; color:#344054; font-size:15px; line-height:1; }
.threads-remove { position:absolute; right:-4px; top:0; margin:0; width:28px; height:28px; padding:0; border:1px solid #ccd3df; border-radius:50%; background:white; color:#344054; font-size:21px; }
.flow-dock { position:fixed; bottom:0; left:0; right:0; z-index:15; display:flex; align-items:center; justify-content:center; gap:16px; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.97); border-top:1px solid #dbe2ed; box-shadow:0 -3px 16px #10244a0a; }
#dockMessage { flex:1; min-width:0; max-width:560px; font-size:13px; color:#475467; word-break:keep-all; overflow-wrap:anywhere; }
#dockAction { flex:none; width:auto; margin:0; padding:12px 18px; font-size:14px; white-space:nowrap; }
.has-flow-dock { padding-bottom:calc(100px + env(safe-area-inset-bottom)); }
#menuBtn { min-height:44px; font-size:17px; }
#menuBtn span { font-size:14px; }
#drawer { width:min(92%,560px); padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom); overscroll-behavior:contain; }
body:has(#drawer.open) { overflow:hidden; }
#drawerCloseBtn { min-width:44px; min-height:44px; font-size:23px; line-height:1; }
#drawer { width:min(calc(100% - 16px),560px); padding:0; border-radius:0 20px 20px 0; }
#drawer > .card { min-height:100%; margin:0; padding:0 16px calc(20px + env(safe-area-inset-bottom)); border:0; background:#fff; }
.drawer-top { position:sticky; top:0; z-index:2; padding:calc(16px + env(safe-area-inset-top)) 0 0; background:#fff; border-bottom:1px solid #e5e9f0; }
.drawer-header { align-items:flex-start; gap:8px; }
.drawer-header h2 { font-size:20px; }
.drawer-header .flow-hint { font-size:12px; margin:6px 0 12px; }
#drawerCloseBtn { flex:none; border-radius:50%; background:#f3f5f8; }
#drawer .issue-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin:0; padding-bottom:14px; }
#drawer .issue-tab { width:100%; min-height:44px; padding:10px 8px; }
#issuesList[aria-busy="true"], .news-empty { padding:24px 4px; font-size:14px; line-height:1.7; color:#667085; }
.news-empty p { margin:0 0 12px; }
.news-empty button { min-height:44px; }
#drawer .issue-item { padding:14px 0; align-items:start; }
#drawer .issue-title { min-height:44px; padding:0; line-height:1.65; word-break:keep-all; overflow-wrap:anywhere; }
#drawer .issue-rank { padding-top:2px; font-size:13px; }
.issue-item:not(:has(.issue-video-link)) .issue-title { grid-column:2 / -1; }
@media (max-width:480px) {
  input, textarea, select { font-size:16px; }
  #issueDetailModal { padding:calc(16px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom)); }
}
.quiet-button { width:auto; margin:0; padding:10px 12px; font-size:13px; background:#edf1f7; color:#344054; }
.issue-title { width:auto; padding:8px 0; margin:0; background:transparent; border-radius:4px; text-align:left; line-height:1.6; font-weight:500; min-width:0; overflow-wrap:anywhere; }
.issue-create { flex:none; width:auto; padding:10px; margin:0; font-size:12px; background:#edf3ff; color:#245ba6; border-radius:8px; min-height:44px; }
.issue-item { display:grid; grid-template-columns:18px minmax(0,1fr) auto; column-gap:10px; row-gap:4px; }
.issue-rank { grid-column:1; grid-row:1; }
.issue-title { grid-column:2; grid-row:1; }
.issue-create { grid-column:3; grid-row:1; }
.issue-video-link { grid-column:3; grid-row:1; display:flex; align-items:center; justify-content:center; min-height:44px; padding:6px 9px; border:1px solid #d6dce5; border-radius:8px; color:#475467; background:#fff; font-size:12px; text-decoration:none; white-space:nowrap; }
.issue-video-link:hover { color:#145dc4; background:#edf3ff; }
.issue-original-only { margin-left:2px; color:#667085; font-size:12px; font-weight:400; white-space:nowrap; }
@media (max-width:480px) {
  body { padding:16px 12px 32px; }
  .has-flow-dock { padding-bottom:calc(100px + env(safe-area-inset-bottom)); }
  .topbar { gap:8px; }
  .topbar h1 { font-size:17px; }
  .card { padding:16px; }
  .platform-actions button { font-size:14px; }
  .flow-steps { gap:12px; font-size:12px; }
  .issue-tabs { gap:6px; }
  .issue-tab { padding:10px 14px; }
}
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; } }
.video-title-editor { margin: 12px 0; padding: 12px; border: 1px solid #dce4f0; border-radius: 10px; }
.video-title-thumb { display: block; width: 88px; height: 110px; object-fit: cover; border-radius: 8px; margin: 8px 0; }
.video-title-thumb[hidden] { display: none; }
.video-title-toggle { margin: 4px 0 8px; }
.video-title-url { display: block; width: 100%; box-sizing: border-box; margin-top: 5px; padding: 10px; border: 1px solid #cbd5e1; border-radius: 8px; }
.draft-image-source { position:absolute; top:6px; right:6px; padding:4px 8px; border-radius:6px; background:rgba(0,0,0,.7); color:white; font-size:12px; text-decoration:none; }
.detail-image-download { display:block; width:fit-content; padding:8px 12px; margin:6px 0 16px; border-radius:8px; background:#f0f4fa; color:#155bb5; font-size:13px; text-decoration:none; }
.related-article-item { display:block; min-width:0; }
.related-article-item a { display:block; width:100%; min-width:0; line-height:1.6; word-break:keep-all; overflow-wrap:anywhere; }
/* 미리보기와 편집 화면(릴스·유튜브·쓰레드·커버)의 사진/영상 빼기 × - 같은 모양으로 맞춘다. */
.video-preview-remove-image, .media-remove-btn { top:0; right:0; width:24px; height:24px; margin:0; padding:0; border-radius:50%; background:#b42318; color:white; font-size:20px; }
.video-preview-remove-image:disabled, .media-remove-btn:disabled { opacity:.45; cursor:default; }
.media-restore-btn { display:block; margin:0 0 8px; }
.media-restore-btn[hidden] { display:none; }
.article-read-error { white-space:pre-line; padding:16px; border-radius:10px; background:#f5f7fa; color:#475467; line-height:1.8; }
