/* Industry tools share the existing paper / ink / cobalt visual language. */
.industry-intro { margin: 20px 0 26px; padding: 24px; border: 1px solid #181818; border-left: 6px solid #2c43c6; background: #f6f2e9; }
.industry-intro > span,.industry-heading > span { font-size: 12px; font-weight: 800; letter-spacing: .1em; color: #2c43c6; }
.industry-intro h2 { font-size: clamp(24px, 3vw, 38px); margin: 8px 0; }
.industry-intro p { margin: 8px 0 18px; color: #555149; line-height: 1.7; }
.industry-intro nav,.industry-actions,.industry-nav { display: flex; flex-wrap: wrap; gap: 10px; }
.industry-intro a,.industry-actions a,.industry-actions button,.industry-import { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 14px; border: 1px solid #181818; background: #f7f3e9; color: #171717; text-decoration: none; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.industry-intro a:first-child,.industry-actions .industry-primary,.industry-selection-bar .industry-primary { background: #2c43c6; color: #fff; border-color: #2c43c6; }
.industry-actions button:disabled,.industry-selection-bar button:disabled { background: #e8e4db; border-color: #c9c2b6; color: #6c675e; cursor: default; box-shadow: none; }
.industry-intro a:hover,.industry-actions a:hover,.industry-actions button:hover { box-shadow: 3px 3px 0 #e1bb4c; }
.industry-page { width: 100%; }
#industryRoot { min-width: 0; width: 100%; }
body[data-app-page="industry-page"] main { width: 100%; max-width: 1200px; margin: 0 auto; }
.industry-shell { padding: 28px; color: #171717; background: #f4efe5; font-size: 16px; font-weight: 400; }
.industry-shell a { color: #243aad; text-underline-offset: 4px; }
.industry-shell a:focus-visible,.industry-shell button:focus-visible,.industry-shell input:focus-visible,.industry-shell textarea:focus-visible,.industry-shell select:focus-visible,.industry-shell summary:focus-visible,.industry-intro a:focus-visible { outline: 3px solid #ca4435; outline-offset: 3px; }
.industry-shell button,.industry-shell input,.industry-shell textarea,.industry-shell select { font-family: inherit; }
.industry-nav { border-bottom: 1px solid #c9c2b6; padding-bottom: 8px; margin-bottom: 24px; justify-content: space-between; align-items: center; font-size: 13px; }
.industry-nav a { min-height: 44px; display: inline-flex; align-items: center; }
.industry-nav span { color: #6a6257; }
.industry-heading h1 { color: #171717; font-size: clamp(30px, 4vw, 42px); line-height: 1.25; letter-spacing: -.035em; margin: 10px 0 16px; }
.industry-lead { max-width: 760px; color: #514d46; font-size: 16px; line-height: 1.7; margin: 0 0 24px; }
.industry-topic-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 28px; }
.industry-topic-nav a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 16px; box-sizing: border-box; border: 1px solid #b6aea1; text-decoration: none; background: transparent; color: #514d46; font-size: 14px; font-weight: 600; }
.industry-topic-nav a[aria-current] { background: #2c43c6; border-color: #2c43c6; color: #fff; }
.industry-topic { padding: 0; margin: 0; }
.industry-topic header > span { color: #79604c; font-size: 13px; font-weight: 500; }
.industry-topic h2 { font-size: 25px; margin: 8px 0; line-height: 1.4; }
.industry-topic header > p { margin: 0; font-size: 15px; color: #625d55; }
.industry-topic p,.industry-project p,.industry-paper p,.industry-paper li,.industry-sources p,.industry-sources li,.industry-discussion li { line-height: 1.8; }
.industry-prompts { padding: 18px 24px 18px 40px; background: #e8e4d8; }
.industry-prompts li { margin: 8px 0; line-height: 1.6; }
.industry-project-grid,.industry-two-col { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; margin-top: 20px; }
.industry-project { border: 1px solid #cec6b9; background: #faf7ef; min-width: 0; display: flex; flex-direction: column; }
.industry-project-body { padding: 20px; display: flex; flex: 1; flex-direction: column; }
.industry-meta { font-size: 13px; color: #60594f; line-height: 1.6; }
.industry-project h3 { font-size: 24px; margin: 8px 0; line-height: 1.35; }
.industry-project p.industry-card-excerpt { margin: 0; color: #5b554c; font-size: 15px; font-weight: 400; line-height: 1.75; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.industry-card-label { color: #79604c; font-size: 12px; margin-right: 5px; }
.industry-project .industry-actions { margin: auto 0 0; padding-top: 20px; }
.industry-project .industry-actions > * { font-size: 14px; padding: 9px 14px; box-sizing: border-box; }
.industry-case-image { margin: 0; min-width: 0; }
.industry-case-image img { display: block; width: 100%; height: auto; aspect-ratio: 8 / 5; object-fit: cover; background: #e8e2d6; }
.industry-case-image.is-contain img { object-fit: contain; }
.industry-case-image figcaption { font-size: 13px; line-height: 1.6; color: #686154; margin-top: 10px; }
.industry-case-image.is-compact img { aspect-ratio: 16 / 8; }
.industry-project.is-text-card { border-top: 4px solid #2c43c6; }
.industry-project.is-text-card .industry-project-body { min-height: 230px; }
.industry-topic-questions { margin: 28px 0 0; border-top: 1px solid #c9c2b6; padding: 8px 0; }
.industry-topic-questions summary,.industry-backup summary,.industry-full-table > summary { min-height: 44px; line-height: 1.6; padding: 10px 0; box-sizing: border-box; cursor: pointer; font-size: 15px; }
.industry-actions { margin: 18px 0; }
.industry-notice { padding: 14px 16px; background: #eee7d7; color: #514a40; border-left: 3px solid #b99a42; font-size: 13px; line-height: 1.8; }
.industry-notice a { color: #243aad; }
.industry-sources { margin: 24px 0; padding: 16px; border: 1px solid #aaa297; font-size: 14px; background: #f4eee1; }
.industry-sources summary { cursor: pointer; min-height: 28px; font-weight: 800; }
.industry-sources li { margin: 14px 0; overflow-wrap: anywhere; }
.industry-sources small { display: block; color: #62594c; }
.industry-paper { padding: 32px; border: 1px solid #d1c9ba; background: #fffdf7; margin: 32px 0; }
.industry-paper > p,.industry-paper > ul,.industry-paper > ol { max-width: 760px; }
.industry-paper h2 { margin: 28px 0 12px; font-size: 20px; border-bottom: 1px solid #c9c1b1; padding-bottom: 10px; }
.industry-paper h2:first-child { margin-top: 0; }
.industry-paper ol,.industry-paper ul { padding-left: 23px; }
.industry-paper li { margin-bottom: 12px; }
.industry-paper small { color: #70665a; }
.industry-return { display: flex; align-items: center; gap: 18px; font-size: 13px; overflow-wrap: anywhere; }
.industry-return img { width: 112px; height: 112px; flex: 0 0 112px; }
.industry-table-scroll { overflow-x: auto; border: 1px solid #c5bcaa; background: #fffdf7; }
.industry-table-scroll table { border-collapse: collapse; width: 100%; min-width: 780px; table-layout: fixed; }
.industry-table-scroll th,.industry-table-scroll td { border: 1px solid #c5bcaa; padding: 18px; text-align: left; vertical-align: top; line-height: 1.7; font-size: 14px; white-space: pre-line; overflow-wrap: anywhere; }
.industry-table-scroll th:first-child { width: 110px; position: sticky; left: 0; background: #f0eadf; z-index: 1; }
.industry-table-scroll thead { background: #e5dece; }
.industry-cell-detail summary { cursor: pointer; }
.industry-cell-detail summary .industry-cell-label { display: block; margin-top: 10px; font-size: 13px; color: #243aad; }
.industry-cell-detail[open] summary .industry-cell-preview,.industry-cell-detail[open] summary .industry-cell-label { display: none; }
.industry-cell-detail[open] summary::after { content: "收起全文"; display: inline-block; color: #243aad; font-size: 13px; margin-bottom: 10px; }
.industry-cell-detail p { margin: 0; }
.industry-mobile-comparison { display: none; }
.industry-label { display: flex; flex-direction: column; gap: 10px; font-size: 14px; font-weight: 700; }
.industry-label input,.industry-label textarea { width: 100%; padding: 12px; border: 1px solid #82796a; background: #fffdf7; color: #171717; font: inherit; font-weight: 400; border-radius: 0; box-sizing: border-box; }
.industry-label textarea { min-height: 110px; resize: vertical; }
.industry-import { display: flex; justify-content: flex-start; flex-wrap: wrap; gap: 8px; border: 0; padding: 0; background: transparent; }
.industry-import input { max-width: 100%; width: auto; height: auto; font-size: 14px; }
.industry-collection { display: grid; gap: 16px; }
.industry-collection article { padding: 20px; border: 1px solid #ccc3b3; background: #faf7ee; }
.industry-collection h2 { font-size: 23px; margin: 6px 0 0; line-height: 1.35; }
.industry-collection h2 a { text-decoration: none; color: #171717; }
.industry-collection h2 a:hover { text-decoration: underline; }
.industry-collection header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 8px; }
.industry-collection header > div { flex: 1; min-width: 160px; }
.industry-collection .industry-select-label { display: inline-flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 10px; min-height: 44px; width: auto; margin: 0; font-size: 14px; font-weight: 500; white-space: nowrap; cursor: pointer; }
.industry-collection .industry-select-label > span { color: #171717; font-size: 14px; font-weight: 500; margin: 0; }
.industry-collection .industry-select-label input[type="checkbox"] { width: 20px; height: 20px; min-height: 20px; max-width: 20px; flex: 0 0 20px; padding: 0; margin: 0; accent-color: #2c43c6; }
.industry-collection-row { display: flex; align-items: flex-start; gap: 16px; border-top: 1px solid #dfd7c9; }
.industry-note-editor { flex: 1; min-width: 0; }
.industry-note-editor summary { padding: 12px 0; min-height: 44px; box-sizing: border-box; cursor: pointer; color: #243aad; font-size: 14px; }
.industry-note-editor small { display: block; margin: 8px 0; font-size: 13px; color: #686154; }
.industry-note-editor .industry-label { margin: 8px 0; }
.industry-collection .industry-remove { border: 0; background: transparent; color: #7d4336; font-size: 14px; padding: 10px 0 10px 12px; margin: 0; min-height: 44px; cursor: pointer; }
.industry-title-label { max-width: 540px; }
.industry-selection-bar { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: center; padding: 16px 0; margin: 8px 0; }
.industry-selection-bar > span { font-size: 14px; color: #514d46; }
.industry-selection-bar button,.industry-undo button { min-height: 44px; padding: 9px 16px; border: 1px solid #2c43c6; font: inherit; font-size: 14px; cursor: pointer; }
.industry-undo { padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; background: #e7ecfa; color: #243368; font-size: 14px; margin: 16px 0 24px; }
.industry-undo button { background: #fffdf7; color: #243aad; }
.industry-backup { border-top: 1px solid #c9c2b6; padding: 12px 0; margin-top: 24px; }
.industry-backup .industry-actions { margin-top: 8px; }
.industry-empty { padding: 32px 24px; background: #ede7db; margin: 24px 0; }
.industry-empty h2 { font-size: 26px; line-height: 1.4; margin: 12px 0; }
.industry-empty p { line-height: 1.8; color: #5c564b; }
.industry-empty .industry-actions { margin-bottom: 0; }
.industry-credit { border-top: 2px solid #171717; padding-top: 22px; margin-top: 40px; font-size: 12px; color: #696052; line-height: 1.8; }
.industry-note-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.industry-case-meta { margin-bottom: 16px; }
.industry-reading-actions { margin: 0 0 24px; }
.industry-reading-nav { display: flex; gap: 20px; border-top: 1px solid #ccc4b6; border-bottom: 1px solid #ccc4b6; padding: 4px 0; margin: 24px 0; }
.industry-reading-nav button { border: 0; background: transparent; color: #243aad; font-size: 14px; min-height: 44px; padding: 8px 0; cursor: pointer; }
.industry-section-kicker { display: block; font-size: 13px; letter-spacing: .06em; font-weight: 600; color: #2c43c6; }
.industry-overview { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 28px; scroll-margin-top: 100px; }
.industry-overview h2 { font-size: 27px; line-height: 1.4; margin: 12px 0 20px; }
.industry-facts { margin: 0; font-size: 14px; }
.industry-facts > div { display: flex; gap: 16px; border-top: 1px solid #d7cfbf; padding: 12px 0; line-height: 1.6; }
.industry-facts dt { min-width: 60px; color: #6a6257; }
.industry-facts dd { margin: 0; }
.industry-caption { color: #696052; font-size: 13px; font-weight: 400; line-height: 1.75; }
.industry-paper,.industry-takeaway { scroll-margin-top: 100px; }
.industry-mechanisms { counter-reset: mechanism; list-style: none; padding-left: 0 !important; }
.industry-mechanisms > li { padding: 20px 0; border-bottom: 1px solid #ded6c8; }
.industry-mechanisms > li strong { display: flex; gap: 12px; align-items: baseline; font-size: 18px; }
.industry-mechanisms > li strong::before { counter-increment: mechanism; content: "0" counter(mechanism); color: #2c43c6; font-size: 13px; }
.industry-mechanisms p { margin: 8px 0; }
.industry-takeaway { background: #fffdf7; border-top: 3px solid #171717; padding: 28px 32px; margin-top: 40px; }
.industry-takeaway-heading h2 { font-size: 27px; line-height: 1.4; margin: 12px 0 8px; }
.industry-takeaway-heading > p { font-size: 13px; color: #686154; }
.industry-takeaway h3 { font-size: 17px; margin: 24px 0 8px; }
.industry-takeaway p,.industry-takeaway li { line-height: 1.7; }
.industry-takeaway ol { padding-left: 23px; }
.industry-takeaway li { margin: 8px 0; }
.industry-takeaway-sources { padding: 16px 0; border-top: 1px solid #d9d1c1; font-size: 12px; color: #62594c; }
.industry-takeaway-sources p { margin: 6px 0; }
.industry-takeaway .industry-return { margin: 16px 0; }
.industry-takeaway .industry-return img { width: 88px; height: 88px; flex-basis: 88px; }
.industry-discussion { padding: 24px; border: 2px solid #b94736; background: #f6efe1; margin: 22px 0; }
.industry-discussion > span { color: #aa3b2c; font-weight: 800; font-size: 12px; }
.industry-discussion h2 { margin: 14px 0; font-size: 26px; }
.industry-discussion p { line-height: 1.8; }
.industry-discussion .industry-two-col { grid-template-columns: 1fr; }
.industry-discussion section { border-top: 1px solid #c8bca7; padding-top: 12px; }
.industry-discussion ul { padding-left: 22px; }
.industry-copy-dialog { max-width: 540px; width: 85%; padding: 24px; background: #f5efdf; color: #171717; }
.industry-copy-dialog textarea { width: 100%; min-height: 120px; font: inherit; box-sizing: border-box; }
.industry-copy-dialog button { margin-top: 14px; padding: 12px 24px; }
.dual-brand-learn-more-card.is-text-only { border: 1px solid #8b806e; background: #faf5e8; padding: 16px; min-height: 140px; }
.industry-text-source { display: block; font-size: 12px; color: #9b382c; margin-bottom: 18px; }
.dual-brand-learn-more-card.is-text-only h3 { margin: 0; color: #171717; }
.dual-brand-detail .industry-sources,.dual-field-guide .industry-sources { margin: 18px 0; }
.dual-brand-detail > .industry-actions,.dual-brand-detail > .industry-sources,.dual-field-guide > .industry-actions,.dual-field-guide > .industry-sources { grid-column: 1 / -1; min-width: 0; }
@media (min-width: 1100px) {
  body[data-app-page="home"] .industry-intro { grid-column: 1 / -1; }
  .dual-desktop-nav { gap: 20px; }
  .industry-discussion .industry-two-col { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 650px) {
  .industry-shell { padding: 18px; }
  .industry-intro { padding: 18px; margin: 12px 0 20px; }
  .industry-project-grid,.industry-two-col { grid-template-columns: 1fr; }
  .industry-topic-nav { flex-wrap: nowrap; gap: 6px; margin: 18px 0 22px; }
  .industry-topic-nav a { flex: 1; padding: 8px 5px; font-size: 13px; white-space: nowrap; }
  .industry-heading h1 { font-size: 30px; margin: 8px 0 12px; }
  .industry-heading > span { font-size: 11px; letter-spacing: .06em; }
  .industry-lead { margin-bottom: 18px; font-size: 15px; }
  .industry-topic h2 { font-size: 23px; }
  .industry-topic header > p { font-size: 14px; }
  .industry-project-body { padding: 16px; }
  .industry-project h3 { font-size: 23px; }
  .industry-project-grid { gap: 20px; margin-top: 16px; }
  .industry-paper { padding: 18px; }
  .industry-nav { gap: 12px; font-size: 13px; margin-bottom: 18px; }
  .industry-return { align-items: flex-start; }
  .industry-return img { width: 84px; height: 84px; flex-basis: 84px; }
  .industry-actions { gap: 8px; }
  .industry-actions a,.industry-actions button { font-size: 14px; }
  .industry-reading-nav { justify-content: space-between; gap: 8px; margin: 18px 0 24px; }
  .industry-reading-nav button { font-size: 13px; }
  .industry-overview { grid-template-columns: 1fr; gap: 24px; }
  .industry-overview h2 { font-size: 25px; }
  .industry-collection article { padding: 16px; }
  .industry-collection h2 { font-size: 22px; }
  .industry-collection header { gap: 6px; }
  .industry-collection header > div { min-width: 100%; }
  .industry-empty { padding: 24px 20px; }
  .industry-empty h2 { font-size: 24px; }
  .industry-selection-bar { align-items: flex-start; }
  .industry-takeaway { padding: 24px 18px; }
  .industry-takeaway-heading h2 { font-size: 24px; }
  .industry-mobile-comparison { display: block; }
  .industry-desktop-comparison { display: none; }
  .industry-pair-controls { display: grid; gap: 14px; padding: 18px; border: 1px solid #cec6b9; background: #fffdf7; }
  .industry-pair-controls label { display: flex; flex-direction: column; gap: 8px; font-size: 13px; font-weight: 600; color: #62594c; }
  .industry-pair-controls select { width: 100%; min-width: 0; height: 46px; padding: 8px 10px; border: 1px solid #aaa08f; background: #fffdf7; color: #171717; border-radius: 0; font-size: 16px; }
  .industry-pair-dimension { margin-top: 28px; }
  .industry-pair-dimension h2 { border-bottom: 2px solid #171717; padding-bottom: 12px; font-size: 21px; margin: 0 0 12px; }
  .industry-pair-dimension h2 > span { display: inline-block; color: #2c43c6; font-size: 13px; margin-right: 12px; }
  .industry-pair-dimension article { padding: 18px; background: #fffdf7; border: 1px solid #d2cabc; margin-top: 10px; min-width: 0; }
  .industry-pair-dimension h3 { display: flex; align-items: baseline; gap: 10px; margin: 0; font-size: 17px; line-height: 1.5; }
  .industry-pair-dimension h3 > span { color: #706759; font-size: 13px; }
  .industry-pair-dimension p { margin: 12px 0 0; white-space: pre-line; font-size: 16px; font-weight: 400; line-height: 1.8; overflow-wrap: anywhere; }
  .industry-full-table { margin-top: 32px; border-top: 1px solid #c9c2b6; }
}
@media print {
  body * { visibility: hidden; }
  #industryRoot,#industryRoot * { visibility: visible; }
  #industryRoot { position: absolute; left: 0; top: 0; width: 100%; }
  #industryRoot .industry-nav,#industryRoot .industry-actions,#industryRoot .industry-reading-nav { display: none; }
  .industry-shell { background: white; padding: 0; }
  .industry-mobile-comparison { display: none; }
  .industry-desktop-comparison { display: block; }
  .industry-table-scroll { overflow: visible; }
  .industry-table-scroll table { min-width: 0; }
  .industry-table-scroll td,.industry-table-scroll th { padding: 7px; font-size: 10px; }
  .industry-paper { padding: 10px; margin: 10px 0; }
  .industry-paper li,.industry-return { break-inside: avoid; }
  .industry-credit { margin-top: 14px; }
  .industry-cell-detail summary { display: none; }
  .industry-cell-detail::details-content { content-visibility: visible !important; height: auto !important; }
  .industry-cell-detail > p { display: block !important; }
  #industryRoot.is-print-card .industry-shell > :not(.industry-takeaway) { display: none !important; }
  #industryRoot.is-print-card .industry-takeaway { display: block; padding: 0; margin: 0; border: 0; max-width: none; font-size: 10pt; }
  #industryRoot.is-print-card .industry-takeaway-heading h2 { font-size: 21pt; margin: 8px 0; }
  #industryRoot.is-print-card .industry-takeaway h3 { font-size: 11pt; margin: 14px 0 6px; }
  #industryRoot.is-print-card .industry-takeaway p,#industryRoot.is-print-card .industry-takeaway li { line-height: 1.5; margin-top: 4px; margin-bottom: 4px; }
  #industryRoot.is-print-card .industry-takeaway ol { margin: 6px 0; }
  #industryRoot.is-print-card .industry-takeaway .industry-caption { font-size: 9pt; }
  #industryRoot.is-print-card .industry-takeaway-sources { font-size: 8pt; padding: 10px 0; margin-top: 12px; }
  #industryRoot.is-print-card .industry-return { font-size: 8pt; gap: 12px; margin: 10px 0; }
  #industryRoot.is-print-card .industry-return img { width: 68px; height: 68px; flex-basis: 68px; }
}
