/* briefing-check — analysis content only.
 * Shared chrome (.as-wrap / .as-head / .as-flow / .geo-btn) comes ONLY from aisearcher.css + geo-shell.css.
 */

/* Results may need a wider wrap; do not redefine base .as-wrap */
.main[data-focus="results"] .as-wrap{max-width:1240px}

/* Panels (analysis UI) */
.panel{
  background:var(--g-panel);border:1px solid var(--g-line);border-radius:16px;
  box-shadow:var(--g-shadow);
}
.panel:hover{box-shadow:var(--g-shadow)}
.panel-head,.panel h2{
  background:var(--g-soft);border-bottom:1px solid var(--g-line);
  color:var(--g-ink);
}
.panel-head-title{font-size:15px;font-weight:800}

/* Content inputs */
.main input,.main textarea,.main select{
  border-radius:10px;border:1px solid var(--g-line);
  background:var(--g-input-bg,#fff);color:var(--g-ink);
}
.main input:focus,.main textarea:focus,.main select:focus{
  outline:2px solid rgba(13,122,111,.22);border-color:var(--g-accent);
}

.main .geo-guide-btn-trigger{border:0}

/* Analysis .btn only — do not redefine .geo-btn (shared chrome) */
.main .btn{
  height:36px;padding:0 14px;border-radius:9px;
  border:1px solid var(--g-line);background:var(--g-panel);color:var(--g-ink);
  font:inherit;font-size:13px;font-weight:700;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  text-decoration:none;box-shadow:none;transform:none;
}
.main .btn:hover{background:var(--g-soft);opacity:1;transform:none;box-shadow:none}
.main .btn.primary,.main .btn.green{
  background:var(--g-accent);border-color:var(--g-accent);color:#fff;background-image:none;
}
.main .btn.primary:hover,.main .btn.green:hover{background:var(--g-accent-2);border-color:var(--g-accent-2);box-shadow:none}
.main .btn.light{
  background:var(--g-soft);border:1px solid var(--g-line);color:var(--g-ink);background-image:none;
}
.main .btn.light:hover{background:var(--g-panel);color:var(--g-ink);border-color:var(--g-line)}


/* 셸(상단·사이드) 토큰은 geo-shell.css(--g-*)를 그대로 사용. 페이지 전용 값만 아래에 둠 */
:root{
  --pb-bg: var(--g-bg);
  --pb-side: var(--g-side);
  --pb-side-hover: var(--g-side-active);
  --pb-side-active: var(--g-side-active);
  --pb-side-text: var(--g-side-text);
  --pb-side-text-active: #ffffff;
  --pb-side-border: var(--g-side-border);
  --pb-accent: var(--g-accent);
  --pb-accent-2: var(--g-accent-2);
  --pb-accent-light: var(--g-accent-soft);
  --pb-accent-light-hover: var(--g-accent-soft);
  --pb-dark: var(--g-ink);
  --pb-text: var(--g-ink);
  --pb-text-dark: var(--g-ink);
  --pb-muted: var(--g-muted);
  --pb-line: var(--g-line);
  --pb-line-soft: var(--g-soft);
  --pb-card: var(--g-panel);
  --pb-header-bg: var(--g-soft);
  --pb-ok: var(--g-ok, #10b981);
  --pb-risk: #f43f5e;
  --pb-warn: var(--g-warn, #f59e0b);
  --pb-green: var(--g-ok, #10b981);
  --pb-font: var(--g-font);
  --pb-font-en: var(--g-font);
  --top-h: 52px;
  --side-w: 260px;
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.04), 0 4px 6px -4px rgba(0, 0, 0, 0.04);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%;overflow:hidden}
/* 셸 배경/폰트는 body.geo-app(geo-shell) 규칙 사용 — 콘텐츠 영역만 페이지 스타일 */
.main input,.main textarea,.main select,.main button{font-family:inherit}
.main button{cursor:pointer;transition:all 0.2s ease}
.main a{color:var(--g-accent-2);text-decoration:none;transition:all 0.2s ease}
/* keep geo/shared button borders (do not zero them) */
.main .btn,.main .geo-btn,.main .geo-guide-btn-trigger{border-style:solid}

/* Custom Scrollbar (콘텐츠) */
.main::-webkit-scrollbar{width:6px;height:6px}
.main::-webkit-scrollbar-track{background:transparent}
.main::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}
.main::-webkit-scrollbar-thumb:hover{background:#94a3b8}

.pb-remain-days{
  display:inline-flex;align-items:center;
  height:26px;padding:0 10px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:4px;
  color:#fff;font-size:12px;font-weight:600;
  letter-spacing:-0.01em;
}

/* ===== 뷰 모드: 단계형 — 1.입력 → 2.결과 (전체보기 제거) ===== */
/* 확대/축소·전체보기 아이콘 숨김 */
.panel-expand-btn{display:none !important}

/* Prompt 탭처럼 중앙 고정폭 */
.main[data-focus="input"]{
  overflow:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.main[data-focus="results"]{
  overflow:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  min-height:0;
}
body.geo-unified .main[data-focus="results"]{
  overflow:auto;
}
.main[data-focus="input"] > .as-wrap,
.main[data-focus="results"] > .as-wrap{
  width:100%;
  flex-shrink:0;
  align-self:center;
}
.main[data-focus="results"] > .as-wrap{
  flex:0 0 auto;
  min-height:0;
  max-width:1240px;
  display:flex;
  flex-direction:column;
  overflow:visible;
  padding-bottom:28px;
}
.main[data-focus="input"] .as-head,
.main[data-focus="input"] .workspace-top,
.main[data-focus="results"] .as-head,
.main[data-focus="results"] .workspace-bottom{
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
  align-self:stretch;
}
.main[data-focus="input"] .actions-input{display:flex}
.main[data-focus="input"] .actions-results{display:none}
.main[data-focus="results"] .actions-input{display:none}
.main[data-focus="results"] .actions-results{display:flex}

/* 진단 입력: 가로 3등분 — ①채널+매칭 | ②키워드 | ③URL */
.main[data-focus="input"] .workspace-top{
  flex:0 1 auto;max-height:none;
  grid-template-columns:1fr;
  gap:16px;
  min-height:0;
  width:100%;
  max-width:none;
}
.main[data-focus="input"] .metrics-panel{display:none}
.main[data-focus="input"] .workspace-bottom{display:none}
.main[data-focus="input"] .panel-input{
  flex:0 1 auto;min-height:0;display:flex;flex-direction:column;
}
.main[data-focus="input"] .panel-input .panel-body.input-panel{
  padding:16px 20px;
  display:flex;
  flex-direction:column;
  gap:12px;
  overflow:visible;
  min-height:0;
  flex:0 1 auto;
}
/* 구분선 숨기고, 본문 영역을 가로 3열 그리드로 */
.main[data-focus="input"] .pb-divider{display:none}
.main[data-focus="input"] .input-panel{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:minmax(320px,auto) auto;
  gap:12px 14px;
  align-items:stretch;
}
/* ①②③ 컬럼이 같은 행에 나란히 */
.main[data-focus="input"] .input-top-settings{
  grid-column:1;
  grid-row:1;
}
.main[data-focus="input"] .input-grid{
  display:contents;
}
.main[data-focus="input"] .input-kw-col{
  grid-column:2;
  grid-row:1;
}
.main[data-focus="input"] .input-url-col{
  grid-column:3;
  grid-row:1;
}
.main[data-focus="input"] .input-foot{
  grid-column:1 / -1;
  grid-row:2;
  flex:unset;
  margin-top:0;
  padding-top:10px;
}
/* ① 분석채널 + 매칭방식 (컬럼 내부 세로 스택) */
.main[data-focus="input"] .input-top-settings{
  display:flex !important;
  flex-direction:column;
  gap:14px;
  min-height:0;
  overflow:auto;
  background:var(--pb-header-bg) !important;
  border:1px solid var(--pb-line) !important;
  border-radius:10px !important;
  padding:12px 14px !important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,0.02);
}
.main[data-focus="input"] .input-top-settings .field{margin:0;min-width:0}
.main[data-focus="input"] .input-top-settings .label{margin-bottom:8px}
.main[data-focus="input"] .input-top-settings select{
  height:36px;width:100%;max-width:100%;
}
.main[data-focus="input"] .field{margin-bottom:10px}
.main[data-focus="input"] .checks{
  gap:8px;
  grid-template-columns:1fr;
}
.main[data-focus="input"] .check{
  height:auto;min-height:30px;font-size:12px;
  padding:6px 10px;white-space:normal;
}
/* ② 키워드 / ③ URL 컬럼 */
.main[data-focus="input"] .input-kw-col.sub-card,
.main[data-focus="input"] .input-url-col.sub-card{
  display:flex !important;
  flex-direction:column !important;
  width:100%;
  max-width:none;
  min-height:0;
  overflow:hidden;
}
.main[data-focus="input"] .input-kw-col .kw-lists{
  display:flex !important;
  flex-direction:column !important;
  flex:1 !important;
  min-height:0 !important;
  gap:8px !important;
}
.main[data-focus="input"] .input-kw-col .kw-group{
  flex:1 !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
}
.main[data-focus="input"] .input-kw-col .kw-group .kw-editor,
.main[data-focus="input"] .input-url-col #urlBox{
  flex:1 !important;
  min-height:80px !important;
  max-height:none !important;
  overflow-y:auto !important;
}
.main[data-focus="input"] .kw-editor{
  flex:1 1 auto;
  min-height:80px;
  max-height:none;
}
.main[data-focus="input"] .input-foot #analyzeBtn{
  height:48px;font-size:15px;min-width:180px;
}
/* 좁은 화면: 가로 3열 → 세로 스택 */
@media(max-width:1100px){
  .main[data-focus="input"] .input-panel{
    grid-template-columns:1fr !important;
    grid-template-rows:auto;
    overflow:auto;
  }
  .main[data-focus="input"] .input-top-settings,
  .main[data-focus="input"] .input-kw-col,
  .main[data-focus="input"] .input-url-col{
    grid-column:1 !important;
    grid-row:auto !important;
    min-height:200px;
  }
  .main[data-focus="input"] .input-foot{
    grid-column:1 !important;
    grid-row:auto !important;
  }
  .main[data-focus="input"] .checks{
    grid-template-columns:1fr 1fr;
  }
}

/* 결과: SoV / Citation / 키워드표 개별 패널 세로 스택 */
.main[data-focus="results"] .workspace-top{display:none}
.main[data-focus="results"] .panel-input{display:none}
.main[data-focus="results"] .workspace-bottom{
  flex:0 0 auto;
  min-height:0;
  max-height:none;
  display:flex;
  flex-direction:column;
  gap:16px;
  width:100%;
  max-width:1240px;
  overflow:visible;
}
.main[data-focus="results"] .metrics-panel,
.main[data-focus="results"] .citation-panel,
.main[data-focus="results"] .keywords-panel{
  background:var(--pb-card);
  border:1px solid var(--pb-line);
  border-radius:12px;
  box-shadow:var(--shadow-md);
  overflow:visible;
  display:flex;
  flex-direction:column;
  min-height:0;
}
.main[data-focus="results"] .metrics-panel{
  flex:0 0 auto;
  min-height:auto;
  overflow:visible;
}
.main[data-focus="results"] .metrics-panel .panel-body{
  padding:16px 18px 18px;
  overflow:visible;
  flex:0 0 auto;
  height:auto;
  min-height:auto;
}
.main[data-focus="results"] .citation-panel .panel-body{
  padding:12px 14px 16px;
  overflow:visible;
  flex:0 0 auto;
}
.main[data-focus="results"] .citation-table-wrap{
  overflow:auto;
  max-height:none;
}
.main[data-focus="results"] .result-sec-hint{
  margin:0 0 10px;font-size:12px;color:var(--pb-muted);
}
.main[data-focus="results"] .results-kw-row{
  display:grid;
  grid-template-columns:minmax(0,2.15fr) minmax(220px,0.7fr);
  gap:16px;
  align-items:stretch;
  min-height:420px;
}
.main[data-focus="results"] .keywords-panel{
  min-height:420px;
}
.main[data-focus="results"] .keywords-panel .panel-body{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:12px 16px 16px;
}
.main[data-focus="results"] .keywords-panel .table-wrap{
  flex:1;
  min-height:280px;
  max-height:560px;
  overflow:auto;
}
.main[data-focus="results"] .report-col{
  min-height:0;
  gap:12px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.main[data-focus="results"] .cards{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  height:auto;
}
.main[data-focus="results"] .metric{
  padding:16px 18px;min-height:96px;
  border-radius:10px;
}
.main[data-focus="results"] .metric .num{font-size:26px;margin-top:4px}
.main[data-focus="results"] .report-box{
  border-radius:12px;box-shadow:var(--shadow-md);
  padding:0;
  flex:1 1 0;
  min-height:0;
  overflow:hidden;
  background:var(--pb-card);
  border:1px solid var(--pb-line);
}
.main[data-focus="results"] .report-box h3{
  font-size:14px;margin:0;padding:12px 16px;
  background:var(--pb-header-bg);
  border-bottom:1px solid var(--pb-line-soft);
}
.main[data-focus="results"] .report-box ol,
.main[data-focus="results"] .report-box ul{padding:14px 16px 16px 36px}
.main[data-focus="results"] .report-box .pill-list{padding:14px 16px 16px}
.main[data-focus="results"] .report-box li{font-size:13.5px;line-height:1.6;margin:8px 0}
.main[data-focus="results"] .download-row{flex-shrink:0}
.main[data-focus="results"] .as-head{flex-shrink:0}

/* 전체보기: 좌=진단입력 / 우=결과 대시보드(큰 그리드 1개, 확대 1개) */
.main[data-focus="overview"]{
  display:grid;
  grid-template-columns:1.15fr 1.45fr;
  grid-template-rows:auto minmax(0,1fr);
  gap:10px;
  align-content:stretch;
}
/* Layout only — chrome size/padding from aisearcher.css .as-head */
.main[data-focus="overview"] .as-head,
.main[data-focus="input"] .as-head,
.main[data-focus="results"] .as-head{
  grid-column:1 / -1;
  grid-row:1;
  width:100%;
  order:0;
}
.main[data-focus="overview"] .as-head{align-self:start}
.main[data-focus="input"] .as-head,
.main[data-focus="results"] .as-head,
.main[data-focus="input"] .workspace-top,
.main[data-focus="results"] .workspace-bottom{
  align-self:stretch;
  margin-left:0;
  margin-right:0;
}
/* page head typography: aisearcher.css .as-head */

.main[data-focus="overview"] .workspace-top{
  grid-column:1;
  grid-row:2;
  display:flex;flex-direction:column;
  max-height:none;min-height:0;overflow:hidden;
  gap:0;
}
.main[data-focus="overview"] .workspace-bottom{
  grid-column:2;
  grid-row:2;
  display:flex;flex-direction:column;
  max-height:none;min-height:0;overflow:auto;
  gap:10px;
}
.main[data-focus="overview"] .panel-input{
  flex:1;min-height:0;display:flex;flex-direction:column;
  overflow:hidden;
}
.main[data-focus="overview"] .metrics-panel,
.main[data-focus="overview"] .citation-panel,
.main[data-focus="overview"] .keywords-panel{
  background:var(--pb-card);
  border:1px solid var(--pb-line);
  border-radius:10px;
  box-shadow:var(--shadow-sm);
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  flex-shrink:0;
}
.main[data-focus="overview"] .results-kw-row{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,0.75fr);
  gap:8px;
  min-height:220px;
  flex:1;
}
.main[data-focus="overview"] .report-col{
  min-height:0;overflow:hidden;
  display:flex;flex-direction:column;
  gap:8px;
}
.main[data-focus="overview"] .panel-input .panel-body.input-panel{
  overflow:hidden;
  min-height:0;
  padding:16px;
}
.main[data-focus="overview"] .input-kw-col{
  min-height:0;
}
.main[data-focus="overview"] .kw-lists{
  flex:1;min-height:0;
}
.main[data-focus="overview"] .kw-editor{
  flex:1 1 auto;
  min-height:46px;
  max-height:98px;
  overflow:auto;
  overscroll-behavior:contain;
}
.main[data-focus="overview"] .keywords-panel .panel-body{
  min-height:0;
  overflow:hidden;
  padding:10px 12px;
  display:flex;flex-direction:column;
}
.main[data-focus="overview"] .keywords-panel .table-wrap{
  flex:1;
  min-height:0;
  overflow:auto;
}
.main[data-focus="overview"] .report-box{
  flex:1 1 0;
  min-height:0;
}
.main[data-focus="overview"] .download-row{flex-shrink:0}
.main[data-focus="overview"] .metrics-panel .cards{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:6px;
  height:auto;
}
.main[data-focus="overview"] .metric{
  padding:6px 8px;
  justify-content:center;
}
.main[data-focus="overview"] .metric .name{font-size:10px}
.main[data-focus="overview"] .metric .num{font-size:16px;margin-top:1px}
.main[data-focus="overview"] .metric .sub{font-size:9px;margin-top:0}
/* 서브패널 제목 (결과 요약 / 키워드 결과표) */
.subpanel-head{
  margin:0;padding:8px 12px;
  font-size:12px;font-weight:700;color:var(--pb-text-dark);
  background:var(--pb-header-bg);
  border-bottom:1px solid var(--pb-line-soft);
  flex-shrink:0;
}
.main[data-focus="results"] .subpanel-head{
  font-size:13px;padding:10px 14px;
}
/* 전체보기: 확대 아이콘 / 확대 화면: 동일 위치 축소 아이콘 */
.main[data-focus="overview"] .panel-input > .panel-head .panel-expand-btn.panel-focus-expand{
  display:inline-flex;
}
.main[data-focus="input"] .panel-input > .panel-head .panel-expand-btn.panel-focus-collapse{
  display:inline-flex;
}

.kw-editor{
  border:1px solid var(--pb-line);
  background:var(--pb-header-bg);
  border-radius:8px;
  padding:10px;
  min-height:60px;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  flex:1;
  transition:border-color 0.2s;
}
.kw-editor.empty-state{
  display:flex;align-items:center;justify-content:center;
  color:#94a3b8;font-size:13px;background:var(--pb-header-bg);
  border-style:dashed;
  overflow:hidden;
}
.kw-editor.collecting{opacity:.7;pointer-events:none}
.kw-editor-head{
  display:flex;align-items:center;justify-content:space-between;
  gap:8px;margin-bottom:8px;flex-shrink:0;
}
.kw-editor-head .label{margin:0;font-weight:600}
.kw-count{
  font-size:12px;color:var(--pb-muted);font-weight: 500;
}
.kw-seed-row{
  display:flex;gap:8px;align-items:center;
}
.kw-seed-row input{flex:1;min-width:0}
.kw-seed-row .btn{height:36px;padding:0 16px;flex:0 0 auto}

.input-panel{
  display:flex;flex-direction:column;gap:12px;
  min-height:0;overflow:hidden;flex:1;
}
.input-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);
  gap:16px;
  align-items:stretch;
  min-height:0;
  flex:1;
}
.input-main{
  min-width:0;min-height:0;
  display:flex;flex-direction:column;
  overflow:auto;
}
/* 키워드 영역은 .input-kw-col.sub-card 사용 */
.kw-lists{
  display:flex;flex-direction:column;gap:12px;
  min-height:0;flex:1;overflow:hidden;
}
.kw-group{
  display:flex;flex-direction:column;min-height:0;flex:1;
  overflow:hidden;
}
.kw-group-label{
  display:flex;align-items:center;justify-content:space-between;
  gap:8px;margin-bottom:6px;flex-shrink:0;
  font-size:12px;color:var(--pb-text);font-weight: 600;
}
.kw-group-label .tag{
  font-size:11px;color:var(--pb-muted);font-weight:normal;
  background:var(--pb-line-soft);padding:2px 6px;border-radius:4px;
}
.kw-group.manual .kw-editor{background:var(--pb-card)}
.kw-group.collected .kw-editor{background:var(--pb-header-bg)}
.input-foot{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;flex-shrink:0;
  padding-top:12px;border-top:1px solid var(--pb-line-soft);
}
.input-foot .hint{margin:0;flex:1;min-width:0;color:var(--pb-muted);font-size:12px}
.input-foot #analyzeBtn{flex:0 0 auto;min-width:120px;height:36px;font-size:13px}
.panel-input{min-height:0;overflow:hidden}
.panel-input .panel-body.input-panel{overflow:hidden;min-height:0}

@media(max-width:980px){
  .input-grid{grid-template-columns:1fr}
  .input-kw-col{min-height:220px}
  .input-foot{flex-wrap:wrap}
  .input-foot #analyzeBtn{width:100%}
}

/* .main padding intentionally omitted — use .geo-content from geo-shell.css */
.main{
  min-width:0;min-height:0;overflow:auto;
  display:flex;flex-direction:column;gap:0;
}
.actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap;align-items:center}

/* 상단: 진단 입력 영역 */
.workspace-top{
  flex:0 1 46%;
  display:flex;
  flex-direction:column;
  gap:0;
  min-height:0;
  max-height:46%;
  overflow:hidden;
  align-items:stretch;
}
.workspace-top > *{min-height:0;min-width:0;flex:1}
.panel{
  background:var(--pb-card);
  border:1px solid var(--pb-line);
  border-radius:12px;
  overflow:hidden;
  display:flex;flex-direction:column;min-height:0;
  box-shadow:var(--shadow-md);
  transition:box-shadow 0.2s;
}
.panel:hover{box-shadow:var(--shadow-lg)}
.panel h2{
  margin:0;padding:12px 16px;
  border-bottom:1px solid var(--pb-line-soft);
  font-size:14px;font-weight:700;color:var(--pb-text-dark);
  background:var(--pb-header-bg);flex-shrink:0;
}
/* 패널 헤더 + 확대보기 (전체보기에서만 표시) */
.panel-head{
  margin:0;padding:0 10px 0 16px;
  border-bottom:1px solid var(--pb-line-soft);
  background:var(--pb-header-bg);flex-shrink:0;
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  min-height:44px;
}
.panel-head .panel-head-title{
  font-size:14px;font-weight:700;color:var(--pb-text-dark);
  line-height:1.3;padding:10px 0;
}
.keywords-panel > .panel-head .keywords-snapshot-btn{
  flex:0 0 auto;
  height:30px;
  padding:0 12px;
  font-size:12px;
  font-weight:600;
  margin-left:auto;
}
.panel-expand-btn{
  box-sizing:border-box;
  width:32px;height:32px;padding:0;margin:0;
  border:1px solid var(--pb-line);border-radius:8px;
  background:var(--pb-card);color:var(--pb-text-dark);
  display:none; /* 기본 숨김 — 전체보기에서만 노출 */
  align-items:center;justify-content:center;
  cursor:pointer;flex:0 0 auto;
  transition:background .15s,border-color .15s,color .15s,box-shadow .15s;
}
.panel-expand-btn svg{width:16px;height:16px;display:block}
.panel-expand-btn:hover{
  background:var(--pb-accent-light);
  border-color:#c7d2fe;
  color:var(--pb-accent-2);
  box-shadow:var(--shadow-sm);
}
.panel-expand-btn:focus-visible{
  outline:2px solid var(--pb-accent);
  outline-offset:2px;
}
/* 전체보기: 확대 아이콘 크기 */
.main[data-focus="overview"] .panel-head{min-height:40px}
.main[data-focus="overview"] .panel-head .panel-head-title{font-size:12px;padding:8px 0}
.main[data-focus="overview"] .panel-expand-btn{width:28px;height:28px;border-radius:6px}
.main[data-focus="overview"] .panel-expand-btn svg{width:14px;height:14px}
/* 입력/결과 단독 화면: 헤더는 기존 h2 패딩 느낌 유지 */
.main[data-focus="input"] .panel-head,
.main[data-focus="results"] .panel-head{
  padding:0 10px 0 16px;
}
.main[data-focus="input"] .panel-head .panel-head-title,
.main[data-focus="results"] .panel-head .panel-head-title{
  padding:12px 0;font-size:14px;
}
.main[data-focus="input"] .panel-expand-btn,
.main[data-focus="results"] .panel-expand-btn{
  width:32px;height:32px;border-radius:8px;
}
.main[data-focus="input"] .panel-expand-btn svg,
.main[data-focus="results"] .panel-expand-btn svg{
  width:16px;height:16px;
}
.panel-body{padding:12px 16px;overflow:auto;min-height:0;flex:1}
.label{display:block;margin:0 0 5px;color:var(--pb-text-dark);font-weight:600;font-size:13px}
.hint{font-size:12px;color:var(--pb-muted);margin-top:4px}
.textarea,input[type=text],select{
  width:100%;border:1px solid var(--pb-line);background:var(--pb-card);color:var(--pb-text-dark);
  padding:8px 12px;font-size:13px;border-radius:8px;
  transition:all 0.2s;
}
.textarea:focus,input[type=text]:focus,select:focus{
  outline:none;border-color:var(--pb-accent);
  box-shadow:0 0 0 3px rgba(99, 102, 241, 0.15);
}
.textarea{min-height:56px;height:56px;resize:none}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.field{margin-bottom:10px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.check{
  height:29px;display:flex;align-items:center;gap:6px;
  border:1px solid var(--pb-line);background:var(--pb-header-bg);
  padding:0 10px;border-radius:6px;font-size:12px;white-space:nowrap;
  transition:all 0.2s;
}
.check:hover{border-color:var(--pb-line);background:var(--pb-line-soft)}
.check input{accent-color:var(--pb-accent);margin:0;width:15px;height:15px}

/* 전체화면 분석 로딩 */
.loading-overlay{
  position:fixed;inset:0;
  background:rgba(15, 23, 42, 0.7);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  z-index:11000;
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:20px;
  color:#fff;
  padding:24px;
  animation:fadeInOverlay .25s ease;
}
.loading-overlay.show{display:flex}
.loading-spinner{
  width:60px;height:60px;
  border:5px solid rgba(255,255,255,.1);
  border-top-color:#818cf8;
  border-radius:50%;
  animation:spin 1s linear infinite;
  flex-shrink:0;
  box-shadow: 0 0 15px rgba(129, 140, 248, 0.3);
}
.loading-text{
  margin:0;font-size:22px;line-height:1.35;letter-spacing:-.5px;
  font-weight:700;color:#fff;text-align:center;
}
.loading-sub{
  margin:0;font-size:14px;
  color:rgba(255,255,255,.8);text-align:center;
  font-weight:500;
}
.loading-remain{
  margin:0;font-size:13px;
  color:#cbd5e1;text-align:center;
  font-weight:500;
}
.loading-tasks{
  width:min(440px,86vw);margin-top:6px;
  text-align:left;
}
.loading-tasks-title{
  margin:0 0 8px;font-size:12px;color:rgba(255,255,255,.5);
  font-weight:600;text-align:center;letter-spacing:0.5px;
}
.loading-tasks-list{
  margin:0;padding:0;list-style:none;
  display:flex;flex-direction:column;gap:6px;
  max-height:150px;overflow:auto;
}
.loading-tasks-list li{
  margin:0;padding:10px 12px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;
  font-size:13px;color:#fff;
  word-break:break-word;
}
.loading-tasks-list li.other{opacity:.6}
.loading-tasks-list li .tag{
  display:inline-block;margin-right:6px;
  font-size:11px;color:#818cf8;background:rgba(129, 140, 248, 0.15);
  padding:1px 5px;border-radius:4px;
}
.loading-progress-wrap{
  width:min(340px,78vw);margin-top:8px;
}
.loading-progress-track{
  height:8px;background:rgba(255,255,255,.15);
  border-radius:100px;overflow:hidden;
}
.loading-progress-bar{
  height:100%;width:0%;
  background:linear-gradient(90deg,#818cf8,#6366f1);
  border-radius:100px;
  transition:width .35s ease;
}
.loading-progress-pct{
  margin-top:8px;font-size:13px;color:rgba(255,255,255,.8);
  font-weight:600;text-align:center;font-family:var(--pb-font-en);
}

.metrics-panel .panel-body{padding:6px 8px}
.cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  height:100%;
}
.metric{
  background:var(--pb-header-bg);
  border:1px solid var(--pb-line-soft);
  border-radius:10px;
  padding:8px 12px;
  display:flex;flex-direction:column;justify-content:center;
  min-height:0;
  transition:all 0.2s;
}
.metric:hover{
  border-color:#c7d2fe;
  background:var(--pb-card);
  transform:translateY(-2px);
  box-shadow: 0 4px 12px rgba(99, 102, 241, 0.05);
}
.metric .name{color:var(--pb-muted);font-size:11px;font-weight:600}
.metric .num{
  font-size:20px;color:var(--pb-text-dark);
  font-weight:700;font-family:var(--pb-font-en);
  margin-top:2px;letter-spacing:-0.5px;line-height:1.2;
}
.metric .sub{font-size:10px;color:var(--pb-muted);margin-top:1px}

/* 하단: 결과 대시보드 래퍼 */
.workspace-bottom{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:0;
  align-items:stretch;
}
.workspace-bottom > *{min-height:0;min-width:0}
.table-wrap{overflow:auto;border-radius:8px;flex:1;min-height:0;border:1px solid var(--pb-line)}
/* 사이트별 결과표 블록 (URL 2개 이상) */
.result-site-stack{display:flex;flex-direction:column;gap:14px;padding:10px;min-height:0}
.result-site-block{
  border:1px solid var(--pb-line);border-radius:10px;overflow:hidden;background:var(--pb-card);
}
.result-site-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  padding:8px 12px;background:var(--pb-header-bg);
  border-bottom:1px solid var(--pb-line-soft);
  font-size:13px;font-weight:700;color:var(--pb-text-dark);
}
.result-site-head .site-left{display:flex;align-items:center;gap:8px;min-width:0}
.result-site-head .site-dot{
  width:10px;height:10px;border-radius:50%;flex:0 0 auto;
  box-shadow:0 0 0 2px rgba(255,255,255,.9);
}
.result-site-head .site-name{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(420px,60vw);
}
.result-site-head .site-meta{font-size:11px;font-weight:600;color:var(--pb-muted)}
.result-site-block .result-table{border:0;border-radius:0}
.result-site-block .result-table th{top:0}
.result-table{width:100%;border-collapse:collapse;background:var(--pb-card);font-size:13px}
.result-table th{
  height:36px;background:var(--pb-header-bg);color:var(--pb-text-dark);
  font-weight:700;white-space:nowrap;
  padding:0 10px;position:sticky;top:0;z-index:1;font-size:12px;
  border-bottom:2px solid var(--pb-line);
}
.result-table td{
  border-bottom:1px solid var(--pb-line-soft);
  padding:8px 10px;text-align:center;white-space:nowrap;
}
.result-table td.keyword{text-align:left;color:var(--pb-text-dark);min-width:130px;font-weight:600}
.result-table tbody tr:hover{background:var(--pb-header-bg)}

.badge{
  display:inline-block;padding:3px 8px;
  font-size:11px;font-weight:700;border-radius:4px;
  color:#fff !important;
  line-height:1.3;white-space:nowrap;
}
.badge.ok{background:#4f46e5 !important;color:#fff !important}
.badge.risk{background:#7c3aed !important;color:#fff !important}
.badge.chance{background:#0f766e !important;color:#fff !important}
.badge.muted{background:#475569 !important;color:#f8fafc !important}
.mention{background:#a78bfa;color:#fff}

/* 다크: geo-shell .muted 텍스트색 덮어쓰기 방지 + 대비 확보 */
html[data-theme="dark"] body.geo-unified .badge,
html[data-theme="dark"] body.geo-unified .badge.ok,
html[data-theme="dark"] body.geo-unified .badge.risk,
html[data-theme="dark"] body.geo-unified .badge.chance,
html[data-theme="dark"] body.geo-unified .badge.muted{
  color:#fff !important;
}
html[data-theme="dark"] body.geo-unified .badge.ok{background:#6366f1 !important}
html[data-theme="dark"] body.geo-unified .badge.risk{background:#8b5cf6 !important}
html[data-theme="dark"] body.geo-unified .badge.chance{background:#14b8a6 !important}
html[data-theme="dark"] body.geo-unified .badge.muted{background:#64748b !important;color:#f8fafc !important}

.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;flex-shrink:0}
.tab{
  height:30px;padding:0 12px;
  background:var(--pb-card);border:1px solid var(--pb-line);
  color:var(--pb-text);border-radius:6px;
  font-weight:500;font-size:12px;
}
.tab.active{background:var(--pb-accent-2);color:#fff;border-color:var(--pb-accent-2);box-shadow:var(--shadow-sm)}

.keywords-panel .panel-body{display:flex;flex-direction:column;padding:12px 16px}
.report-col{display:flex;flex-direction:column;gap:12px;min-height:0;min-width:0}
.report-box{
  background:var(--pb-card);
  border:1px solid var(--pb-line);
  border-radius:12px;
  padding:0;
  flex:1;min-height:0;overflow:hidden;
  box-shadow:var(--shadow-md);
  display:flex;flex-direction:column;
}
/* 개선 액션 플랜 / 추천 콘텐츠 제목 — 1. 분석 조건 입력 헤더와 동일 색 */
.report-box h3{
  margin:0;padding:12px 16px;font-size:14px;
  font-weight:700;color:var(--pb-text-dark);
  border-bottom:1px solid var(--pb-line-soft);
  background:var(--pb-header-bg);
  flex-shrink:0;
}
.report-box ol,.report-box ul{
  margin:0;padding:12px 16px 14px 36px;
  flex:1;min-height:0;overflow:auto;
}
.report-box .pill-list{
  margin:0;padding:12px 16px 14px;
  flex:1;min-height:0;overflow:auto;
  align-content:flex-start;
}
.report-box li{margin:6px 0;color:var(--pb-text);font-size:13px;line-height:1.6}
.pill-list{display:flex;flex-wrap:wrap;gap:6px}
.pill{
  padding:5px 10px;background:var(--pb-line-soft);
  border:1px solid var(--pb-line);color:var(--pb-text-dark);
  border-radius:6px;font-size:12px;font-weight:500;
}
.empty{
  padding:20px 10px;text-align:center;color:var(--pb-muted);
  background:var(--pb-header-bg);border:1px dashed var(--pb-line);border-radius:8px;
  font-size:13px;
}
.download-row{display:flex;gap:8px;flex-shrink:0}
.download-row .btn{flex:1;height:38px;font-size:13px}

.toast{
  position:fixed;right:24px;bottom:24px;
  background:var(--pb-side);color:#fff;
  padding:12px 18px;border-radius:8px;
  font-weight:500;font-size:14px;display:none;
  box-shadow:var(--shadow-xl);z-index:101;
  animation:fadeInOverlay 0.2s ease;
}
.toast.show{display:block}

/* 모달 리뉴얼 */
.modal-backdrop{
  position:fixed;inset:0;background:rgba(15, 23, 42, 0.4);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  display:none;align-items:center;justify-content:center;z-index:100;
  padding:16px;
  animation:fadeInOverlay 0.2s ease;
}
.modal-backdrop.show{display:flex}
.modal{
  background:var(--pb-card);border-radius:12px;border:1px solid var(--pb-line);
  width:100%;max-width:420px;padding:24px;
  box-shadow:var(--shadow-xl);
}
.modal h3{margin:0 0 10px;font-size:18px;font-weight:700;color:var(--pb-text-dark)}
.modal p{margin:0 0 20px;color:var(--pb-text);font-size:14px;line-height:1.6}
.modal .modal-actions{display:flex;gap:8px;justify-content:flex-end}
.modal .modal-actions .btn{min-width:90px;height:36px}

.pill.removable{
  display:inline-flex;align-items:center;gap:6px;
  padding-right:6px;
}
.pill .x{
  display:inline-flex;align-items:center;justify-content:center;
  width:16px;height:16px;border-radius:50%;
  background:#cbd5e1;color:#0f172a;font-size:11px;line-height:1;
  cursor:pointer;border:0;padding:0;transition:all 0.2s;
}
.pill .x:hover,.pill .x:focus-visible{background:var(--pb-risk);color:#fff}
.kw-editor .pill .x {
  background: #e2e8f0;
  color: #0f172a;
  width: 18px;
  height: 18px;
  font-size: 13px;
  font-weight: 700;
  flex:0 0 auto;
  opacity: 1;
}
.kw-editor .pill .x:hover,
.kw-editor .pill .x:focus-visible {
  background: var(--pb-risk);
  color: #fff;
}
html[data-theme="dark"] .pill .x,
html[data-theme="dark"] .kw-editor .pill .x{
  background:rgba(255,255,255,.14);
  color:#f1f5f9;
  border:1px solid rgba(255,255,255,.22);
}
html[data-theme="dark"] .pill .x:hover,
html[data-theme="dark"] .pill .x:focus-visible,
html[data-theme="dark"] .kw-editor .pill .x:hover,
html[data-theme="dark"] .kw-editor .pill .x:focus-visible{
  background:var(--pb-risk,#f43f5e);
  color:#fff;
  border-color:transparent;
}
.mark-ok{color:var(--pb-accent-2);font-weight:700;font-size:16px}
.mark-no{color:#7c3aed;font-weight:700;font-size:16px}
.mark-none{color:var(--pb-muted);font-size:11px;font-weight:600;white-space:nowrap;background:var(--pb-line-soft);padding:2px 6px;border-radius:4px}
.mark-skip{color:var(--pb-muted);font-size:12px}
.mark-unk{color:var(--pb-muted);font-size:12px}
.mark-todo{color:#4f46e5;font-size:11px;font-weight:600;white-space:nowrap;background:#e0e7ff;padding:2px 6px;border-radius:4px}
.check.paid{border-style:dashed;border-color:#7eb8b0;background:var(--pb-accent-light,#e7f5f3)}
.check.paid small{color:var(--pb-accent-2,#0a5f57)}
html[data-theme="dark"] .check{
  background:var(--g-input-bg,#1a222d);
  border-color:var(--g-line,#2a3340);
  color:var(--g-ink,#e8edf4);
}
html[data-theme="dark"] .check:hover{
  border-color:#3d4a5c;
  background:var(--g-soft,#222a35);
}
html[data-theme="dark"] .check.paid{
  border-color:#3d6b64;
  background:rgba(43,181,165,.12);
}
html[data-theme="dark"] .check.paid small{color:#7dd3c7}
html[data-theme="dark"] .check small{color:var(--g-muted,#9aa3b2) !important}
.collecting{opacity:.7;pointer-events:none}

.kw-prompt-hint{
  margin:0 0 8px;font-size:12px;color:var(--pb-muted);line-height:1.45;
}
.snapshot-bar .hint{margin:0;font-size:12px;color:var(--pb-muted)}
.snapshot-modal{
  width:min(960px,96vw);max-width:none;max-height:88vh;
  padding:0;display:flex;flex-direction:column;overflow:hidden;
}
.snapshot-modal .modal-top{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:16px 20px;border-bottom:1px solid var(--pb-line);flex-shrink:0;
}
.snapshot-modal .modal-top h3{
  margin:0;font-size:18px;font-weight:700;color:var(--pb-text-dark);
}
.snapshot-modal .modal-close{
  width:32px;height:32px;border:1px solid var(--pb-line);border-radius:8px;
  background:var(--pb-header-bg);color:var(--pb-text-dark);font-size:18px;line-height:1;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
}
.snapshot-modal .modal-close:hover{background:var(--pb-line-soft);color:#000}
.snapshot-modal .modal-nav{
  display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;border-bottom:1px solid var(--pb-line-soft);flex-shrink:0;
  background:var(--pb-header-bg);
}
.snapshot-modal .snapshot-tab{height:32px;padding:0 14px;border-radius:6px}
.snapshot-modal .modal-scroll{
  overflow:auto;padding:16px 20px;flex:1;min-height:0;
  background:var(--pb-card);
}
.snap-item{margin:0 0 20px;padding:0 0 20px;border-bottom:1px solid var(--pb-line-soft)}
.snap-item:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.snap-item-head{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 12px;
}
.snap-item-head .kw{font-size:15px;color:var(--pb-text-dark);font-weight:700}
.snap-item-head .meta{font-size:12px;color:var(--pb-muted)}
.snap-content{
  font-size:13.5px;line-height:1.7;color:var(--pb-text);word-break:break-word;
}
.snap-content p{margin:0 0 12px}
.snap-content h1,.snap-content h2,.snap-content h3{
  margin:16px 0 10px;font-weight:700;color:var(--pb-text-dark);line-height:1.4;
}
.snap-content h1{font-size:18px}
.snap-content h2{font-size:16px}
.snap-content h3{font-size:15px}
.snap-content ul,.snap-content ol{margin:0 0 12px;padding-left:22px}
.snap-content li{margin:4px 0}
.snap-content a{color:var(--pb-accent-2);word-break:break-all}
.snap-content code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:12px;background:var(--pb-line-soft);padding:2px 5px;border-radius:4px;color:var(--pb-text-dark);
}
.snap-content pre{
  margin:0 0 12px;padding:12px 16px;background:var(--pb-header-bg);border-radius:8px;
  overflow:auto;font-size:12px;line-height:1.6;border:1px solid var(--pb-line-soft);
}
.snap-content table{
  width:100%;border-collapse:collapse;margin:0 0 14px;font-size:13px;
}
.snap-content th,.snap-content td{
  border:1px solid var(--pb-line);padding:8px 10px;text-align:left;vertical-align:top;
}
.snap-content th{background:var(--pb-header-bg);color:var(--pb-text-dark);font-weight:700}
mark.domain-hit{
  padding:1px 4px;border-radius:3px;
  display:inline-block !important;
  transition:all 0.15s ease;
  position:relative;
  z-index:1;
  word-break:break-all !important;
  white-space:normal !important;
  max-width:100%;
}
mark.domain-hit.current{
  outline:none !important;
  animation:domainBlink 0.6s infinite alternate !important;
  z-index:3 !important;
  background:#fde047 !important;
  color:#1e293b !important;
  border-bottom:2.5px solid var(--blink-color) !important;
}
.snap-hitbar,
.nav-hitbar{
  display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;
  margin:0;padding:4px 12px;
  background:color-mix(in srgb, var(--g-accent, #0d7a6f) 14%, var(--pb-header-bg, #f8fafc));
  border:1px solid color-mix(in srgb, var(--g-accent, #0d7a6f) 28%, var(--pb-line, #e2e8f0));
  border-radius:8px;
  font-size:12.5px;
  color:var(--g-accent-2, #0a5f57);
  font-weight:700;
  height:34px;
  flex-shrink:0;
  box-sizing:border-box;
}
.nav-hitbar [data-hit-label]{
  white-space:nowrap;margin-right:2px;
}
.snap-hitbar .btn-mini,
.nav-hitbar .btn-mini,
.hit-domain-filter{
  height:26px;padding:0 10px;border:1px solid color-mix(in srgb, var(--g-accent, #0d7a6f) 28%, var(--pb-line, #e2e8f0));
  border-radius:6px;
  background:var(--pb-card, var(--g-panel, #fff));
  color:var(--g-accent-2, #0a5f57);
  font-size:12px;cursor:pointer;font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;
  white-space:nowrap;line-height:1;outline:none;
  transition:background .15s ease,border-color .15s ease;
}
.hit-domain-filter{
  margin-left:4px;max-width:170px;text-overflow:ellipsis;
}
.snap-hitbar .btn-mini:hover,
.nav-hitbar .btn-mini:hover{
  background:color-mix(in srgb, var(--g-accent, #0d7a6f) 10%, var(--pb-card, #fff));
}
.snap-hitbar .btn-mini:disabled,
.nav-hitbar .btn-mini:disabled{opacity:.45;cursor:default}
html[data-theme="dark"] .snap-hitbar,
html[data-theme="dark"] .nav-hitbar{
  background:rgba(45,212,191,.12);
  border-color:rgba(45,212,191,.35);
  color:#7dd3c7;
}
html[data-theme="dark"] .snap-hitbar .btn-mini,
html[data-theme="dark"] .nav-hitbar .btn-mini,
html[data-theme="dark"] .hit-domain-filter{
  background:#1a1d24;
  border-color:rgba(45,212,191,.35);
  color:#9ae5db;
}
html[data-theme="dark"] .snap-hitbar .btn-mini:hover,
html[data-theme="dark"] .nav-hitbar .btn-mini:hover{
  background:#252830;
}
.snapshot-modal{position:relative}
.snap-scroll-marks{
  position:absolute;right:6px;bottom:10px;width:8px;pointer-events:auto;z-index:2;cursor:pointer;
  top:0; /* JS에서 동적으로 snapshotBody와 정합 */
}
.snap-scroll-marks span{
  position:absolute;left:0;right:0;height:4px;border-radius:2px;
  cursor:pointer;
  transition:transform 0.12s ease, box-shadow 0.12s ease;
  box-shadow:0 0 0 1px rgba(0,0,0,0.12);
  padding:3px 0;
  background-clip:content-box;
}
.snap-scroll-marks span:hover{
  transform:scaleX(2.4) scaleY(2.2) !important;
  box-shadow:0 0 0 1.5px #ffffff, 0 0 6px rgba(0,0,0,0.4) !important;
  z-index:10 !important;
}
.snap-scroll-marks span:active{
  transform:scaleX(1.7) scaleY(1.5) !important;
  box-shadow:0 0 0 1.5px #ffffff, 0 0 10px rgba(0,0,0,0.5) !important;
  z-index:10 !important;
}
.snap-scroll-marks span.active{
  height:4px;
  transform:scaleX(1.4) scaleY(1.4);
  box-shadow:0 0 0 1px #ffffff, 0 0 4px rgba(0,0,0,0.25);
  z-index:5;
}
.snap-scroll-marks span.active:hover{
  transform:scaleX(2.6) scaleY(2.4) !important;
  box-shadow:0 0 0 1.5px #ffffff, 0 0 8px rgba(0,0,0,0.45) !important;
  z-index:10 !important;
}
.snap-urls{margin-top:14px;word-break:break-all;overflow-wrap:break-word}
.snap-urls h4{margin:0 0 6px;font-size:12px;color:var(--pb-muted);font-weight:600;text-transform:uppercase}
.snap-urls ul{margin:0;padding-left:20px;word-break:break-all;overflow-wrap:break-word}
.snap-urls li{margin:5px 0;font-size:12.5px;word-break:break-all;overflow-wrap:break-word}
.snap-urls a{word-break:break-all !important;white-space:normal !important;display:inline}
.snapshot-empty{color:var(--pb-muted);font-size:13.5px}

.snapshot-tab{
  height:30px;padding:0 12px;border-radius:6px;border:1px solid var(--pb-line);
  background:var(--pb-card);color:var(--pb-text);font-size:12px;font-weight:600;cursor:pointer;
  transition:all 0.2s;
}
.snapshot-tab.active{background:var(--pb-accent-2);border-color:var(--pb-accent-2);color:#fff;box-shadow:var(--shadow-sm)}

@media(max-width:1280px){
  .workspace-top{grid-template-columns:1fr;max-height:46%}
  .main[data-focus="overview"]{
    grid-template-columns:1.1fr 1.3fr;
  }
  .main[data-focus="results"] .results-kw-row{
    grid-template-columns:minmax(0,2fr) minmax(200px,0.65fr);
  }
  .main[data-focus="results"] .cards{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .as-head p{display:none}
}
@media(max-width:1100px){
  .workspace-top{grid-template-columns:1fr;max-height:none;flex:0 0 auto}
  .main[data-focus="overview"]{
    display:flex;flex-direction:column;
    grid-template-columns:none;
    grid-template-rows:none;
  }
  .main[data-focus="overview"] > .as-head{
    order:-1;
    flex-shrink:0;
  }
  .main[data-focus="overview"] .workspace-top,
  .main[data-focus="overview"] .workspace-bottom{
    display:flex;flex-direction:column;
    flex:none;max-height:none;
    gap:12px;
    grid-column:auto;grid-row:auto;
  }
  .main[data-focus="overview"] .panel-input,
  .main[data-focus="overview"] .results-kw-row{
    grid-template-columns:1fr;
  }
  .main[data-focus="results"] .results-kw-row{
    grid-template-columns:1fr;
    min-height:0;
  }
  .main[data-focus="results"] .keywords-panel,
  .main[data-focus="results"] .report-col{
    min-height:280px;
  }
  .main[data-focus="results"] .report-box{
    flex:1 1 auto;
    max-height:360px;
  }
  .main[data-focus="input"] .workspace-top{grid-template-columns:1fr}
}
@media(max-width:980px){
  .main{overflow:visible;height:auto}
  .main[data-focus="input"] .workspace-bottom,
  .main[data-focus="results"] .panel-input{display:none}
  .workspace-top,.workspace-bottom,
  .main[data-focus="overview"] .workspace-top,
  .main[data-focus="overview"] .workspace-bottom,
  .main[data-focus="input"] .workspace-top,
  .main[data-focus="results"] .workspace-top,
  .main[data-focus="results"] .workspace-bottom{
    display:flex;flex-direction:column;max-height:none;flex:none;
  }
  .cards,
  .main[data-focus="results"] .cards{grid-template-columns:repeat(3,1fr)}
  .table-wrap{max-height:280px}
}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes fadeInOverlay{from{opacity:0}to{opacity:1}}

/* Content enter: same geoEnterIn as Prompt/SoV (geo-shell .geo-enter-target) — no separate zoom/blur */
.main[data-tool-view="standby"]{
  display:flex !important;
  align-items:center;
  justify-content:center;
  overflow:auto;
  padding:28px 28px 48px;
  grid-template-rows:none !important;
}
.main[data-tool-view="standby"] .as-wrap,
.main[data-tool-view="standby"] > .workspace-top,
.main[data-tool-view="standby"] > .workspace-bottom{
  display:none !important;
}
.main[data-tool-view="analyzer"] > .standby-view{display:none !important}
.standby-view{
  width:min(520px,100%);
  text-align:center;
}
.standby-view h1{margin:0 0 8px;font-size:22px;font-weight:700;line-height:1.35;color:var(--pb-text-dark,#1e293b)}
.standby-view .lead{margin:0 0 22px;font-size:14px;color:var(--pb-muted);line-height:1.55}
.standby-view img{
  width:100%;max-width:420px;height:auto;display:block;margin:0 auto;
  border-radius:16px;border:1px solid var(--pb-line,#e2e8f0);
  box-shadow:0 12px 36px rgba(15,23,42,.08);background:var(--pb-card);
}
.standby-view .actions{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}

/* 키워드 에디터 내 세로 리스트뷰 디자인 */
.kw-editor .pill-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.kw-editor .pill {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  padding: 6px 12px;
  background: var(--pb-card);
  border: 1px solid var(--pb-line);
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  transition: all 0.15s ease;
}
.kw-editor .pill:hover {
  border-color: #cbd5e1;
  background: var(--pb-line-soft);
  transform: translateX(1px);
}
.kw-editor .pill.removable {
  padding-right: 8px;
}
.kw-editor .pill .pill-main{
  display:flex;align-items:center;gap:8px;min-width:0;flex:1;
}
.kw-editor .pill .kw-text{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.kw-editor .pill .kw-src{
  flex:0 0 auto;
  display:inline-block;
  max-width:9.5em;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:11px;font-weight:700;line-height:1.2;
  padding:3px 7px;border-radius:999px;
  border:1px solid transparent;
}
.kw-editor .pill .kw-src.src-naver_ac{
  color:#0369a1;background:#e0f2fe;border-color:#bae6fd;
}
.kw-editor .pill .kw-src.src-naver_related{
  color:#0f766e;background:#ccfbf1;border-color:#99f6e4;
}
.kw-editor .pill .kw-src.src-google_ac{
  color:#b45309;background:#fef3c7;border-color:#fde68a;
}
.kw-editor .pill .kw-src.src-fallback{
  color:#64748b;background:var(--pb-line-soft);border-color:#e2e8f0;
}
.kw-editor .pill .kw-src.src-seed{
  color:#6d28d9;background:#ede9fe;border-color:#ddd6fe;
}
/* x button styles unified above (incl. dark) */
/* 도메인 매치 다중 하이라이트 컬러 및 미니맵 연동 */
@keyframes domainBlink {
  0% {
    box-shadow: 0 0 0 1.5px var(--blink-color), 0 0 4px var(--blink-color);
    transform: scale(1.01);
  }
  100% {
    box-shadow: 0 0 0 5px var(--blink-color-trans), 0 0 14px var(--blink-color);
    transform: scale(1.07);
  }
}
mark.domain-hit {
  --blink-color: #3b82f6;
  --blink-color-trans: rgba(59, 130, 246, 0.25);
}
mark.domain-hit.color-0 { background: #dbeafe !important; color: #1e40af !important; border-bottom: 2px solid #3b82f6; --blink-color: #3b82f6; --blink-color-trans: rgba(59, 130, 246, 0.25); }
mark.domain-hit.color-1 { background: #dcfce7 !important; color: #15803d !important; border-bottom: 2px solid #22c55e; --blink-color: #22c55e; --blink-color-trans: rgba(34, 197, 94, 0.25); }
mark.domain-hit.color-2 { background: #f3e8ff !important; color: #6b21a8 !important; border-bottom: 2px solid #a855f7; --blink-color: #a855f7; --blink-color-trans: rgba(168, 85, 247, 0.25); }
mark.domain-hit.color-3 { background: #ffedd5 !important; color: #9a3412 !important; border-bottom: 2px solid #f97316; --blink-color: #f97316; --blink-color-trans: rgba(249, 115, 22, 0.25); }
mark.domain-hit.color-4 { background: #fce7f3 !important; color: #9d174d !important; border-bottom: 2px solid #ec4899; --blink-color: #ec4899; --blink-color-trans: rgba(236, 72, 153, 0.25); }
mark.domain-hit.color-5 { background: #fef9c3 !important; color: #713f12 !important; border-bottom: 2px solid #eab308; --blink-color: #eab308; --blink-color-trans: rgba(234, 179, 8, 0.25); }

.snap-scroll-marks span.color-0 { background: #3b82f6 !important; }
.snap-scroll-marks span.color-1 { background: #22c55e !important; }
.snap-scroll-marks span.color-2 { background: #a855f7 !important; }
.snap-scroll-marks span.color-3 { background: #f97316 !important; }
.snap-scroll-marks span.color-4 { background: #ec4899 !important; }
.snap-scroll-marks span.color-5 { background: #eab308 !important; }

/* URL 리스트 에디터 행별 보더 컬러링 */
.url-editor-list .pill {
  border-left: 4px solid var(--pb-line) !important;
}
.url-editor-list .pill.color-0 { border-left-color: #3b82f6 !important; }
.url-editor-list .pill.color-1 { border-left-color: #22c55e !important; }
.url-editor-list .pill.color-2 { border-left-color: #a855f7 !important; }
.url-editor-list .pill.color-3 { border-left-color: #f97316 !important; }
.url-editor-list .pill.color-4 { border-left-color: #ec4899 !important; }
.url-editor-list .pill.color-5 { border-left-color: #eab308 !important; }
/* 대시보드 공간 압축 튜닝 */
.field { margin-bottom: 8px; }
.label-row{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin-bottom:6px;
}
.label-row .label{margin:0}
.btn-sample-inline{
  height:26px !important;padding:0 10px !important;font-size:11.5px !important;
  flex-shrink:0;border-radius:6px;
}
.input-panel { gap: 8px; }
.input-grid { gap: 12px; }
.input-kw-col.sub-card { padding: 8px 10px; }
.kw-lists { gap: 8px; }
.kw-group-label { font-size: 12px; margin-bottom: 4px; }
.kw-editor-head { margin-bottom: 6px; }
.input-foot { margin-top: 4px; padding-top: 6px; }
/* .main padding: geo-shell .geo-content only — do not redefine here */
/* 사용자 요청 도면 레이아웃 개편 스타일셋 */
.input-top-settings {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 16px;
  margin-bottom: 8px;
  flex-shrink: 0;
}
.input-kw-col {
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
}
.input-url-col {
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
}
.url-editor-head {
  margin-bottom: 6px;
  flex-shrink: 0;
}
#collectKwBtn {
  width: 140px;
  height: 32px;
  padding: 0;
  margin: 6px 0;
  font-size: 12.5px;
  flex-shrink: 0;
  border-radius: 6px;
  align-self: flex-end !important;
}
.main[data-focus="overview"] .input-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.main[data-focus="overview"] #manualPreview,
.main[data-focus="overview"] #collectedPreview {
  max-height: none;
  min-height: 120px;
}
.main[data-focus="overview"] #urlBox {
  max-height: 290px;
  height: 100%;
  min-height: 100px;
}
/* 분석 키워드 / URL 그리드 — 1. 분석 조건 입력 헤더와 동일 배경색 */
.panel-body .sub-card {
  background: var(--pb-header-bg) !important;
  border: 1px solid var(--pb-line) !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.02) !important;
  flex: 1;
}
.pb-divider {
  height: 1px;
  background: var(--pb-line, #e2e8f0);
  margin: 4px 0 8px 0;
  flex-shrink: 0;
}
html[data-theme="dark"] .pb-divider {
  background: var(--g-line, #2a3340);
}
.kw-editor {
  border: 1px solid var(--pb-line, #cbd5e1) !important;
  background: var(--pb-card) !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.02) !important;
}
html[data-theme="dark"] .kw-editor,
html[data-theme="dark"] .kw-editor.empty-state,
html[data-theme="dark"] .kw-group.manual .kw-editor,
html[data-theme="dark"] .kw-group.collected .kw-editor {
  background: var(--g-soft, #22262e) !important;
  border-color: var(--g-line, #2a3340) !important;
  color: var(--g-muted, #9aa3b2) !important;
  box-shadow: none !important;
}
html[data-theme="dark"] .kw-editor.empty-state {
  background: rgba(0,0,0,.18) !important;
}
html[data-theme="dark"] .kw-group-label {
  background: transparent !important;
  color: var(--g-muted, #9aa3b2) !important;
}
html[data-theme="dark"] .kw-group-label .tag {
  background: rgba(255,255,255,.06) !important;
  color: var(--g-muted, #9aa3b2) !important;
}

/* 수집 키워드 요약 (10개 초과) */
.kw-editor.collected-summary{
  display:flex;align-items:center;justify-content:center;
  min-height:120px;padding:16px;
}
.collected-summary-inner{
  text-align:center;max-width:280px;margin:0 auto;
}
.collected-summary-count{
  font-size:15px;font-weight:800;color:var(--g-ink,var(--pb-text-dark));
  margin-bottom:6px;
}
.collected-summary-count strong{color:var(--g-accent,#0d7a6f)}
.collected-summary-hint{
  margin:0 0 12px;font-size:12px;line-height:1.45;color:var(--g-muted,var(--pb-muted));
}
.collected-summary-inner .btn{width:100%;max-width:220px}
.collected-summary-actions{
  display:flex;flex-direction:column;align-items:center;gap:8px;
}
.collected-summary-actions .btn{width:100%;max-width:220px}
.collected-clear-all-btn,
#clearAllCollectedBtn.collected-clear-all-btn{
  background:rgba(239,68,68,.12)!important;
  border:1px solid rgba(239,68,68,.45)!important;
  color:#f87171!important;
  font-weight:700;
}
.collected-clear-all-btn:hover,
#clearAllCollectedBtn.collected-clear-all-btn:hover{
  background:rgba(239,68,68,.22)!important;
  border-color:rgba(239,68,68,.7)!important;
  color:#fecaca!important;
}
html[data-theme="light"] .collected-clear-all-btn,
html[data-theme="light"] #clearAllCollectedBtn.collected-clear-all-btn{
  background:#fef2f2!important;
  border-color:#fca5a5!important;
  color:#dc2626!important;
}
html[data-theme="light"] .collected-clear-all-btn:hover,
html[data-theme="light"] #clearAllCollectedBtn.collected-clear-all-btn:hover{
  background:#fee2e2!important;
  border-color:#f87171!important;
  color:#b91c1c!important;
}

/* 수집 키워드 모달 — 키워드별 3열(함께찾는/자동완성/구글) */
.collected-kw-modal{
  width:min(720px,96vw)!important;
  max-width:none!important;
  padding:0!important;
  display:flex;flex-direction:column;
  height:auto;
  max-height:92vh;
}
.collected-kw-modal .modal-top{
  flex:0 0 auto;
  padding:12px 14px 8px;
}
.collected-kw-modal .modal-top h3{
  font-size:16px;
}
.collected-kw-modal .collected-kw-scroll{
  flex:1 1 auto;
  min-height:0;
  max-height:min(72vh,640px);
  padding:10px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.collected-kw-stack{
  display:flex;flex-direction:column;gap:6px;
}
.collected-seed-card{
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  padding:0;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
}
.collected-seed-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin:0;min-width:0;width:100%;
  min-height:36px;
  padding:8px 10px;
  border:0;
  border-bottom:1px solid transparent;
  border-left:3px solid #8fa3bd;
  border-radius:0;
  background:#3b4453;
  color:#f5f7fb;
  text-align:left;
  cursor:pointer;
  font:inherit;
  box-sizing:border-box;
}
.collected-seed-head:hover{
  background:#455164;
}
.collected-seed-head:focus-visible{
  outline:2px solid #8fa3bd;
  outline-offset:-2px;
}
.collected-seed-head-main{
  display:flex;align-items:center;gap:8px;min-width:0;flex:1;
}
.collected-seed-chevron{
  flex:0 0 auto;
  width:6px;height:6px;
  border-right:1.5px solid #c5d0e0;
  border-bottom:1.5px solid #c5d0e0;
  transform:rotate(-45deg);
  transition:transform .16s ease;
  margin:0 1px;
  opacity:.85;
}
.collected-seed-card.is-open .collected-seed-chevron{
  transform:rotate(45deg);
  margin-top:-1px;
}
.collected-seed-card.is-open{
  border-color:rgba(255,255,255,.18);
  background:var(--g-panel,var(--pb-card,#fff));
}
.collected-seed-card.is-open .collected-seed-head{
  border-bottom-color:rgba(0,0,0,.12);
}
.collected-seed-panel[hidden]{display:none!important}
.collected-seed-panel{
  display:block;
}
.collected-kw-footer{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:10px;
  border-top:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.18);
}
.collected-kw-footer[hidden]{display:none!important}
.collected-nav-btn{
  display:flex;align-items:center;gap:8px;
  min-width:0;width:100%;
  margin:0;padding:8px 10px;
  border:1px solid rgba(143,163,189,.35);
  border-radius:8px;
  background:rgba(143,163,189,.12);
  color:#e8eef8;
  cursor:pointer;
  text-align:left;
  font:inherit;
  box-sizing:border-box;
}
.collected-nav-btn:hover{
  background:rgba(143,163,189,.22);
  border-color:rgba(143,163,189,.55);
}
.collected-nav-btn-next{
  justify-content:flex-end;
  text-align:right;
}
.collected-nav-btn-next .collected-nav-text{
  align-items:flex-end;
}
.collected-nav-text{
  display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;
}
.collected-nav-label{
  font-size:10px;font-weight:800;letter-spacing:.02em;color:#c5d3e6;line-height:1.2;
}
.collected-nav-name{
  font-size:12px;font-weight:700;line-height:1.3;color:#f3f6fb;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;
}
.collected-nav-arrow{
  flex:0 0 auto;
  font-size:18px;font-weight:700;line-height:1;opacity:.85;color:#c5d3e6;
}
html[data-theme="light"] .collected-kw-footer{
  border-top-color:#d5dde8;
  background:#f3f6fa;
}
html[data-theme="light"] .collected-nav-btn{
  background:#fff;
  border-color:#c5d0e0;
  color:#1f2937;
}
html[data-theme="light"] .collected-nav-btn:hover{
  background:#eef2f7;
}
html[data-theme="light"] .collected-nav-label{color:#5b7c9d}
html[data-theme="light"] .collected-nav-name{color:#1f2937}
html[data-theme="light"] .collected-nav-arrow{color:#5b7c9d}
.collected-seed-head .collected-seed-name,
.collected-seed-name{
  margin:0;font-size:13px;font-weight:700;line-height:1.35;
  color:#f5f7fb;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;
}
.collected-seed-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:8px 12px 0;
  min-width:0;
}
.collected-seed-query{
  display:flex;align-items:center;gap:8px;
  margin:0;padding:0;
  min-width:0;flex:1;
}
.collected-seed-query-empty{flex:1;min-height:1px}
.collected-seed-query-label{
  flex:0 0 auto;
  font-size:10px;font-weight:800;letter-spacing:.02em;
  padding:3px 7px;border-radius:999px;line-height:1.2;
  background:rgba(143,163,189,.22);color:#c5d3e6;
}
.collected-seed-query-text{
  min-width:0;font-size:12px;font-weight:700;line-height:1.3;
  color:var(--g-ink,var(--pb-text-dark));
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.collected-seed-clear{
  flex:0 0 auto;
  height:28px;padding:0 10px;
  border:1px solid rgba(239,68,68,.45);
  border-radius:6px;
  background:rgba(239,68,68,.12);
  color:#f87171;
  font-size:12px;font-weight:700;line-height:1;
  cursor:pointer;
  white-space:nowrap;
}
.collected-seed-clear:hover{
  background:rgba(239,68,68,.22);
  border-color:rgba(239,68,68,.7);
  color:#fecaca;
}
.collected-src-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  align-items:stretch;
  padding:8px 10px 10px;
}
.collected-src-col{
  display:flex;flex-direction:column;min-width:0;
  border:1px solid var(--g-line,var(--pb-line));
  border-radius:10px;
  background:var(--g-soft,var(--pb-header-bg,rgba(0,0,0,.02)));
  overflow:hidden;
  min-height:120px;
}
.collected-src-head{
  display:flex;align-items:center;justify-content:space-between;gap:6px;
  padding:8px 10px;
  border-bottom:1px solid var(--g-line,var(--pb-line));
  background:rgba(0,0,0,.03);
}
.collected-src-label{
  font-size:12px;font-weight:700;color:#3d4a5c;
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.collected-src-body{
  padding:8px;
  flex:1 1 auto;
}
.collected-src-other{
  margin:0 14px 14px;
  padding:0;
  border:1px dashed var(--g-line,var(--pb-line));
  border-radius:10px;
  background:rgba(0,0,0,.02);
  overflow:visible;
}
.collected-src-other .collected-src-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin:0;
  padding:10px 12px;
  min-height:40px;
  box-sizing:border-box;
  background:rgba(0,0,0,.04);
  border-bottom:1px solid var(--g-line,var(--pb-line));
  border-radius:10px 10px 0 0;
}
.collected-src-other .collected-src-label{
  line-height:1.3;
  padding:0;
}
.collected-src-other .collected-src-hint{
  margin:8px 12px 0;
  padding:0;
  font-size:11px;line-height:1.4;color:var(--g-muted,var(--pb-muted));
}
.collected-src-other .collected-modal-pills{
  padding:8px 12px 12px;
}
.collected-seed-head .tag,
.collected-src-head .tag{
  font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;
  background:rgba(107,140,174,.16);color:#4a6785;
  white-space:nowrap;
  line-height:1.4;
}
.collected-seed-head .tag{
  background:rgba(255,255,255,.12);color:#e8eef8;
  flex:0 0 auto;
}
.collected-col-empty{
  margin:4px 2px;font-size:12px;color:var(--g-muted,var(--pb-muted));
}
.collected-modal-pills{
  display:flex;flex-direction:column;gap:6px;
}
.collected-modal-pills .pill{
  display:flex;align-items:center;justify-content:space-between;gap:6px;
  width:100%;padding:6px 8px;
  background:var(--g-panel,var(--pb-card,#fff));
  border:1px solid var(--g-line,var(--pb-line));
  border-radius:7px;
  box-sizing:border-box;
}
.collected-modal-pills .pill-main{
  display:flex;align-items:center;gap:6px;min-width:0;flex:1;
}
.collected-modal-pills .kw-text{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:var(--g-ink,var(--pb-text-dark));font-size:12px;font-weight:600;
}
.collected-modal-pills .pill .x{
  flex:0 0 auto;
  width:22px;height:22px;line-height:20px;padding:0;
  border:0;border-radius:5px;cursor:pointer;
  background:transparent;color:var(--g-muted,#8b93a7);
  font-size:16px;
}
.collected-modal-pills .pill .x:hover{
  background:rgba(220,38,38,.12);color:#ef4444;
}

/* 다크: 키워드 카드·열·항목 대비 강화 */
html[data-theme="dark"] .collected-kw-stack{
  gap:6px;
}
html[data-theme="dark"] .collected-seed-card{
  background:transparent;
  border:1px solid rgba(255,255,255,.1);
  box-shadow:none;
}
html[data-theme="dark"] .collected-seed-card.is-open{
  background:#141820;
  border-color:rgba(255,255,255,.18);
  box-shadow:0 8px 18px rgba(0,0,0,.28);
}
html[data-theme="dark"] .collected-seed-head{
  background:#3b4453;
  border-bottom:1px solid transparent;
  border-left:3px solid #8fa3bd;
  color:#f5f7fb;
}
html[data-theme="dark"] .collected-seed-head:hover{
  background:#455164;
}
html[data-theme="dark"] .collected-seed-card.is-open .collected-seed-head{
  border-bottom-color:rgba(255,255,255,.12);
}
html[data-theme="dark"] .collected-seed-head .collected-seed-name{
  color:#f5f7fb;
}
html[data-theme="dark"] .collected-src-col{
  background:#0e1219;
  border-color:rgba(255,255,255,.16);
}
html[data-theme="dark"] .collected-src-head{
  background:rgba(255,255,255,.08);
  border-bottom-color:rgba(255,255,255,.14);
}
html[data-theme="dark"] .collected-src-label{
  color:#e6ebf3;
}
html[data-theme="dark"] .collected-src-other{
  background:rgba(255,255,255,.03);
  border-color:rgba(255,255,255,.2);
}
html[data-theme="dark"] .collected-src-other .collected-src-head{
  padding:10px 12px;
  min-height:40px;
  background:rgba(255,255,255,.08);
  border-bottom-color:rgba(255,255,255,.14);
}
html[data-theme="dark"] .collected-modal-pills .pill{
  background:#222938;
  border-color:rgba(255,255,255,.16);
}
html[data-theme="dark"] .collected-modal-pills .pill:hover{
  border-color:rgba(158,182,212,.55);
  background:#2b3344;
}
html[data-theme="dark"] .collected-seed-head .tag{
  background:rgba(255,255,255,.14);color:#e8eef8;
}
html[data-theme="dark"] .collected-src-head .tag{
  background:rgba(158,182,212,.2);color:#c5d3e6;
}
html[data-theme="dark"] .collected-modal-pills .pill .x{
  color:#9aa3b2;
  border:1px solid rgba(255,255,255,.12);
}
html[data-theme="dark"] .collected-col-empty{
  color:#8b93a7;
}

/* 라이트: 카드 구분 보강 */
html[data-theme="dark"] .collected-seed-query-label{
  background:rgba(143,163,189,.2);color:#c5d3e6;
}
html[data-theme="dark"] .collected-seed-query-text{
  color:#e8eef8;
}
html[data-theme="light"] .collected-seed-query-label{
  background:#e8eef6;color:#4a6785;
}
html[data-theme="light"] .collected-seed-query-text{
  color:#1f2937;
}
html[data-theme="light"] .collected-seed-clear{
  background:#fef2f2;
  border-color:#fca5a5;
  color:#dc2626;
}
html[data-theme="light"] .collected-seed-clear:hover{
  background:#fee2e2;
  border-color:#f87171;
  color:#b91c1c;
}
html[data-theme="light"] .collected-seed-card.is-open{
  background:#fff;
  border-color:#c5d0e0;
  box-shadow:0 2px 8px rgba(15,23,42,.06);
}
html[data-theme="light"] .collected-seed-head{
  background:#3b4453;
  border-bottom-color:transparent;
  border-left-color:#8fa3bd;
}
html[data-theme="light"] .collected-seed-card.is-open .collected-seed-head{
  border-bottom-color:rgba(0,0,0,.12);
}
html[data-theme="light"] .collected-seed-head .collected-seed-name{
  color:#f5f7fb;
}
html[data-theme="light"] .collected-src-col{
  background:#f8fafc;
  border-color:#dbe3ee;
}
html[data-theme="light"] .collected-modal-pills .pill{
  background:#fff;
  border-color:#dbe3ee;
}

@media (max-width:720px){
  .collected-src-grid{grid-template-columns:1fr}
}

.kw-editor-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}
#collectKwBtn {
  background: var(--pb-accent-light, #e7f5f3) !important;
  border: 1px solid #b9ddd8 !important;
  color: var(--pb-accent-2, #0a5f57) !important;
  font-weight: 700;
}
#collectKwBtn:hover {
  background: #d8efeb !important;
  border-color: #8fc9c1 !important;
}
html[data-theme="dark"] #collectKwBtn {
  background: rgba(43, 181, 165, 0.14) !important;
  border: 1px solid #3d6b64 !important;
  color: #7dd3c7 !important;
}
html[data-theme="dark"] #collectKwBtn:hover {
  background: rgba(43, 181, 165, 0.24) !important;
  border-color: #4f8a81 !important;
  color: #a7ebe1 !important;
}
/* 대시보드 리스트뷰 Flex-Grow 세로 성장 및 빈 공간 소멸 스타일셋 */
.main[data-focus="overview"] .input-kw-col.sub-card {
  display: flex !important;
  flex-direction: column !important;
}
.main[data-focus="overview"] .kw-lists {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  min-height: 0 !important;
  gap: 8px !important;
}
.main[data-focus="overview"] .kw-group {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  min-height: 0 !important;
}
.main[data-focus="overview"] .kw-group .kw-editor {
  flex: 1 !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
}
.main[data-focus="input"] #manualPreview,
.main[data-focus="input"] #collectedPreview,
.main[data-focus="overview"] #manualPreview,
.main[data-focus="overview"] #collectedPreview {
  min-height: 120px !important;
}
.main[data-focus="overview"] .input-url-col.sub-card {
  display: flex !important;
  flex-direction: column !important;
}
.main[data-focus="overview"] .input-url-col.sub-card #urlBox {
  flex: 1 !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
}
/* 리포트 영역 컴팩트화 (헤더 배경색은 패널 헤더와 동일 유지) */
.main[data-focus="overview"] .report-box{
  padding:0;
}
.main[data-focus="overview"] .report-box h3{
  font-size:12px;margin:0;padding:6px 14px;
  background:var(--pb-header-bg);
  border-bottom:1px solid var(--pb-line-soft);
}
.main[data-focus="overview"] .report-box ol,
.main[data-focus="overview"] .report-box ul{
  padding:8px 12px 10px 30px;
}
.main[data-focus="overview"] .report-box .pill-list{
  padding:8px 12px 10px;
}
.main[data-focus="overview"] .report-box li{
  font-size:12px;line-height:1.5;margin:4px 0;
}
.main[data-focus="overview"] .report-box .pill{
  font-size:11px;padding:3px 8px;
}
.main[data-focus="overview"] .download-row .btn{
  height:32px;font-size:12px;
}
.main[data-focus="overview"] .report-col{gap:8px}
/* 입력/결과 최상위 헤더 슬림화 (panel-head) */
.main[data-focus="overview"] .panel-input > .panel-head,
.main[data-focus="overview"] .metrics-panel > .panel-head,
.main[data-focus="overview"] .citation-panel > .panel-head,
.main[data-focus="overview"] .keywords-panel > .panel-head{
  padding:0 8px 0 14px;min-height:36px;
}
.main[data-focus="overview"] .panel-input > .panel-head .panel-head-title,
.main[data-focus="overview"] .metrics-panel > .panel-head .panel-head-title,
.main[data-focus="overview"] .citation-panel > .panel-head .panel-head-title,
.main[data-focus="overview"] .keywords-panel > .panel-head .panel-head-title{
  font-size:12px;padding:6px 0;
}
/* 결과표 테이블 압축 및 가로 잘림 해소 */
.main[data-focus="overview"] .result-table th{
  padding:0 5px;font-size:11px;height:32px;white-space:nowrap;
}
.main[data-focus="overview"] .result-table td{
  padding:5px 6px;font-size:12px;
}
.main[data-focus="overview"] .badge{
  padding:2px 5px;font-size:10px;
}
.main[data-focus="overview"] .keywords-panel .panel-body{
  padding:8px 10px;
}
.main[data-focus="overview"] .tabs{
  gap:4px;margin-bottom:6px;
}
.main[data-focus="overview"] .tab{
  height:26px;padding:0 8px;font-size:11px;
}
.main[data-focus="overview"] .snapshot-bar{
  margin-bottom:6px;
}
.main[data-focus="overview"] .snapshot-bar .hint{font-size:11px}
.main[data-focus="overview"] .snapshot-bar .btn{height:26px;padding:0 10px;font-size:11px}