.intelligence-app { min-height: 100vh; }
.intelligence-app [hidden] { display: none !important; }
.intel-header, .intel-main { position: relative; z-index: 1; }
.intel-header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
  min-height: 76px;
  padding: 16px max(24px, calc((100vw - 1120px) / 2));
  border-bottom: 1px solid var(--border);
  background: var(--nav-bg);
}
.intel-muted, .intel-intro { color: var(--text-dim); }
.intel-muted { font-size: .85rem; }
.intel-tools { display: flex; align-items: center; gap: 14px; margin-left: auto; }
.intel-nav { display: flex; align-items: center; justify-content: center; flex: 1; flex-wrap: wrap; gap: 8px 14px; margin-left: 12px; }
.intel-nav a { color: var(--text-dim); font-size: .84rem; text-decoration: none; }
.intel-nav a:hover { color: var(--accent); }
.intel-nav a[aria-current="page"] { color: var(--text); font-weight: 700; }
.intel-nav .intel-nav-utility { margin-left: 6px; padding-left: 16px; border-left: 1px solid var(--border); }
.intel-journey { margin: 24px 0 32px; }
.intel-journey ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-block: 1px solid var(--border); }
.intel-journey li { min-width: 0; }
.intel-journey li a { display: flex; align-items: flex-start; gap: 10px; height: 100%; padding: 18px 12px; text-decoration: none; }
.intel-journey li a:hover, .intel-journey li a[aria-current="step"] { background: var(--surface); }
.intel-journey li a[aria-current="step"] { box-shadow: inset 0 -3px var(--accent); }
.intel-journey-number { color: var(--accent); font-size: .85rem; font-weight: 700; }
.intel-journey strong { display: block; color: var(--text); font-size: .9rem; }
.intel-journey small { display: block; margin-top: 5px; color: var(--text-dim); font-size: .78rem; line-height: 1.6; }
.intel-journey > p { margin: 12px 0 0; color: var(--text-dim); font-size: .8rem; line-height: 1.7; }
@media (max-width: 640px) {
  .intel-journey ol { grid-template-columns: minmax(0, 1fr); }
  .intel-journey li + li { border-top: 1px solid var(--border); }
  .intel-journey li a { padding: 12px; }
  .intel-journey li a[aria-current="step"] { box-shadow: inset 3px 0 var(--accent); }
}
.intel-nav-divider { width: 1px; height: 18px; background: var(--border); }
.intel-nav + .intel-tools { margin-left: 0; }
.intelligence-app .theme-toggle { flex-shrink: 0; }
.intelligence-app .theme-toggle:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 4px; }
.intel-main { max-width: 1040px; margin: 0 auto; padding: 56px 24px 80px; }
.intel-login { max-width: 480px; padding-top: 80px; }
.intel-eyebrow { margin: 0 0 10px; color: var(--accent); font-size: .75rem; font-weight: 600; letter-spacing: .08em; }
.intelligence-app h1 { margin: 0 0 12px; font-size: clamp(1.8rem, 4vw, 2.4rem); line-height: 1.35; overflow-wrap: anywhere; }
.intelligence-app h2 { margin: 0 0 14px; color: var(--text); font-size: 1.1rem; line-height: 1.5; text-align: left; }
.intel-intro { margin-bottom: 28px; }
.intel-main:has(.intel-engine) { max-width: 1280px; }
.intel-engine .intel-muted { font-size: 1rem; line-height: 1.8; }
.intel-engine .intel-engine-section { padding: 40px 0 0; margin: 0; background: transparent; scroll-margin-top: 24px; }
.intel-engine .intel-engine-section:first-of-type { padding-top: 24px; }
.intel-engine-section + .intel-engine-section { margin-top: 40px !important; border-top: 1px solid var(--border); }
.intel-engine h2 { font-size: 1.5rem; margin: 0 0 8px; }
.intel-engine-number { color: var(--accent); font-size: 1rem; font-weight: 500; margin-right: 8px; }
.intel-engine-figure { position: relative; margin: 20px 0 0; }
.intel-engine-native { padding: 24px; border: 1px solid var(--border); border-radius: 10px; background: #111827; color: #dbeafe; }
.intel-engine-native > :not(.intel-diagram-wires) { position: relative; z-index: 1; }
.intel-diagram-wires { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.intel-engine-native a { color: #7dd3fc; text-underline-offset: 4px; }
.intel-diagram-node { min-width: 0; padding: 16px; border: 1px solid #345570; border-radius: 10px; background: #062b4b; overflow-wrap: anywhere; }
.intel-diagram-node strong, .intel-diagram-node span { display: block; }
.intel-diagram-node strong { color: #e2f1ff; font-size: 1.125rem; line-height: 1.45; }
.intel-diagram-node span { margin-top: 8px; color: #c6d9eb; font-size: 1rem; line-height: 1.55; }
.intel-diagram-node small { display: block; margin-bottom: 8px; color: #7dd3fc; font-size: .875rem; }
.intel-diagram-node a { display: inline-block; margin-top: 14px; font-size: .9375rem; }
.intel-diagram-loop { display: flex; justify-content: center; align-items: center; min-height: 48px; margin: 0 0 18px; color: #c6d9eb; font-size: .9375rem; text-align: center; }
.intel-diagram-loop span { padding: 0 12px; background: #111827; }
.intel-diagram-flow { display: flex; align-items: stretch; gap: 48px; margin: 0; padding: 0; list-style: none; }
.intel-diagram-flow li { flex: 1 1 0; }
.intel-diagram-branches { height: 72px; }
.intel-diagram-delivery { display: grid; grid-template-columns: 1fr 3fr; gap: 32px; align-items: stretch; }
.intel-diagram-notify-flow { display: flex; align-items: stretch; gap: 48px; }
.intel-diagram-notify-flow .intel-diagram-node { flex: 1 1 0; }
.intel-diagram-return { margin: 16px 0 0; padding: 12px 0 0; border-top: 1px dashed #67819b; color: #c6d9eb; font-size: 1rem; text-align: right; }
.intel-diagram-access { display: flex; align-items: stretch; gap: 48px; max-width: 640px; margin: 0 auto; }
.intel-diagram-access .intel-diagram-node { flex: 1 1 0; }
.intel-diagram-access-line { width: max-content; margin: 16px auto 24px; padding: 0 8px; background: #111827; color: #c6d9eb; font-size: .9375rem; text-align: center; }
.intel-diagram-architecture { display: flex; align-items: stretch; }
.intel-diagram-supabase { order: 1; }
.intel-diagram-supabase-link { order: 2; }
.intel-diagram-vercel { order: 3; }
.intel-diagram-external-link { order: 4; }
.intel-diagram-external { order: 5; }
.intel-diagram-group { flex: 1 1 0; min-width: 0; padding: 16px; border: 1px solid #344253; border-radius: 10px; background: #182230; }
.intel-diagram-group h3 { margin: 0 0 14px; color: #e2f1ff; font-size: 1.125rem; }
.intel-diagram-group h3 small { display: block; margin-top: 2px; color: #c6d9eb; font-size: .875rem; font-weight: 400; }
.intel-diagram-group > .intel-diagram-node + .intel-diagram-node { margin-top: 10px; }
.intel-diagram-group-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.intel-diagram-group-grid .intel-diagram-node { padding: 12px; }
.intel-diagram-group-grid .intel-diagram-node strong { font-size: 1rem; }
.intel-diagram-group-grid .intel-diagram-node span { font-size: .9375rem; }
.intel-diagram-group-link { display: flex; flex: 0 0 96px; align-items: center; justify-content: center; min-width: 0; color: #c6d9eb; font-size: .875rem; text-align: center; }
.intel-diagram-group-link span { transform: translateY(30px); padding: 2px 4px; background: #111827; }
.intel-diagram-delivery-line, .intel-diagram-release { display: flex; align-items: center; justify-content: center; gap: 48px; padding: 48px 0 0; color: #c6d9eb; font-size: .9375rem; }
.intel-diagram-delivery-line .intel-diagram-node, .intel-diagram-release .intel-diagram-node { width: 180px; }
.intel-diagram-release { margin-top: 32px; border-top: 1px dashed #67819b; }
.intel-engine-native figcaption { margin-top: 20px; padding-top: 14px; border-top: 1px solid #344253; color: #c6d9eb; font-size: .9375rem; line-height: 1.75; }
.intel-engine-details { margin-top: 20px; border-top: 1px solid var(--border); padding-top: 14px; font-size: 1rem; }
.intel-engine-details summary { cursor: pointer; padding: 8px 0; }
.intel-engine-links { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 12px; font-size: .9375rem; }
@media (max-width: 1040px) {
  .intel-diagram-flow, .intel-diagram-notify-flow, .intel-diagram-access, .intel-diagram-architecture, .intel-diagram-delivery-line, .intel-diagram-release { flex-direction: column; align-items: stretch; }
  .intel-diagram-flow { gap: 44px; }
  .intel-diagram-flow .intel-diagram-node, .intel-diagram-notify-flow .intel-diagram-node { flex: 0 0 auto; }
  .intel-diagram-branches { height: 20px; }
  .intel-diagram-delivery { grid-template-columns: 1fr; gap: 18px; margin-top: 18px; }
  .intel-diagram-access { gap: 44px; }
  .intel-diagram-group-link { flex: 0 0 auto; min-height: 48px; }
  .intel-diagram-group-link span { transform: none; }
  .intel-diagram-architecture > * { order: initial; }
  .intel-diagram-external-link { margin-top: 14px; border-top: 1px dashed #67819b; }
  .intel-diagram-external-link span:last-child::before { content: '↳ Vercel 独立'; }
  .intel-diagram-group-grid { grid-template-columns: 1fr 1fr; }
  .intel-diagram-delivery-line, .intel-diagram-release { gap: 44px; text-align: center; }
  .intel-diagram-delivery-line .intel-diagram-node, .intel-diagram-release .intel-diagram-node { width: 100%; }
}
@media (max-width: 640px) {
  .intel-engine-native { padding: 16px; }
  .intel-diagram-group-grid { grid-template-columns: 1fr; }
  .intel-diagram-node { padding: 14px; }
}
.intel-kicker { margin: 0 0 4px; color: var(--accent); font-size: .72rem; font-weight: 600; letter-spacing: .06em; }
.intel-guide { margin: 28px 0 34px; padding: 24px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.intel-guide ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 20px 0; padding: 0; list-style: none; counter-reset: guide; }
.intel-guide li { position: relative; min-height: 126px; padding: 18px 16px 16px 48px; border: 1px solid var(--border); border-radius: 8px; counter-increment: guide; }
.intel-guide li::before { content: counter(guide); position: absolute; top: 16px; left: 16px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--accent); color: var(--btn-primary-text); font-weight: 700; }
.intel-guide strong, .intel-guide span { display: block; }
.intel-guide span { margin-top: 8px; color: var(--text-dim); font-size: .85rem; line-height: 1.6; }
.intel-stage { margin: 0; padding-top: 16px; border-top: 1px solid var(--border); color: var(--text-dim); font-size: .82rem; line-height: 1.7; }
.intel-panel { margin: 24px 0; padding: 24px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.intel-panel label { display: block; margin-bottom: 8px; font-size: .9rem; font-weight: 600; }
.intelligence-app input, .intelligence-app select {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--form-border);
  border-radius: 6px;
  background: var(--form-bg);
  color: var(--text);
  font: inherit;
  font-size: 1rem;
}
.intelligence-app select { appearance: auto; }
.intelligence-app textarea { width: 100%; min-height: 148px; resize: vertical; padding: 12px; border: 1px solid var(--form-border); border-radius: 6px; background: var(--form-bg); color: var(--text); font: inherit; line-height: 1.7; }
.intelligence-app input:focus-visible, .intelligence-app textarea:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.intel-login input { margin-bottom: 20px; }
.intel-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 9px 16px;
  border: 1px solid var(--form-border);
  border-radius: 6px;
  background: var(--surface);
  color: var(--text);
  text-decoration: none;
  white-space: nowrap;
  font: inherit;
  font-size: .9rem;
  font-weight: 600;
  cursor: pointer;
}
.intel-button:hover { border-color: var(--accent); }
.intel-button-primary { border-color: var(--accent); background: var(--accent); color: var(--btn-primary-text); }
.intel-button-primary:hover { background: var(--btn-primary-hover-bg); }
.intel-button-quiet { border-color: transparent; background: transparent; color: var(--text-dim); }
.intel-button:disabled { opacity: .6; cursor: wait; }
.intel-login .intel-button-primary { width: 100%; }
.intel-import-row { display: flex; gap: 12px; margin-bottom: 10px; }
.intel-import-row select { flex: 1; }
.intel-discovery-results { margin: 18px 0 0; padding: 0; list-style: none; }
.intel-discovery-results li { padding: 16px 0; border-top: 1px solid var(--border); }
.intel-discovery-result-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.intel-discovery-result-row a { font-weight: 600; line-height: 1.5; }
.intel-source-level { display: block; margin-top: 5px; color: var(--success); font-size: .74rem; }
.intel-discovery-results p { margin: 8px 0 0; color: var(--text-dim); font-size: .84rem; line-height: 1.6; }
.intel-status { margin-top: 12px; font-size: .9rem; overflow-wrap: anywhere; }
.intel-status:empty { display: none; }
.intel-status[data-tone="error"] { color: var(--error); }
.intel-status[data-tone="success"] { color: var(--success); }
.intelligence-app a:not(.nav-logo):not(.intel-button):not(.skip-link) { color: var(--accent); text-underline-offset: 3px; }
#import-detail-link { display: inline-block; margin-top: 8px; }
.intel-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 36px; }
.intel-list-heading h2 { margin: 0; }
.intel-source-list { list-style: none; }
.intel-source-list li { padding: 22px 0; border-bottom: 1px solid var(--border); }
.intel-source-row, .intel-detail-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.intel-source-row h3 { font-size: 1rem; font-weight: 600; overflow-wrap: anywhere; }
.intel-source-meta { margin-top: 8px; color: var(--text-dim); font-size: .8rem; overflow-wrap: anywhere; }
.intel-source-original { margin-top: 8px; color: var(--text-dim); font-size: .82rem; line-height: 1.6; overflow-wrap: anywhere; }
.intel-source-excerpt { margin-top: 8px; font-size: .9rem; color: var(--text-dim); overflow-wrap: anywhere; }
.intel-source-annotation { margin-top: 12px; padding: 12px 14px; border-left: 2px solid var(--accent); background: var(--surface); font-size: .9rem; line-height: 1.65; overflow-wrap: anywhere; }
.intel-badge { flex-shrink: 0; padding: 3px 10px; border: 1px solid var(--border); border-radius: 5px; color: var(--text-dim); font-size: .75rem; }
.intel-badge[data-state="pending_extraction"] { color: var(--gold); }
.intel-badge[data-state="evidence_failed"], .intel-badge[data-state="fetch_failed"] { color: var(--error); }
.intel-empty { margin-top: 24px; padding: 36px 24px; border: 1px dashed var(--form-border); border-radius: 8px; color: var(--text-dim); }
.intel-back { display: inline-block; margin-bottom: 28px; font-size: .9rem; }
.intel-detail-heading { align-items: center; margin-top: 24px; }
.intel-stage-note { margin-left: 8px; color: var(--text-dim); font-size: .75rem; }
.intel-section-heading, .intel-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.intel-section-heading h2 { margin: 0; }
.intel-form-footer { margin-top: 12px; }
.intel-source-language { margin: 10px 0 0; color: var(--text-dim); font-size: .84rem; }
.intel-source-copy summary { cursor: pointer; color: var(--text); font-size: 1.05rem; font-weight: 600; }
.intel-source-copy summary + .intel-muted { margin-top: 16px; }
.intel-analysis { border-color: color-mix(in srgb, var(--accent) 35%, var(--border)); }
.intel-analysis-lead { margin: 20px 0; padding: 18px; border-left: 3px solid var(--accent); background: var(--form-bg); font-size: 1.02rem; line-height: 1.75; }
.intel-analysis-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 18px 0; }
.intel-analysis-grid section { padding: 16px; border: 1px solid var(--border); border-radius: 8px; }
.intel-analysis h3 { margin: 0 0 10px; font-size: .95rem; }
.intel-classification { margin: 18px 0; padding: 16px; border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--border)); border-radius: 8px; }
.intelligence-app .intel-classification { background: transparent; }
.intel-classification-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 24px; margin: 16px 0 0; }
.intel-classification-fields > div { min-width: 0; padding-top: 10px; border-top: 1px solid var(--border); }
.intel-time-summary { margin: 20px 0 12px; padding: 16px 20px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.intel-time-summary > div { padding-top: 0; border-top: 0; }
.intel-classification-fields dt { color: var(--text-dim); font-size: .75rem; line-height: 1.5; }
.intel-classification-fields dd { margin: 5px 0 0; color: var(--text); font-size: .9rem; line-height: 1.6; overflow-wrap: anywhere; }
@media (max-width: 900px) { .intel-classification-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .intel-classification-fields { grid-template-columns: minmax(0, 1fr); gap: 12px; } }
.intel-analysis section > p { color: var(--text-dim); line-height: 1.7; }
.intel-analysis-list { margin: 0; padding-left: 20px; }
.intel-analysis-list li { margin: 10px 0; line-height: 1.7; }
.intel-analysis-list blockquote { margin: 8px 0 14px; padding-left: 12px; border-left: 2px solid var(--form-border); color: var(--text-dim); font-size: .84rem; }
.intel-caution { margin-top: 20px; padding: 12px 14px; border-left: 3px solid var(--gold); background: var(--form-bg); color: var(--text-dim); font-size: .85rem; }
.intel-badge[data-state="extracted"] { color: var(--success); }
.intel-badge[data-state="processing"] { color: var(--accent); }
.intel-badge[data-state="extraction_failed"] { color: var(--error); }
.intel-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.intel-facts { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 14px 20px; font-size: .9rem; }
.intel-facts dt { color: var(--text-dim); }
.intel-facts dd { margin: 0; overflow-wrap: anywhere; }
.intel-hash { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .8rem; }
.intel-excerpt { margin-top: 16px; padding-left: 18px; border-left: 2px solid var(--form-border); white-space: pre-wrap; overflow-wrap: anywhere; font-size: .95rem; }
.intel-notice { margin-top: 24px; padding: 20px 24px; border-left: 3px solid var(--gold); background: var(--surface); color: var(--text-dim); font-size: .9rem; }
.intel-notice h2 { margin-bottom: 8px; }
.intel-radar-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 28px 0; }
.intel-radar-summary a { padding: 18px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: inherit !important; text-decoration: none; }
.intel-radar-summary a:hover { border-color: color-mix(in srgb, var(--accent) 55%, var(--border)); transform: translateY(-1px); }
.intel-radar-summary strong, .intel-radar-summary span, .intel-radar-summary small { display: block; }
.intel-radar-summary strong { color: var(--accent); font-size: 1.8rem; }
.intel-radar-summary span { margin-top: 6px; color: var(--text); font-size: .9rem; font-weight: 700; }
.intel-radar-summary small { margin-top: 5px; color: var(--text-dim); font-size: .72rem; line-height: 1.45; }
.intel-radar-guide { margin: 28px 0; padding: 24px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.intel-radar-guide > summary, .intel-job-details > summary { cursor: pointer; color: var(--text); font-size: 1rem; font-weight: 700; }
.intel-radar-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.intel-radar-guide article { padding: 18px; border: 1px solid var(--border); border-radius: 8px; background: var(--form-bg); }
.intel-radar-guide strong { display: block; color: var(--text); font-size: 1rem; }
.intel-radar-guide article p { margin: 10px 0 0; color: var(--text-dim); font-size: .86rem; line-height: 1.65; }
.intel-radar-guide article span { display: block; margin-top: 12px; color: var(--accent); font-size: .8rem; font-weight: 600; }
.intelligence-app .intel-radar-summary { padding: 0; background: transparent; }
.intel-country-heading { margin-top: 32px; }
.intel-country-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.intel-country-title-row h2 { margin: 0; }
.intel-background-count { padding: 4px 10px; border: 1px solid var(--border); border-radius: 6px; color: var(--text-dim); font-size: .75rem; line-height: 1.5; }
.intel-country-description { margin: 10px 0 18px; line-height: 1.65; }
.intel-decision-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 14px 0 2px; }
.intel-decision-grid section { padding: 14px 16px; border: 1px solid var(--border); border-radius: 8px; background: var(--form-bg); }
.intel-decision-grid .intel-decision-change { grid-column: 1 / -1; }
.intel-decision-grid strong { display: block; margin-bottom: 6px; color: var(--text); font-size: .8rem; }
.intel-decision-grid p { margin: 0; color: var(--text-dim); font-size: .84rem; line-height: 1.65; }
.intel-signal-chain { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 16px 0 2px; padding: 0; list-style: none; counter-reset: signal-step; }
.intel-signal-chain li { position: relative; min-width: 0; margin: 0; padding: 14px 15px 14px 42px; border: 1px solid var(--border); border-radius: 8px; background: var(--form-bg); counter-increment: signal-step; }
.intel-signal-chain li::before { position: absolute; top: 13px; left: 14px; width: 20px; height: 20px; border: 1px solid color-mix(in srgb, var(--accent) 60%, var(--border)); border-radius: 50%; color: var(--accent); content: counter(signal-step); font-size: .7rem; font-weight: 700; line-height: 18px; text-align: center; }
.intel-signal-chain strong { display: block; margin-bottom: 6px; color: var(--text); font-size: .78rem; }
.intel-signal-chain p { margin: 0; color: var(--text-dim); font-size: .82rem; line-height: 1.6; overflow-wrap: anywhere; }
.intel-operations { margin-top: 28px; }
.intel-job-details[open] > summary { margin-bottom: 18px; }
.intel-operation-facts { margin-top: 18px; }
.intel-job-list { margin: 18px 0 0; padding: 0; list-style: none; }
.intel-job-list li { padding: 14px 0; border-top: 1px solid var(--border); }
.intel-job-list strong { font-size: .9rem; }
.intel-job-list p { margin: 6px 0 0; color: var(--text-dim); font-size: .8rem; line-height: 1.65; }
.intel-badge[data-state="pending_review"] { color: var(--gold); }
.intel-badge[data-state="sourced"] { color: var(--gold); }
.intel-badge[data-state="checked"], .intel-badge[data-state="corrected"] { color: var(--success); }
.intel-badge[data-state="conflict"] { color: var(--error); }
.intel-badge[data-state="unverified"] { color: var(--text-dim); }
.intel-evidence-link { display: inline-block; margin-top: 12px; font-size: .86rem; }
.intel-provider-form { scroll-margin-top: 24px; }
.intel-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 16px; margin-top: 22px; }
.intel-settings-grid label { margin: 0; }
.intel-settings-wide { grid-column: 1 / -1; }
.intel-settings-grid .intel-muted { margin: -10px 0 0; line-height: 1.6; }
.intel-field-help { display: block; margin-top: 6px; color: var(--text-dim); font-size: .76rem; font-weight: 400; line-height: 1.5; }
.intel-quiet-fields { min-width: 0; margin: 22px 0 0; padding: 0; border: 0; }
.intel-panel .intel-quiet-check { display: flex; align-items: flex-start; gap: 10px; margin: 0; line-height: 1.6; cursor: pointer; }
.intel-quiet-check input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; min-height: 0; margin: 3px 0 0; padding: 0; accent-color: var(--accent); }
.intel-quiet-times { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.intel-quiet-times label { margin: 0; }
.intel-quiet-times select { margin-top: 8px; }
.intel-quiet-summary { margin: 16px 0 22px; padding: 12px 16px; border-left: 3px solid var(--accent); background: var(--form-bg); color: var(--text); font-size: .9rem; line-height: 1.7; }
.intel-quiet-fields > button { margin-top: 24px; }
@media (max-width: 640px) {
  .intel-header { flex-wrap: wrap; gap: 10px 16px; padding: 12px 20px; }
  .intel-tools { gap: 8px; }
  .intel-nav { order: 4; flex: 0 0 100%; justify-content: flex-start; margin-left: 0; }
  .intel-nav-divider { display: none; }
  .intel-main { padding: 36px 20px 56px; }
  .intel-login { padding-top: 48px; }
  .intel-panel { padding: 20px; }
  .intel-guide ol { grid-template-columns: minmax(0, 1fr); }
  .intel-guide li { min-height: 0; }
  .intel-analysis-grid { grid-template-columns: minmax(0, 1fr); }
  .intel-radar-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .intel-radar-guide-grid { grid-template-columns: minmax(0, 1fr); }
  .intel-decision-grid { grid-template-columns: minmax(0, 1fr); }
  .intel-signal-chain { grid-template-columns: minmax(0, 1fr); }
  .intel-section-heading { align-items: flex-start; flex-direction: column; }
  .intel-import-row { flex-direction: column; }
  .intel-source-row { flex-direction: column; gap: 8px; }
  .intel-facts { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .intel-facts dd { margin-bottom: 12px; }
  .intel-settings-grid, .intel-quiet-times { grid-template-columns: minmax(0, 1fr); }
  .intel-settings-wide { grid-column: auto; }
}

/* Workflow explanation and the daily read-only task list. */
.intel-workflow-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; list-style: none; padding: 0; margin: 28px 0; }
.intel-workflow-steps li { padding: 20px; border: 1px solid var(--border); border-radius: 12px; }
.intel-workflow-steps span { display: block; color: var(--accent); font-size: .78rem; margin-bottom: 12px; }
.intel-workflow-steps p, .intel-workflow-guide p { color: var(--text-dim); font-size: .9rem; line-height: 1.8; }
.intel-workflow-guide summary { cursor: pointer; font-weight: 600; }
.intel-workflow-guide p { margin: 14px 0 0; }
.intel-workflow-summary { font-size: 1.35rem; font-weight: 600; margin: 12px 0; }
.intel-workflow-counts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 24px 0; }
.intel-workflow-counts > div { padding: 12px 16px; border: 1px solid var(--border); border-radius: 8px; }
.intel-workflow-counts strong { display: block; font-size: 1.5rem; font-variant-numeric: tabular-nums; }
.intel-workflow-counts span { color: var(--text-dim); font-size: .85rem; }
.intel-workflow-tasks { list-style: none; padding: 0; margin: 12px 0; }
.intel-workflow-tasks li { padding: 20px 0; border-top: 1px solid var(--border); overflow-wrap: anywhere; }
.intel-task-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.intel-task-title { margin: 10px 0 6px; font-weight: 500; }
.intel-workflow-tasks p, .intel-workflow-tasks a { font-size: .9rem; }
.intel-task-error { color: var(--text); border-left: 3px solid var(--accent); padding-left: 10px; margin: 10px 0; }
.intel-workflow-tasks [data-state="failed"] .intel-badge { font-weight: 700; }
.intel-workflow-pager { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 24px; }
@media (max-width: 850px) { .intel-workflow-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 540px) {
  .intel-workflow-steps { grid-template-columns: 1fr; }
  .intel-workflow-counts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .intel-workflow-today .intel-section-heading { align-items: flex-start; flex-direction: column; }
}

.intel-region-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.intel-region-tabs button { border: 1px solid var(--border); border-radius: 20px; padding: 8px 16px; background: transparent; color: var(--text-dim); cursor: pointer; }
.intel-region-tabs button[aria-pressed="true"] { color: var(--accent); border-color: var(--accent); }
.intel-region-coverage { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; }
.intel-region-coverage li { display: flex; flex-direction: column; gap: 4px; padding: 12px 0; border-top: 1px solid var(--border); font-size: .85rem; }
.intel-region-coverage span { color: var(--text-dim); }
@media (max-width: 600px) { .intel-region-coverage { grid-template-columns: 1fr; } }

.intel-followup-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; }
.intel-followup-grid textarea { min-height: 100px; margin-top: 8px; }
.intel-followup-grid input, .intel-followup-grid select { margin-top: 8px; }
#followup-history-list p, #followups-list p { white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 640px) { .intel-followup-grid { grid-template-columns: 1fr; } }
#followup-evidence { padding: 24px 0 0; background: none; }

/* The daily workbench keeps decisions and follow-through in reading order. */
.intel-workbench-shortcuts { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin: 1.5rem 0 2rem; }
.intel-workbench-list { list-style: none; padding: 0; margin: 0; }
.intel-workbench-list > li { padding: 1.4rem 0; border-top: 1px solid var(--border-color, #475569); overflow-wrap: anywhere; }
.intel-workbench-list > li:first-child { border-top: 0; }
.intel-workbench-list h3 { margin: 0 0 .65rem; }
.intel-workbench-list p { margin: .5rem 0; }
.intel-decision-steps { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; margin-bottom: 1.5rem; }
.intel-decision-steps section { min-width: 0; padding: 0; background: none; overflow-wrap: anywhere; }
.intel-decision-steps section + section { padding-top: 1.5rem; border-top: 1px solid var(--border); }
.intel-decision-steps h2 { font-size: 1.15rem; }
.intel-decision-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.intel-decision-actions .intel-button { min-width: 112px; }
#decision-saved { margin: 12px 0 16px; font-size: .85rem; line-height: 1.6; }
.intel-decision-evidence { display: inline-flex; align-items: center; min-height: 44px; font-size: .9rem; }
#detail-evidence > summary { margin-bottom: 1rem; font-weight: 600; cursor: pointer; }
#followup-section, #detail-evidence, [id^="workbench-"] { scroll-margin-top: 6rem; }
.intel-management-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-width: 560px; margin: 0 0 28px; }
.intel-management-links .intel-button { min-height: 48px; text-align: center; }
@media (max-width: 640px) { .intel-management-links { grid-template-columns: 1fr; } }

.intel-followup-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 16px; }
#followup-save-status:not(:empty) { padding: 12px 16px; border: 1px solid currentColor; border-radius: 8px; line-height: 1.6; }
#followup-reload-help { margin-top: 8px; font-size: .85rem; line-height: 1.6; }

.intel-watch-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.intel-watch-confirm { margin-top: 16px; padding: 20px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); }
.intel-watch-confirm h4 { margin: 0 0 8px; }
.intel-watch-confirm label { display: block; margin-top: 12px; }
.intel-watch-confirm textarea { display: block; min-height: 88px; margin-top: 8px; }
.intel-watch-receipt { padding: 16px; border: 1px solid var(--border); border-radius: 8px; list-style: none; }

.intel-followups-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding: 0 0 24px; }
.intel-followups-toolbar label { display: grid; gap: 8px; width: 240px; max-width: 100%; color: var(--text-dim); font-size: .85rem; }
.intel-followups-toolbar select { margin: 0; }
.intel-followups-list { display: grid; gap: 24px; margin: 0; padding: 0; list-style: none; }
.intel-followups-list > li { min-width: 0; padding: 28px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.intel-followups-list h3 { margin: 0 0 20px; font-size: 1.12rem; line-height: 1.6; overflow-wrap: anywhere; }
.intelligence-app .intel-followups-list h3 a { color: var(--text); text-decoration: none; }
.intelligence-app .intel-followups-list h3 a:hover { color: var(--accent); text-decoration: underline; }
.intel-followups-list p { margin: 12px 0; line-height: 1.8; }
.intel-followups-list .intel-watch-reason { font-size: .92rem; }
.intel-followups-list .intel-watch-next { margin: 20px 0; padding: 12px 16px; border-left: 2px solid var(--accent); background: var(--form-bg); font-size: .95rem; }
.intel-followups-list .intel-source-meta { font-size: .8rem; color: var(--text-dim); }
.intel-followups-list .intel-evidence-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; font-size: .9rem; }
.intel-followups-list > li > .intel-watch-actions { margin-top: 16px; padding-top: 20px; border-top: 1px solid var(--border); }
.intel-followups-list .intel-watch-actions .intel-button { min-width: 112px; }
.intel-followups-pagination { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 20px; margin: 32px 0; padding-top: 24px; border-top: 1px solid var(--border); }
.intel-followups-pagination span { min-width: 64px; text-align: center; color: var(--text-dim); font-size: .9rem; }
.intel-followups-pagination .intel-button:disabled { cursor: default; }
.intel-followups-help { padding-top: 8px; line-height: 1.8; }
.intel-followups-help details { margin-top: 12px; color: var(--text-dim); font-size: .85rem; }
.intel-followups-help summary { cursor: pointer; }
.intel-followups-help details p { margin-top: 12px; }
@media (max-width: 640px) {
  .intel-followups-toolbar label { flex: 1; min-width: 0; }
  .intel-followups-list > li { padding: 20px 16px; }
  .intel-followups-list h3 { font-size: 1.02rem; }
  .intel-followups-list .intel-watch-actions .intel-button { flex: 1; min-width: 0; }
  .intel-followups-pagination { gap: 12px; }
  .intel-followups-pagination .intel-button { padding-inline: 12px; }
  .intel-followups-list .intel-watch-confirm { padding: 16px; }
}

/* Collection directions: one readable flow, with controls beside their feedback. */
.intel-direction-list { display: grid; gap: 20px; }
.intel-direction-list > .intel-direction-card { margin: 0; min-width: 0; }
.intel-direction-list p, .intel-direction-explainer p { overflow-wrap: anywhere; }
.intel-direction-list summary { cursor: pointer; }
.intel-direction-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.intel-direction-form { display: grid; gap: 18px; }
.intel-direction-form > label { display: grid; gap: 8px; }
.intel-direction-form > label:has(input[type="checkbox"]) { display: flex; align-items: center; }
.intel-direction-form fieldset { min-width: 0; border: 1px solid var(--border); padding: 16px; border-radius: 10px; }
.intel-direction-choices { display: flex; flex-wrap: wrap; gap: 12px 20px; }
.intel-direction-choices label { display: flex; align-items: center; gap: 6px; }
.intel-direction-form input[type="checkbox"] { width: auto; }
#direction-editor, #direction-results-panel { margin-top: 24px; scroll-margin-top: 24px; }
#direction-results li { display: grid; gap: 10px; }
#direction-results a { overflow-wrap: anywhere; }
.intel-direction-list { margin-top: 24px; }
.intel-direction-card > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 8px 12px; min-height: 48px; list-style: none; }
.intel-direction-card > summary::-webkit-details-marker { display: none; }
.intel-direction-card > summary::after { content: '展开'; color: var(--accent); font-size: .85rem; }
.intel-direction-card[open] > summary::after { content: '收起'; }
.intel-direction-heading { display: flex; align-items: baseline; gap: 12px; min-width: 0; }
.intel-direction-heading strong { color: var(--text); font-size: 1.05rem; line-height: 1.6; overflow-wrap: anywhere; }
.intel-direction-number { color: var(--accent); font-size: .85rem; font-weight: 700; }
.intel-direction-card-body { padding-top: 12px; }
.intel-direction-card p { margin: 10px 0; line-height: 1.7; }
.intel-direction-card .intel-direction-purpose { margin-top: 16px; }
.intel-direction-pending { padding: 10px 12px; border-left: 2px solid var(--accent); background: var(--form-bg); font-size: .82rem; }
.intel-direction-card-body details { padding-top: 12px; margin: 16px 0 0; border-top: 1px solid var(--border); color: var(--text-dim); font-size: .82rem; }
.intel-direction-card-body details h4 { margin-top: 20px; color: var(--text); }
.intel-direction-help { margin: 28px 0; color: var(--text-dim); font-size: .85rem; line-height: 1.8; }
.intel-direction-help summary { cursor: pointer; }
.intel-direction-help p { margin-top: 12px; }
.intel-direction-workspace > h2 { font-size: 1.3rem; margin-top: 16px; overflow-wrap: anywhere; }
#direction-config-fields { display: grid; gap: 24px; }
.intel-direction-form fieldset { display: grid; gap: 20px; padding: 24px; }
.intel-direction-form legend { padding: 0 8px; font-weight: 600; }
.intel-direction-form textarea { min-height: 96px; }
#direction-editor-back { margin-bottom: 16px; }
.intel-direction-form fieldset > label { display: grid; gap: 8px; margin: 0; }
.intel-direction-form fieldset > .intel-direction-enable { display: flex; align-items: center; }
.intel-direction-form .intel-field-label { margin: 0 0 12px; font-size: .9rem; font-weight: 600; }
.intel-direction-form input[type="checkbox"] { width: 18px; height: 18px; min-height: 18px; flex-shrink: 0; }
.intel-direction-form .intel-direction-choices { gap: 8px 20px; }
.intel-direction-form .intel-direction-choices label { min-height: 40px; margin: 0; font-weight: 400; }
.intel-direction-country-tools { display: flex; flex-wrap: wrap; gap: 8px; }
.intel-direction-country-group { padding-top: 16px; }
.intel-direction-country-group h3 { margin: 0 0 8px; font-size: .85rem; color: var(--text-dim); }
.intel-direction-form > .intel-direction-buttons { padding-top: 16px; border-top: 1px solid var(--border); margin-top: 0; }
#direction-save-status:not(:empty) { padding: 12px 16px; border: 1px solid var(--border); border-radius: 6px; line-height: 1.7; }
#direction-results-panel > label { display: grid; gap: 8px; max-width: 280px; margin: 24px 0; }
@media (max-width: 640px) {
  .intel-direction-workspace { padding: 20px 16px; }
  .intel-direction-form fieldset { padding: 20px 12px; }
  .intel-direction-buttons .intel-button { flex: 1; }
}

.intel-review-points { margin-top: 14px; padding: 14px 16px; border-left: 2px solid var(--border); }
.intel-review-points strong { color: var(--text); font-size: .84rem; }
.intel-review-points ul { margin: 8px 0 0; padding-left: 20px; }
.intel-review-points li { margin: 4px 0; padding: 0; border: 0; color: var(--text-dim); font-size: .84rem; line-height: 1.65; }

.intel-library-overview { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin: 24px 0; }
.intel-library-overview > div { padding: 16px; border-left: 2px solid var(--accent); background: var(--surface); }
.intel-library-overview strong, .intel-library-overview span { display: block; }
.intel-library-overview strong { font-size: 1.7rem; }
.intel-library-overview span { color: var(--text-dim); font-size: .85rem; }
.intel-library-fields, .intel-library-filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.intel-library-fields label, .intel-library-filters label { display: grid; gap: 8px; }
.intel-library-filters { grid-template-columns: repeat(5,minmax(0,1fr)); }
#library-form fieldset { margin: 20px 0; padding: 16px; border: 1px solid var(--border); min-width: 0; }
#library-form input[type="checkbox"] { width: 18px; height: 18px; min-height: 18px; }
.intel-library-card { margin: 0; overflow-wrap: anywhere; }
.intel-library-card h3 { margin: 0; }
.intel-library-card p { font-size: .85rem; line-height: 1.8; }
.intel-library-card details { border-top: 1px solid var(--border); padding-top: 16px; }
.intel-library-access { color: var(--text-dim); }
.intel-library-table { overflow-x: auto; }
.intel-library-table table { border-collapse: collapse; min-width: 900px; width: 100%; font-size: .8rem; }
.intel-library-table th, .intel-library-table td { padding: 12px; border-bottom: 1px solid var(--border); text-align: left; }
#library-materials > .intel-panel { border: 0; padding: 16px 0; }
@media(max-width:640px) {
 .intel-library-overview { grid-template-columns: repeat(2,1fr); }
 .intel-library-fields, .intel-library-filters { grid-template-columns: 1fr; }
}

/* Overview: period activity, current decisions and accumulated sources are separate. */
.intel-main:has(.intel-overview) { max-width: 1200px; }
.intel-overview-controls { display: flex; align-items: flex-end; gap: 12px; }
.intel-overview-controls label { font-size: .75rem; color: var(--text-dim); }
.intel-overview-controls select { display: block; min-width: 130px; margin-top: 4px; }
.intel-overview-alert { display: block; margin: -10px 0 24px; font-size: .83rem; }
.intel-overview-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; background: var(--border); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; margin: 24px 0 26px; }
.intel-overview-metrics a { background: var(--surface); padding: 20px 24px; text-decoration: none; }
.intel-overview-metrics strong { display: block; font-size: 2rem; font-weight: 600; color: var(--text); line-height: 1.5; }
.intel-overview-metrics span { font-size: .88rem; }
.intel-overview-metrics small { display: block; font-size: .72rem; color: var(--text-dim); }
.intel-overview .intel-overview-section { padding: 24px 26px; margin: 0 0 20px; background: var(--surface); border: 1px solid var(--border); border-radius: 10px; }
.intel-overview .intel-overview-section > .intel-section-heading { padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px solid var(--border); }
.intel-overview .intel-overview-section .intel-kicker { display: flex; align-items: baseline; gap: 8px; font-size: 1rem; }
.intel-overview .intel-overview-section .intel-kicker span { font-size: 1.4rem; font-weight: 700; line-height: 1.2; }
.intel-overview h2 { font-size: 1.5rem; margin: 4px 0 0; }
.intel-overview h3 { font-size: 1.1rem; }
.intel-overview-highlights > li { padding: 18px 0; }
.intel-overview-highlights > li h3 { font-size: 1.08rem; }
.intel-overview-highlights details { font-size: .8rem; margin: 8px 0; }
.intel-overview-highlights details summary { cursor: pointer; color: var(--text-dim); }
.intel-overview-impact { border-left: 2px solid var(--accent); padding-left: 12px; font-size: .88rem; }
.intel-overview-details { border-top: 1px solid var(--border); padding-top: 14px; margin-top: 20px; }
.intel-overview-details summary { cursor: pointer; font-size: .85rem; padding: 8px 0; }
.intel-overview-direction { display: grid; grid-template-columns: 1.1fr 1fr 1fr 1.3fr 1fr; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--border); font-size: .8rem; overflow-wrap: anywhere; }
.intel-overview-direction small { display: block; color: var(--text-dim); margin-bottom: 8px; font-size: .72rem; }
.intel-overview-direction-title > a { display: block; font-size: .92rem; font-weight: 600; margin-bottom: 8px; }
.intel-overview-direction-count { display: block; font-size: 1.4rem; }
.intel-overview-corpus { margin-top: 24px; }
.intel-overview-distribution { display: grid; grid-template-columns: repeat(4,1fr); margin: 16px 0; gap: 16px; }
.intel-overview-distribution a { text-decoration: none; border-left: 2px solid var(--border); padding-left: 14px; font-size: .8rem; }
.intel-overview-distribution strong { display: block; font-size: 1.5rem; color: var(--text); }
.intel-overview-actions, .intel-overview-operations { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.intel-overview-actions > div + div, .intel-overview-operations > div + div { padding-left: 24px; border-left: 1px solid var(--border); }
.intel-overview-actions h3 span { font-size: .72rem; font-weight: 400; color: var(--text-dim); margin-left: 8px; }
.intel-overview-operations { font-size: .85rem; }
@media (max-width: 800px) {
  .intel-overview-metrics { grid-template-columns: 1fr 1fr; }
  .intel-overview-metrics a { padding: 16px; }
  .intel-overview-direction { grid-template-columns: 1fr 1fr; gap: 16px; }
  .intel-overview-direction-title { grid-column: 1 / -1; }
  .intel-overview-actions, .intel-overview-operations { grid-template-columns: 1fr; gap: 20px; }
  .intel-overview-actions > div + div, .intel-overview-operations > div + div { padding: 20px 0 0; border-left: 0; border-top: 1px solid var(--border); }
  .intel-overview-distribution { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .intel-overview .intel-overview-section { padding: 18px 16px; margin-bottom: 16px; }
  .intel-overview .intel-overview-section > .intel-section-heading { padding-bottom: 14px; margin-bottom: 14px; gap: 10px; }
}
