/* KeywordLens: clear type, quiet surfaces, data before decoration. */
@font-face {
  font-family: "IBM Plex Sans KR";
  src: url("fonts/ibm-plex-sans-kr/IBMPlexSansKR-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Sans KR";
  src: url("fonts/ibm-plex-sans-kr/IBMPlexSansKR-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
:root {
  --bg: #f7f8f9;
  --surface: #fff;
  --text: #20262e;
  --muted: #646d79;
  --line: #e0e4e8;
  --accent: #265dc7;
  --action: #496c9c;
  --action-hover: #3c5e8a;
  --purple: var(--accent);
  --purple-soft: #edf2fa;
  --radius: 8px;
  font-family: "IBM Plex Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  background: var(--bg);
  color: var(--text);
}
body { font-size: 15px; line-height: 1.65; letter-spacing: -.15px; }
button, input, select, textarea { font-family: inherit; }
h1, h2, h3, strong, b { font-weight: 600; }
h1, h2, h3 { color: var(--text); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline-color: #7595d0;
}
.browse-first .sidebar { height: 76px; background: #fff; border-color: var(--line); }
.browse-first .brand { font-size: 23px; font-weight: 600; letter-spacing: -.8px; }
.brand-light { font-weight: 400; }
.browse-first .brand-mark { width: 30px; height: 32px; border-radius: 4px; background: #20262e; font-size: 28px; font-weight: 600; }
.brand-mark span { display: none; }
.browse-first .sidebar nav { gap: 16px; }
.browse-first .nav-item { padding: 10px 2px; border-radius: 0; border-bottom: 2px solid transparent; color: #616975; font-size: 13px; font-weight: 400; }
.browse-first .nav-item:hover { background: transparent; color: #20262e; }
.browse-first .nav-item.active { background: transparent; color: #20262e; border-bottom-color: #20262e; font-weight: 600; }
.count { background: #eef0f2; color: #646d79; border-radius: 3px; }
.browse-first .sidebar .fortify-header-link { background: #fff; border-color: #dce1e6; color: #46505e; border-radius: 5px; font-weight: 400; }
.browse-first main { max-width: 1168px; padding: 40px 24px 0; }
.browse-first .page-intro { justify-content: flex-start; text-align: left; margin-bottom: 24px; }
.browse-first h1, body[data-view="trending"] .page-intro h1 { font-size: 32px; line-height: 1.4; letter-spacing: -1px; font-weight: 600; }
.browse-first .page-intro p:not(.eyebrow) { color: #646d79; font-size: 15px; margin-top: 10px; }
.browse-first .search-panel { max-width: none; border-color: #d6dce3; border-radius: 8px; box-shadow: none; }
.browse-first .search-input-row { padding: 18px 20px; }
.browse-first .search-input-row input { font-size: 18px; color: #20262e; letter-spacing: -.3px; }
.search-icon { color: #737d8a; }
.browse-first .search-footer { padding: 12px 20px; background: #fafbfc; border-color: var(--line); }
input::placeholder, textarea::placeholder { color: #828b98; opacity: 1; }
.button, button.primary, .planner-page button, .file-button { border-radius: 5px; box-shadow: none; font-weight: 600; }
.button { font-size: 13px; }
.button.primary, .planner-page button.primary { background: var(--action); border-color: var(--action); color: #fff; box-shadow: none; }
.button.primary:hover, .planner-page button.primary:hover { background: var(--action-hover); border-color: var(--action-hover); }
.button.secondary { background: #fff; border-color: #dce1e6; color: #46505e; }
.button.secondary:hover { background: #f2f4f6; }
.search-footer .chip { border-color: #e0e4e8; background: #fff; color: #646d79; border-radius: 4px; font-size: 12px; }
.search-footer, #advancedSettings summary, .market-hint { color: #6b7480; font-size: 12px; }
.keyword-guide-links { margin-top: 22px; }
.guide-nav-heading > span { font-size: 12px; color: #4f5864; }
.guide-nav-heading > small { font-size: 11px; color: #707985; }
.keyword-guide-links a.guide-card { border-radius: 6px; border-color: #e0e4e8; padding: 16px; box-shadow: none; }
.keyword-guide-links a.guide-card:hover { background: #fafbfc; border-color: #aebbc9; box-shadow: none; }
.keyword-guide-links a.guide-card[aria-current="page"] { background: #f0f4fa; border-color: #b8c7dc; }
.keyword-guide-links .guide-card-icon { background: #f2f4f6; color: #4f627b; border-radius: 4px; }
.guide-card-copy strong { color: #303944; font-size: 14px; font-weight: 600; }
.guide-card-copy small { color: #6c7581; font-size: 12px; }
.keyword-guide-links .guide-card-arrow { color: #788390; }
.home-trends { border-color: #dfe4e9; border-radius: 8px; padding: 26px; box-shadow: none; }
.home-trends h2, .home-news h2, .section-heading h2 { font-size: 22px; font-weight: 600; letter-spacing: -.6px; }
.home-trends-eyebrow { color: #6b7582; font-size: 11px; letter-spacing: .2px; }
.home-trends h2 span { color: #697789; }
.home-trends-heading p, .home-trends-status { color: #697380; font-size: 12px; }
.home-trends-more { color: #4f5e70; background: #fff; border-color: #dce2e8; border-radius: 5px; font-size: 12px; }
.home-trends-more:hover { background: #f2f5f8; }
.home-trend-row { color: #29333f; border-radius: 0; border-color: #e9ecf0; min-height: 76px; }
.home-trend-row:hover { background: #f6f8fa; }
.home-trend-rank, .home-rank-1, .home-rank-2, .home-rank-3 { color: #79828f; background: transparent; border-radius: 0; font-size: 17px; font-variant-numeric: tabular-nums; font-weight: 400; }
.home-rank-1, .home-rank-2, .home-rank-3 { color: #20262e; font-weight: 600; }
.home-trend-text strong { font-size: 15px; font-weight: 600; letter-spacing: -.2px; }
.home-trend-text small { font-size: 12px; color: #6c7682; }
.home-trend-arrow { color: #8a95a3; }
.home-trends-footer { font-size: 11px; color: #77818e; }
.home-news-card { border-color: #e0e4e8; border-radius: 6px; padding: 22px; box-shadow: none; }
.home-news-card:hover { border-color: #b7c3d1; box-shadow: none; }
.home-news-meta { font-size: 11px; color: #727d8a; }
.home-news-source { color: #4d617e; font-size: 12px; }
.home-news-title { color: #29333f; }
.home-news-card h3 { font-size: 16px; line-height: 1.65; font-weight: 600; }
.home-news-open { color: #687689; font-size: 12px; }
.fortify-news-training, .fortify-education { background: #f0f3f6; border-color: #dce2e8; border-radius: 8px; box-shadow: none; }
.fortify-news-training h2, .fortify-education h2 { color: #283440; font-size: 24px; font-weight: 600; letter-spacing: -.6px; }
.news-training-label, .fortify-brand-link { color: #4c607a; font-size: 11px; letter-spacing: .6px; }
.fortify-news-training p, .fortify-education p { color: #5d6b7b; font-size: 14px; line-height: 1.8; }
.news-training-topics span { background: #fff; border-color: #dce2e8; color: #56677c; border-radius: 4px; font-size: 11px; }
.news-training-secondary { color: #56677c; font-size: 12px; }
.panel, .discovery-card, .public-content, .metric, .table-panel { border-color: #e0e4e8; border-radius: 8px; box-shadow: none; }
.discovery-card h3 { font-size: 18px; font-weight: 600; }
.discovery-description, .discovery-footnote { font-size: 12px; }
.discovery-grid { align-items: start; }
.discovery-list { min-height: 0; }
.discovery-signal { font-size: 12px; color: #5b6d84; }
.discovery-basis, .discovery-status { font-size: 11px; color: #707c8b; }
.discovery-angle { font-size: 12px; color: #59697c; }
.discovery-keyword { font-size: 14px; border-color: #e7ebef; padding: 13px 0; }
.discovery-keyword:hover { background: #f7f9fb; }
.action-label, .tag, .intent-tag { background: #edf2f7; color: #526982; border-radius: 3px; }
.discovery-more { color: #586e88; font-size: 12px; }
.category-filter, .discovery-modes button { border-radius: 4px; font-size: 12px; }
.category-filter.active, .discovery-modes button.active { background: #e8eff8; color: #35577f; border-color: #cad8e9; box-shadow: none; }
.metric-value, .numeric, .ranking-row-volume strong, .stats strong { font-variant-numeric: tabular-nums; }
.public-content p { font-size: 14px; color: #586473; }
.public-links a { border-radius: 4px; color: #4f5d6e; font-size: 12px; }
.public-links a:hover { background: #f4f6f8; border-color: #c2ccd7; color: #29333f; }
.public-links a[aria-current="page"] { background: #eaf0f7; border-color: #bdcada; color: #364e6e; }
.public-links a[aria-current="page"] > span { color: #4a6589; }
.public-links-label { font-size: 12px; }
.ranking-cloud-panel, .ranking-list-panel, .ranking-detail, .trend-spotlight-card { background: #fff; border-color: #dfe4e9; border-radius: 8px; box-shadow: none; }
.trend-spotlight-card:hover { transform: none; box-shadow: none; }
.trend-spotlight-card strong { font-weight: 600; }
.spotlight-0 { background: #e8eff8; color: #304f76; border-color: #cbd9ea; }
.spotlight-1, .spotlight-2 { background: #f0f4f8; color: #35495f; }
.ranking-detail { background: #f5f7fa; }
.ranking-heading .eyebrow { color: #6b7786; letter-spacing: 1px; }
.ranking-modes { background: #e9edf2; border-radius: 5px; }
.ranking-modes button { color: #657284; border-radius: 3px; }
.ranking-modes button.active { color: #263647; box-shadow: none; }
.trend-kicker { color: #697889; font-size: 11px; letter-spacing: 1px; font-weight: 600; }
.ranking-cluster { border-radius: 4px!important; border-color: #dce2e8; color: #5a6b80; }
.ranking-cluster.active { background: #e8eff8; color: #35577f; border-color: #cad8e9; }
.ranking-position, .ranking-position.top-1, .ranking-position.top-2, .ranking-position.top-3 { background: #f0f3f6; color: #506176; border-radius: 4px; }
.ranking-day { background: #eef2f6; color: #52647b; border-radius: 3px; }
.trend-spotlight-card:after { display: none; }
.spotlight-label { font-size: 11px; letter-spacing: .5px; }
.spotlight-bottom, .spotlight-context { color: #65758a; font-size: 12px; }
.spotlight-0 .spotlight-bottom, .spotlight-0 .spotlight-context { color: #546d8e; }
body[data-view="trending"] .search-panel { border-radius: 8px; border-color: #d6dce3; }
body[data-view="trending"] .search-footer { background: #fafbfc; }
.ranking-row, .ranking-keyword { font-size: 14px; }
.ranking-row-volume strong { color: #265dc7; font-size: 14px; }
.ranking-cloud-word, .ranking-cloud-word:nth-child(3n), .ranking-cloud-word:nth-child(4n) { color: #526b86; }
.ranking-news, .trend-row-context, .ranking-summary { color: #69798b; }
.issue-card { border-radius: 8px!important; border-color: #dfe4e9; }
.issue-card:hover { transform: none; box-shadow: none; }
.planner-page .header { border-color: #dfe4e9; padding-block: 23px; }
.planner-page .brand { color: #20262e; font-weight: 600; }
.planner-page .brand span { font-size: 22px; font-weight: 600; }
.planner-page h1 { font-size: 32px; letter-spacing: -1px; font-weight: 600; }
.planner-page .intro p:last-child { font-size: 14px; }
.planner-page .panel, .planner-page .page-card, .planner-page .sample-preview, .planner-page .stats>div { border-color: #dfe4e9; border-radius: 7px; box-shadow: none; }
.planner-page .help, .planner-page .local-badge { font-size: 12px; }
.planner-page .eyebrow { letter-spacing: .8px; font-size: 11px; color: #66778a; }
.planner-page h2 { font-size: 21px; font-weight: 600; }
.planner-page .project-link.active { background: #edf2f8; border-color: #becbdb; color: #364f71; }
.planner-page .research-form button { font-size: 14px; }
.planner-page .intro-guide { border-color: #dfe4e9; }
.planner-page .capability-grid { background: #f3f5f8; }
@media (max-width: 700px) {
  .browse-first .sidebar { height: auto; padding: 15px 16px 0; gap: 12px; }
  .browse-first .sidebar nav { gap: 14px; justify-content: flex-start; overflow-x: auto; }
  .browse-first .sidebar nav .nav-item { flex: 0 0 auto; font-size: 12px; padding: 10px 0; }
  .browse-first main { padding: 28px 16px 0; }
  .browse-first h1, body[data-view="trending"] .page-intro h1, .planner-page h1 { font-size: 27px; letter-spacing: -.8px; }
  .browse-first .page-intro p:not(.eyebrow) { font-size: 13px; line-height: 1.8; }
  .browse-first .search-input-row { padding: 16px; }
  .browse-first .search-input-row input { font-size: 16px; }
  .browse-first .search-footer { padding: 12px 16px; }
  .browse-first .search-input-row .button { min-height: 44px; font-size: 13px; }
  .guide-card-copy strong { font-size: 14px; }
  .guide-card-copy small { font-size: 12px; }
  .guide-nav-heading > small { font-size: 10px; }
  .home-trends { padding: 20px 16px; }
  .home-trends h2, .home-news h2, .section-heading h2 { font-size: 21px; }
  .home-trends-more { padding: 8px; font-size: 11px; }
  .home-trend-text strong { font-size: 14px; }
  .home-trend-text small { font-size: 11px; }
  .home-trends-heading { flex-wrap: wrap; }
  .home-trends-footer { font-size: 11px; }
  .fortify-news-training h2, .fortify-education h2 { font-size: 22px; }
  .fortify-news-training p, .fortify-education p { font-size: 13px; }
  .planner-page .header { padding: 18px 16px; }
  .planner-page h2 { font-size: 19px; }
}
