.document-dynamic-view {
    display: grid;
    gap: 26px;
    padding: 34px;
    color: #172033;
    text-align: left;
}

.document-view-head {
    max-width: 980px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e5eaf2;
}

.document-view-head > span,
.document-view-section-title > span {
    color: #2563eb;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
}

.document-view-head h3 {
    margin: 8px 0 10px;
    color: #152036;
    font-family: "Songti SC", "Noto Serif SC", Georgia, serif;
    font-size: clamp(24px, 2.4vw, 34px);
    line-height: 1.35;
}

.document-view-head p,
.document-view-section-title p {
    margin: 0;
    color: #5f6e84;
    font-size: 14px;
    line-height: 1.85;
}

.document-view-head-action {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
    max-width: none;
}

.document-view-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid #e4eaf3;
    border-radius: 16px;
    background: #e4eaf3;
}

.document-view-metrics article {
    display: grid;
    gap: 8px;
    padding: 20px;
    background: #fff;
}

.document-view-metrics strong { color: #1854b4; font-size: 24px; }
.document-view-metrics span { color: #748197; font-size: 11px; line-height: 1.6; }
.document-view-section { display: grid; gap: 20px; }

.document-view-section-title {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

.document-view-section-title > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    background: #edf3ff;
    font-size: 12px;
}

.document-view-section-title b { display: block; margin: 0 0 4px; font-size: 18px; }
.document-signal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }

.document-signal-grid article,
.document-external-grid article {
    position: relative;
    padding: 22px;
    border: 1px solid #e2e8f1;
    border-radius: 17px;
    background: #fff;
}

.document-signal-grid article > span { color: #a2adbe; font-size: 11px; font-weight: 900; }
.document-signal-grid h4,
.document-intel-list h4,
.document-decision-list h4,
.document-external-grid h4 { margin: 8px 0; color: #182338; font-size: 16px; line-height: 1.5; }
.document-signal-grid p,
.document-intel-list p,
.document-decision-list p,
.document-external-grid p { margin: 0; color: #536277; font-size: 13px; line-height: 1.8; }

.document-signal-grid blockquote {
    margin: 14px 0 0;
    padding: 12px 14px;
    border-left: 3px solid #2d6de9;
    border-radius: 0 10px 10px 0;
    background: #f4f7fc;
    color: #40516c;
    font-size: 12px;
    line-height: 1.7;
}

.document-intel-list,
.document-decision-list { display: grid; border-top: 1px solid #e5eaf2; }
.document-intel-list article,
.document-decision-list article { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 14px; padding: 21px 0; border-bottom: 1px solid #e5eaf2; }
.document-intel-list article > span,
.document-decision-list article > span { color: #9aa7ba; font-size: 11px; font-weight: 900; }
.document-intel-list h4,
.document-decision-list h4 { margin-top: 0; }
.document-intel-list small { display: block; margin-top: 10px; color: #2563eb; font-size: 11px; line-height: 1.65; }
.document-decision-list dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 14px 0 0; }
.document-decision-list dl > div { padding: 14px; border-radius: 12px; background: #f6f8fb; }
.document-decision-list dt { color: #2563eb; font-size: 10px; font-weight: 900; }
.document-decision-list dd { margin: 6px 0 0; color: #536277; font-size: 12px; line-height: 1.7; }
.document-external-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.document-source-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.document-source-chips span,
.document-source-chips a { padding: 8px 12px; border: 1px solid #dbe5f4; border-radius: 999px; background: #f8fbff; color: #35547e; font-size: 11px; text-decoration: none; }
.document-view-empty { padding: 24px; border-radius: 14px; background: #f7f9fc; color: #78869a; font-size: 13px; }

.industry-insight-view,
.document-intelligence-view {
    --insight-blue: #2468e8;
    --insight-ink: #152137;
    --insight-muted: #66758b;
    max-width: 1320px;
    margin: 0 auto;
}
.industry-insight-view { counter-reset: insight-section; }
.industry-insight-view > .document-view-section { counter-increment: insight-section; }
.industry-insight-view > .document-view-section > .document-view-section-title > span { font-size: 0; }
.industry-insight-view > .document-view-section > .document-view-section-title > span::after {
    content: counter(insight-section, decimal-leading-zero);
    font-size: 10px;
}

.industry-insight-head,
.intelligence-view-head {
    max-width: none;
}

.insight-scope-note {
    display: inline-flex;
    width: fit-content;
    margin-top: 15px;
    padding: 7px 11px;
    border-radius: 8px;
    background: #f1f6ff;
    color: #3a5e96;
    font-size: 11px;
    font-weight: 700;
}

.industry-lifecycle-card {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    overflow: hidden;
    border: 1px solid #dfe7f2;
    border-radius: 19px;
    background: #fff;
}

.industry-lifecycle-track {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
    padding: 28px;
    background: linear-gradient(135deg, #f8fbff 0%, #f0f5ff 100%);
}

.industry-lifecycle-track > div {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 7px;
    color: #91a0b4;
    text-align: center;
}

.industry-lifecycle-track > div::after {
    position: absolute;
    top: 8px;
    left: calc(50% + 9px);
    width: calc(100% - 18px);
    height: 2px;
    background: #d8e1ef;
    content: "";
}

.industry-lifecycle-track > div:last-child::after { display: none; }
.industry-lifecycle-track i { z-index: 1; width: 18px; height: 18px; border: 5px solid #fff; border-radius: 50%; background: #c9d4e3; box-shadow: 0 0 0 1px #c9d4e3; }
.industry-lifecycle-track strong { font-size: 13px; }
.industry-lifecycle-track small { font-size: 10px; }
.industry-lifecycle-track .passed i { background: #8fb5f8; box-shadow: 0 0 0 1px #8fb5f8; }
.industry-lifecycle-track .passed::after { background: #8fb5f8; }
.industry-lifecycle-track .active { color: #1f5fcf; }
.industry-lifecycle-track .active i { width: 22px; height: 22px; margin-top: -2px; border-width: 5px; background: var(--insight-blue); box-shadow: 0 0 0 5px rgba(36, 104, 232, .12); }

.industry-stage-reading {
    display: grid;
    align-content: center;
    gap: 8px;
    padding: 27px;
    background: #132443;
    color: #fff;
}

.industry-stage-reading span { color: #8eb9ff; font-size: 11px; font-weight: 800; letter-spacing: .06em; }
.industry-stage-reading b { font-size: 18px; }
.industry-stage-reading p { margin: 0; color: #d8e2f2; font-size: 12px; line-height: 1.75; }
.industry-stage-reading small { color: #9fb1cc; font-size: 10px; }

.transition-signal-row,
.leading-indicator-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.transition-signal-row span,
.leading-indicator-row span {
    padding: 8px 12px;
    border: 1px solid #dbe5f4;
    border-radius: 999px;
    background: #f8fbff;
    color: #36547d;
    font-size: 11px;
}

.transition-signal-row span::before { margin-right: 6px; color: #2b72ef; content: "↗"; }

.product-evolution-timeline {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    border: 1px solid #e0e7f1;
    border-radius: 17px;
}

.product-evolution-timeline article {
    position: relative;
    min-height: 195px;
    padding: 23px 21px;
    border-right: 1px solid #e7edf5;
    background: #fff;
}

.product-evolution-timeline article:last-child { border-right: 0; }
.product-evolution-timeline article::after { position: absolute; top: 30px; right: -5px; z-index: 1; width: 9px; height: 9px; border-top: 1px solid #8fb5f8; border-right: 1px solid #8fb5f8; background: #fff; transform: rotate(45deg); content: ""; }
.product-evolution-timeline article:last-child::after { display: none; }
.product-evolution-timeline article > span { color: #2563eb; font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.product-evolution-timeline h4 { margin: 10px 0 8px; color: #172239; font-size: 15px; line-height: 1.45; }
.product-evolution-timeline p { margin: 0; color: #5e6d82; font-size: 12px; line-height: 1.75; }
.product-evolution-timeline small { display: block; margin-top: 13px; color: #8b98aa; font-size: 10px; line-height: 1.6; }

.industry-discovery-grid,
.technology-innovation-grid,
.company-product-grid,
.industry-forecast-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
}

.industry-discovery-grid article,
.technology-innovation-grid article,
.company-product-grid article,
.industry-forecast-grid article {
    padding: 21px;
    border: 1px solid #e1e8f1;
    border-radius: 16px;
    background: #fff;
}

.industry-discovery-grid article > span { color: #a5b1c2; font-size: 10px; font-weight: 900; }
.industry-discovery-grid h4,
.technology-innovation-grid h4,
.company-product-grid h4,
.industry-forecast-grid h4 { margin: 8px 0; color: #182338; font-size: 15px; line-height: 1.5; }
.industry-discovery-grid p,
.technology-innovation-grid p,
.company-product-grid p,
.industry-forecast-grid p { margin: 0; color: #58677b; font-size: 12px; line-height: 1.75; }
.industry-discovery-grid blockquote { margin: 14px 0 0; padding: 10px 12px; border-left: 3px solid #2870eb; border-radius: 0 8px 8px 0; background: #f4f7fc; color: #36506f; font-size: 11px; line-height: 1.7; }

.technology-innovation-grid article > header,
.industry-forecast-grid article > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.technology-innovation-grid article > header h4 { margin: 0; }
.technology-innovation-grid article > header span,
.industry-forecast-grid article > header span,
.industry-forecast-grid article > header b {
    flex: none;
    padding: 5px 8px;
    border-radius: 999px;
    background: #eef4ff;
    color: #2666d8;
    font-size: 9px;
    font-weight: 800;
}

.technology-innovation-grid dl,
.industry-forecast-grid dl {
    display: grid;
    gap: 9px;
    margin: 15px 0 0;
}

.technology-innovation-grid dl > div,
.industry-forecast-grid dl > div { padding-top: 9px; border-top: 1px solid #eef1f5; }
.technology-innovation-grid dt,
.industry-forecast-grid dt { color: #2a68d1; font-size: 9px; font-weight: 900; }
.technology-innovation-grid dd,
.industry-forecast-grid dd { margin: 4px 0 0; color: #637187; font-size: 10px; line-height: 1.65; }

.company-product-grid article > span { color: #2870e8; font-size: 10px; font-weight: 800; }
.company-product-grid small { display: block; margin-top: 11px; color: #8390a2; font-size: 10px; line-height: 1.65; }

.investment-track-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.industry-market-grid,
.industry-profit-grid,
.industry-risk-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.industry-market-grid article,
.industry-profit-grid article,
.industry-risk-grid article {
    padding: 20px;
    border: 1px solid #e2e9f3;
    border-radius: 16px;
    background: linear-gradient(145deg, #fff, #f8faff);
    box-shadow: 0 8px 24px rgba(42, 67, 101, .05);
}
.industry-market-grid span,
.industry-profit-grid header span { color: #2468d8; font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.industry-market-grid p,
.industry-profit-grid p,
.industry-risk-grid p { margin: 10px 0 0; color: #526176; font-size: 12px; line-height: 1.8; }
.industry-profit-grid header { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.industry-profit-grid header b { color: #15805b; font-size: 10px; }
.industry-profit-grid h4,
.industry-risk-grid h4 { margin: 12px 0 0; color: #172238; font-size: 15px; line-height: 1.55; }
.industry-profit-grid dl,
.industry-risk-grid dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 16px 0 0; }
.industry-profit-grid dl div,
.industry-risk-grid dl div { padding: 11px; border-radius: 10px; background: #f1f5fa; }
.industry-profit-grid dt,
.industry-risk-grid dt { color: #6f7f93; font-size: 9px; font-weight: 900; }
.industry-profit-grid dd,
.industry-risk-grid dd { margin: 5px 0 0; color: #3f4e61; font-size: 10px; line-height: 1.6; }

.investment-track-grid article {
    overflow: hidden;
    border: 1px solid #dfe7f2;
    border-radius: 17px;
    background: #fff;
}

.investment-track-grid article > header {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: 11px;
    align-items: center;
    padding: 18px 19px;
    border-bottom: 1px solid #e9eef5;
    background: #f9fbfe;
}

.investment-track-grid article > header > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; background: #e8f0ff; color: #2769dc; font-size: 10px; font-weight: 900; }
.investment-track-grid h4 { margin: 0; color: #172238; font-size: 14px; line-height: 1.45; }
.investment-track-grid header small { display: block; margin-top: 3px; color: #8895a7; font-size: 9px; }
.investment-track-grid header > b { padding: 6px 9px; border-radius: 999px; background: #edf3ff; color: #3666b0; font-size: 9px; }
.investment-track-grid header > b.potential-高 { background: #e5f8ef; color: #16825b; }
.investment-track-grid header > b.potential-中高 { background: #eaf2ff; color: #2368d7; }
.investment-track-grid article > p { margin: 0; padding: 17px 19px 10px; color: #536277; font-size: 12px; line-height: 1.75; }
.investment-track-grid dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 5px 19px 18px; overflow: hidden; border-radius: 10px; background: #e5ebf3; }
.investment-track-grid dl > div { padding: 11px; background: #f6f8fb; }
.investment-track-grid dt { color: #2a65c8; font-size: 9px; font-weight: 900; }
.investment-track-grid dd { margin: 5px 0 0; color: #647287; font-size: 10px; line-height: 1.55; }

.indicator-section { padding: 22px; border-radius: 17px; background: #f6f9fe; }

.intelligence-status {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 14px;
    color: #62728a;
    font-size: 10px;
}

.intelligence-status i { width: 7px; height: 7px; border-radius: 50%; background: #acb7c6; }
.intelligence-status i.ready { background: #25a572; box-shadow: 0 0 0 4px rgba(37, 165, 114, .12); }
.intelligence-status i.loading { background: #2870ea; animation: intelligence-status-pulse 1.2s ease-in-out infinite; }
.intelligence-status span { margin-left: 8px; color: #96a1b2; }

@keyframes intelligence-status-pulse { 50% { opacity: .35; } }

.document-view-error { padding: 12px 14px; border: 1px solid #ffd5d5; border-radius: 10px; background: #fff6f6; color: #b44545; font-size: 11px; }
.intelligence-empty { min-height: 100px; display: grid; place-items: center; text-align: center; }

.regional-intelligence-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.regional-intelligence-list article { padding: 19px; border: 1px solid #e1e8f2; border-radius: 15px; background: #fff; }
.regional-intelligence-list article > header { display: flex; justify-content: space-between; gap: 10px; color: #3570d2; font-size: 9px; font-weight: 800; }
.regional-intelligence-list time { color: #97a3b5; font-weight: 500; }
.regional-intelligence-list h4 { margin: 9px 0 7px; color: #182338; font-size: 14px; line-height: 1.5; }
.regional-intelligence-list p { margin: 0; color: #5a687d; font-size: 11px; line-height: 1.75; }
.regional-intelligence-list blockquote { margin: 11px 0 0; padding: 9px 11px; border-left: 3px solid #82aef5; background: #f5f8fd; color: #425873; font-size: 10px; line-height: 1.65; }

.policy-intelligence-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.policy-region { overflow: hidden; border: 1px solid #dfe7f2; border-radius: 16px; background: #fff; }
.policy-region > header { display: flex; justify-content: space-between; padding: 14px 17px; border-bottom: 1px solid #e7edf5; background: #f7faff; color: #1f5fbf; font-size: 11px; font-weight: 900; }
.policy-region > header b { color: #8997aa; font-size: 9px; }
.policy-region article { padding: 15px 17px; border-bottom: 1px solid #edf1f6; }
.policy-region article:last-child { border-bottom: 0; }
.policy-region h4 { margin: 0 0 6px; color: #1b263a; font-size: 12px; line-height: 1.5; }
.policy-region p { margin: 0; color: #5e6c80; font-size: 10px; line-height: 1.7; }
.policy-region small { display: block; margin-top: 7px; color: #3970bf; font-size: 9px; line-height: 1.55; }
.policy-empty { margin: 0; padding: 20px 17px; color: #8a96a8; font-size: 11px; }

.competitor-intelligence-table { overflow: hidden; border: 1px solid #dfe6f0; border-radius: 15px; background: #fff; }
.competitor-row { display: grid; grid-template-columns: .8fr 1.25fr 1.25fr 1fr; gap: 14px; align-items: start; padding: 15px 17px; border-bottom: 1px solid #e9eef4; }
.competitor-row:last-child { border-bottom: 0; }
.competitor-head { background: #f5f8fc; color: #53647c; font-size: 9px; font-weight: 900; }
.competitor-row b { display: block; color: #1a263a; font-size: 11px; }
.competitor-row small { display: block; margin-top: 5px; color: #3e73c6; font-size: 9px; line-height: 1.5; }
.competitor-row p { margin: 0; color: #637187; font-size: 10px; line-height: 1.65; }

.industry-chain-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
}

.industry-chain-grid > section { position: relative; overflow: visible; border: 1px solid #dfe7f1; border-radius: 16px; background: #fff; }
.industry-chain-grid > section:not(:last-child)::after { position: absolute; top: 26px; right: -11px; z-index: 2; color: #75a2ee; content: "→"; }
.industry-chain-grid > section > header { padding: 13px 16px; border-radius: 15px 15px 0 0; background: #eff5ff; color: #2866cd; font-size: 11px; font-weight: 900; }
.industry-chain-grid article { padding: 15px 16px; border-top: 1px solid #edf1f6; }
.industry-chain-grid h4 { margin: 0 0 6px; color: #1a263b; font-size: 12px; }
.industry-chain-grid p { margin: 0; color: #606f83; font-size: 10px; line-height: 1.65; }
.industry-chain-grid small { display: block; margin-top: 8px; color: #3a70c0; font-size: 9px; line-height: 1.55; }
.industry-chain-grid > section > p { margin: 0; padding: 18px 16px; color: #8793a5; font-size: 10px; line-height: 1.65; }

@media (max-width: 760px) {
    .document-dynamic-view { padding: 24px 18px; }
    .document-view-head-action { align-items: stretch; flex-direction: column; }
    .document-view-metrics,
    .document-signal-grid,
    .document-external-grid,
    .document-decision-list dl,
    .industry-lifecycle-card,
    .product-evolution-timeline,
    .industry-discovery-grid,
    .technology-innovation-grid,
    .company-product-grid,
    .investment-track-grid,
    .industry-market-grid,
    .industry-profit-grid,
    .industry-risk-grid,
    .industry-forecast-grid,
    .regional-intelligence-list,
    .policy-intelligence-grid,
    .industry-chain-grid { grid-template-columns: 1fr; }
    .product-evolution-timeline article { min-height: 0; border-right: 0; border-bottom: 1px solid #e7edf5; }
    .product-evolution-timeline article::after,
    .industry-chain-grid > section::after { display: none; }
    .investment-track-grid dl { grid-template-columns: 1fr; }
    .industry-profit-grid dl,
    .industry-risk-grid dl { grid-template-columns: 1fr; }
    .competitor-intelligence-table { overflow-x: auto; }
    .competitor-row { min-width: 760px; }
}
