.platform-network{--pn-bg:#fafafa;--pn-surface:#f0f0f0;--pn-text:#303030;--pn-secondary:#555;--pn-muted:#666;--pn-line:#dedede;--pn-point:#bdbdbd;--pn-focus:#666;color:var(--pn-text);background:var(--pn-bg);border:1px solid var(--pn-line);border-radius:24px;overflow:hidden;font:inherit;box-sizing:border-box}
.dark .platform-network,body.dark .platform-network{--pn-bg:var(--bb-surface);--pn-surface:var(--bb-raised);--pn-text:var(--bb-text);--pn-secondary:var(--bb-text-secondary);--pn-muted:var(--bb-text-muted);--pn-line:var(--bb-border);--pn-point:#454545;--pn-focus:var(--bb-focus)}
.platform-network *, .platform-network *::before, .platform-network *::after{box-sizing:border-box}.platform-network [hidden]{display:none!important}.pn-update{font-size:12px;color:var(--bb-text-muted,#666)}
.pn-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 30px 20px}.pn-header h4{font:inherit;font-size:27px;line-height:1.3;letter-spacing:-.035em;font-weight:600;margin:0 0 9px;color:var(--pn-text)}.pn-intro{font-size:13px;color:var(--pn-secondary);line-height:1.7;margin:0}
.pn-window{display:flex;flex-shrink:0;background:var(--pn-surface);padding:4px;border-radius:12px}.pn-window button{padding:8px 12px;min-height:36px;border:0;border-radius:9px;font:inherit;font-size:12px;color:var(--pn-muted);background:transparent;cursor:pointer}.pn-window button[aria-pressed=true]{background:var(--pn-bg);color:var(--pn-text);box-shadow:0 2px 6px rgb(0 0 0/.06)}
.pn-body{display:grid;grid-template-columns:minmax(0,1fr) 310px;border-top:1px solid var(--pn-line)}.pn-map-column{min-width:0}.pn-map-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px 0;font-size:11px;color:var(--pn-muted)}.pn-map{height:520px;position:relative;overflow:hidden;background-image:radial-gradient(var(--pn-point) .65px,transparent .65px);background-size:18px 18px}.pn-svg{display:block;width:100%;height:100%;touch-action:pan-y}.pn-svg.is-panning{touch-action:none;cursor:grab}.pn-svg.is-dragging{cursor:grabbing}
.pn-detail{min-width:0;border-left:1px solid var(--pn-line);padding:24px;background:var(--pn-surface)}.pn-detail-head>span{font-size:10px;letter-spacing:.14em;color:var(--pn-muted)}.pn-detail-head h5{font:inherit;font-size:22px;font-weight:600;line-height:1.4;margin:9px 0 12px;color:var(--pn-text)}.pn-detail-head p{font-size:12px;line-height:1.8;color:var(--pn-secondary);margin:0}.pn-trend{display:inline-block;margin-top:12px;font-size:11px;color:var(--pn-secondary);padding:5px 8px;background:var(--pn-bg);border-radius:6px}.pn-tendency{padding:20px 0;border-bottom:1px solid var(--pn-line)}.pn-tendency h6,.pn-sources h6{font:inherit;font-size:11px;font-weight:500;color:var(--pn-muted);margin:0 0 12px}.pn-tendency button{display:flex;align-items:center;gap:8px;width:100%;border:0;background:transparent;color:var(--pn-secondary);font:inherit;font-size:11px;padding:6px 0;text-align:left;cursor:pointer}.pn-tendency button>span:first-child{min-width:75px}.pn-tendency-track{flex:1;height:3px;background:var(--pn-line);border-radius:3px;overflow:hidden}.pn-tendency-track i{display:block;height:100%;background:var(--pn-text);opacity:.6}.pn-tendency b{font-size:10px;font-weight:400;min-width:15px;text-align:right}.pn-sources{padding-top:20px}.pn-source-link{display:block;padding:13px 0;text-decoration:none!important;border-bottom:1px solid var(--pn-line);color:var(--pn-text)!important;overflow-wrap:anywhere}.pn-source-link:last-child{border-bottom:0}.pn-source-link strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;font-weight:500;line-height:1.7}.pn-source-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--pn-muted);margin-top:6px}.pn-source-link:hover strong{text-decoration:underline;text-underline-offset:3px}.pn-no-sources{font-size:12px;line-height:1.8;color:var(--pn-muted)}
.platform-network :is(button,a):focus-visible{outline:2px solid var(--pn-focus);outline-offset:3px}
@media(max-width:1100px){.pn-body{grid-template-columns:minmax(0,1fr)}.pn-detail{border-left:0;border-top:1px solid var(--pn-line);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 28px}.pn-detail-head{grid-column:1}.pn-tendency{grid-column:1;border:0;padding-bottom:0}.pn-sources{grid-column:2;grid-row:1/3;padding-top:0}.pn-map{height:500px}}
@media(max-width:767px){.platform-network{border-radius:18px}.pn-header{display:block;padding:22px 18px 18px}.pn-header h4{font-size:23px}.pn-window{width:max-content;margin-top:16px}.pn-map-meta{padding:16px 16px 0;display:block;line-height:1.8}.pn-map{height:620px}.pn-detail{display:block;padding:22px 18px}.pn-detail-head h5{font-size:21px}.pn-tendency{padding-bottom:20px;border-bottom:1px solid var(--pn-line)}.pn-sources{padding-top:20px}.pn-source-link strong{font-size:13px}.pn-update{font-size:10px}}

#sec-hotfeed{scroll-margin-top:96px}.ainew-hotfeed-section .pn-update{color:#666}.dark .ainew-hotfeed-section .pn-update,body.dark .ainew-hotfeed-section .pn-update{color:var(--bb-text-muted)}
@media(max-width:767px){#sec-hotfeed{scroll-margin-top:82px}}.pn-map-meta{flex-wrap:wrap}
.pn-map{height:580px;background-image:radial-gradient(ellipse at center,var(--pn-surface),transparent 65%);background-size:auto}
.pn-header{padding-bottom:28px}.pn-map-meta{padding-top:20px}.pn-detail{background:var(--pn-bg)}.pn-detail-head{padding-bottom:3px}.pn-detail-head h5{font-size:24px}.pn-detail-head>span:first-child{letter-spacing:.2em}.pn-trend{background:var(--pn-surface)}
@media(max-width:767px){.pn-header{padding-bottom:22px}.pn-map{height:600px}.pn-map-meta{display:flex;gap:8px;justify-content:space-between}.pn-summary{font-size:10px}}
.pn-map{height:auto!important;overflow:visible;background:none;padding:0 26px}.pn-svg{height:auto;touch-action:auto}.pn-map-meta{padding:18px 26px;color:var(--pn-secondary);font-size:12px}.pn-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 28px}.pn-stats>div{padding:18px;background:var(--pn-surface);border-radius:12px}.pn-stats strong{display:block;color:var(--pn-text);font-size:30px;font-weight:500;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-1px}.pn-stats span{display:block;margin-top:7px;font-size:11px;color:var(--pn-muted)}
@media(max-width:767px){.pn-map{padding:0 16px}.pn-map-meta{padding:16px}.pn-stats{gap:7px;margin-bottom:24px}.pn-stats>div{padding:14px 10px}.pn-stats strong{font-size:25px}.pn-stats span{font-size:10px}}
/* Compact numeric overview; detail stays in the charts and source panel. */
.platform-network .pn-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:var(--pn-surface);border-radius:14px;overflow:hidden;margin-bottom:26px}
.platform-network .pn-stats>.pn-overview{position:relative;isolation:isolate;min-width:0;background:transparent;border-radius:0;padding:19px 22px;overflow:hidden}
.pn-overview+.pn-overview{border-left:1px solid var(--pn-line)}
.pn-overview-label{position:relative;font:inherit;font-size:11px;font-weight:500;color:var(--pn-secondary);margin:0 0 12px}
.pn-metric{position:relative;display:flex;align-items:baseline;gap:8px;margin:0}
.platform-network .pn-metric-number{font-size:48px;line-height:1;font-weight:450;letter-spacing:-.065em;color:var(--pn-text);font-variant-numeric:tabular-nums;margin:0}
.platform-network .pn-metric-unit{font-size:10px;color:var(--pn-muted);margin:0}
.pn-overview-art{position:absolute;width:110px;height:110px;right:-24px;top:9px;color:var(--pn-text);opacity:.055;z-index:-1;pointer-events:none;transform:rotate(-12deg)}
.pn-overview--verified .pn-overview-art{width:135px;height:135px;right:-30px;top:-6px}
@media(max-width:767px){.platform-network .pn-stats{margin-bottom:23px;border-radius:11px}.platform-network .pn-stats>.pn-overview{padding:16px 12px}.pn-overview-label{font-size:10px;margin-bottom:11px}.platform-network .pn-metric-number{font-size:35px}.pn-metric{gap:5px}.platform-network .pn-metric-unit{font-size:9px}.pn-overview-art{width:90px;height:90px;right:-34px;top:10px}.pn-overview--verified .pn-overview-art{width:105px;height:105px;right:-34px;top:3px}}
@media(max-width:359px){.platform-network .pn-stats>.pn-overview{padding:15px 9px}.platform-network .pn-metric-number{font-size:29px}.pn-metric{gap:4px}.pn-overview-label{font-size:9px}}
.pn-platform-filters{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;min-width:0}.pn-platform-filter{min-height:32px;padding:6px 10px;border:1px solid var(--pn-line);border-radius:7px;background:transparent;color:var(--pn-secondary);font:inherit;font-size:11px;line-height:1.5;cursor:pointer}.pn-platform-filter:hover{border-color:var(--pn-muted);color:var(--pn-text)}.pn-platform-filter[aria-pressed=true]{border-color:var(--pn-text);color:var(--pn-text);font-weight:600}.pn-map-meta{align-items:flex-start}.pn-summary{padding-top:7px;flex-shrink:0}
@media(max-width:1250px){.pn-platform-filters{justify-content:flex-start}.pn-map-meta{flex-direction:column;gap:10px}.pn-summary{padding-top:0}}
@media(max-width:767px){.pn-platform-filters{width:100%;gap:7px}.pn-platform-filter{min-height:36px;padding:7px 9px;font-size:10px}}
/* Knowledge atlas: observed topics → explicit keywords → verified news. */
.pn-atlas{position:relative;background:var(--pn-bg);border:1px solid var(--pn-line);border-radius:14px;overflow:hidden;margin-bottom:12px}.pn-atlas-legend{display:flex;flex-wrap:wrap;gap:8px 16px;padding:18px 18px 4px}.pn-atlas-legend button{display:flex;align-items:center;gap:6px;padding:3px 0;border:0;background:none;font:inherit;font-size:11px;color:var(--pn-secondary);cursor:pointer}.pn-atlas-legend button::before{content:'';width:7px;height:7px;border-radius:2px;background:var(--cluster)}.pn-atlas-legend button[aria-pressed=true]{color:var(--pn-text);font-weight:600}.pn-atlas-svg{display:block;width:100%;height:auto;min-height:420px;touch-action:pan-y;cursor:grab}.pn-atlas-edge{stroke:var(--pn-text);stroke-width:.7;opacity:.13;vector-effect:non-scaling-stroke}.pn-atlas-edge.is-active{opacity:.5;stroke-width:1.2}.pn-atlas-edge.is-muted{opacity:.025}.pn-atlas-node{cursor:pointer;outline:none}.pn-atlas-hit{fill:transparent}.pn-atlas-dot{fill:var(--cluster);stroke:var(--pn-bg);stroke-width:1.5}.pn-atlas-node--article .pn-atlas-dot{opacity:.7;stroke-width:.8}.pn-atlas-node--resource .pn-atlas-dot{fill:var(--pn-bg);stroke:var(--cluster);stroke-width:2}.pn-atlas-label{fill:var(--pn-secondary);font-size:11px;paint-order:stroke;stroke:var(--pn-bg);stroke-width:4px;stroke-linejoin:round;pointer-events:none}.pn-atlas-node--topic .pn-atlas-label{font-weight:600;font-size:14px;fill:var(--pn-text)}.pn-atlas-node.is-muted{opacity:.12}.pn-atlas-tip{position:absolute;left:18px;bottom:65px;width:min(290px,calc(100% - 36px));padding:17px;background:var(--pn-bg);border:1px solid var(--pn-line);border-radius:10px;box-shadow:0 8px 30px #00000010;pointer-events:none}.pn-atlas-tip small{font-size:10px;color:var(--pn-muted)}.pn-atlas-tip strong{display:block;font-size:14px;line-height:1.6;margin-top:6px}.pn-atlas-tip p{font-size:11px;line-height:1.7;color:var(--pn-secondary);margin:6px 0 0}.pn-atlas-toolbar{display:flex;gap:2px;position:absolute;right:14px;bottom:14px;padding:3px;background:var(--pn-surface);border-radius:8px}.pn-atlas-toolbar button{min-height:34px;min-width:34px;padding:4px 9px;background:none;border:0;color:var(--pn-text);font:inherit;font-size:12px;cursor:pointer}.dark .pn-atlas-dot{filter:brightness(1.08)}
@media(max-width:767px){.pn-atlas-legend{padding:14px 12px 0;gap:6px 12px}.pn-atlas-legend button{font-size:10px;min-height:28px}.pn-atlas-svg{min-height:440px;width:100%;height:440px}.pn-atlas-toolbar{right:9px;bottom:14px}.pn-atlas-tip{left:10px;bottom:80px}.pn-atlas-node--topic .pn-atlas-label{font-size:18px}.pn-atlas-label{font-size:15px}.pn-atlas{border-radius:10px}}
.pn-atlas-svg{height:560px;min-height:0}.pn-atlas-node--article .pn-atlas-dot{opacity:.82}
@media(max-width:767px){.pn-atlas-svg{height:430px;min-height:0}.pn-atlas-node--topic .pn-atlas-label{font-size:20px}}
.pn-atlas-toolbar button[aria-pressed=true]{background:var(--pn-bg);border-radius:5px}
@media(max-width:767px){.pn-atlas-svg{height:330px}}
/* Direct manipulation of the entire network viewport. */
.pn-atlas-svg{user-select:none;-webkit-user-select:none}.pn-atlas-svg.is-dragging,.pn-atlas-svg.is-dragging .pn-atlas-node{cursor:grabbing}

/* Hover intent keeps quick passes quiet; highlight changes cross-fade gently. */
.pn-atlas-edge{transition:opacity .24s ease,stroke-width .24s ease}
.pn-atlas-node{transition:opacity .2s ease}
@media(prefers-reduced-motion:reduce){.pn-atlas-edge,.pn-atlas-node{transition:none}}

/* Selection must not resize the graph row or push the page footer around. */
.pn-body{position:relative;align-items:start}
.pn-detail{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;overflow-anchor:none}
@media(min-width:1101px){
  .pn-detail{position:absolute;inset:0 0 0 auto;width:310px;height:auto}
}
@media(min-width:768px) and (max-width:1100px){.pn-detail{height:440px}}
@media(max-width:767px){.pn-detail{height:440px;height:clamp(360px,65svh,520px)}}
/* A separate highlight grows outward from the hovered point; base edges stay quiet. */
.pn-atlas-edge.is-active{opacity:.16}
.pn-atlas-flow{pointer-events:none}
.pn-atlas-flow-edge{stroke:var(--pn-text);stroke-width:1.2;opacity:.55;fill:none;vector-effect:non-scaling-stroke}
.pn-atlas-flow-reveal{r:0;animation:pn-edge-grow var(--flow-duration,.9s) cubic-bezier(.22,.61,.36,1) var(--flow-delay,0s) both}
@keyframes pn-edge-grow{to{r:var(--flow-radius)}}
@media(prefers-reduced-motion:reduce){.pn-atlas-flow-reveal{animation:none;r:var(--flow-radius)}}

/* Selecting a legend label must not change its width or rewrap the legend. */
.pn-atlas-legend button,.pn-atlas-legend button[aria-pressed=true]{font-weight:500}

/* Cluster-coloured water ripple replaces static selection/hover outlines. */
.platform-network .pn-atlas-node,
.platform-network .pn-atlas-node:is(:hover,:focus,:focus-visible,.is-selected){outline:none}
.platform-network .pn-atlas-node .pn-atlas-hit{stroke:none}
.platform-network .pn-atlas-node:not(.pn-atlas-node--resource) .pn-atlas-dot{stroke:none}
.platform-network .pn-atlas-node .pn-atlas-dot{animation:none;transform:none}
.platform-network .pn-atlas-node .pn-atlas-halo{fill:none;stroke:var(--cluster);stroke-width:1.3;vector-effect:non-scaling-stroke;opacity:0;pointer-events:none;transition:none}
.platform-network .pn-atlas-node.is-focused .pn-atlas-halo{animation:pn-ring-wave 1.5s cubic-bezier(.18,.55,.3,1) infinite}
@keyframes pn-ring-wave{0%{r:var(--ripple-start);opacity:0}12%{opacity:.5}100%{r:var(--ripple-end);opacity:0}}
@media(prefers-reduced-motion:reduce){
  .platform-network .pn-atlas-node.is-focused .pn-atlas-halo{animation:none;opacity:.28;r:var(--ripple-start)}
}
.pn-source-platform{display:inline-flex;align-items:center;gap:5px;min-width:0}
.pn-platform-icon{display:block;width:14px;height:14px;flex:0 0 14px;object-fit:contain;border-radius:3px;filter:none}
.pn-source-meta>span:last-child{flex-shrink:0}
.pn-method-note{padding:12px 26px 20px;color:var(--pn-muted)}
.pn-method-note h5{font:inherit;font-size:11px;font-weight:500;color:inherit;margin:0 0 5px}
.pn-method-note p{font-size:11px;line-height:1.85;color:inherit;margin:0}
.dark .pn-method-note{color:var(--bb-text-muted)}


@media(max-width:767px){.platform-network .pn-method-note{padding:14px 16px 18px}}

/* Keep the overview quiet; focused relationships use the existing animated overlay. */
.pn-atlas-edge{opacity:var(--pn-edge-opacity,.065)}

/* Topic landmarks remain simple colored circles. */
.platform-network .pn-atlas-node--topic .pn-atlas-dot{filter:none}


/* Idle breathing transforms the circle only; labels, positions and hit areas stay still. */
.platform-network .pn-atlas-dot{transform-box:fill-box;transform-origin:center}
