/* Global AI Panorama — embeddable, fully scoped under #panorama (.aip-*). No global/body rules. */
#panorama.aip{--aip-bg:#0a0e16;--aip-panel:#111827;--aip-line:#22304a;--aip-text:#e8edf6;--aip-muted:#9aa7bd;--aip-cyan:#4fd1e8;--aip-violet:#a78bfa;
 color-scheme:dark;background:var(--aip-bg);color:var(--aip-text);line-height:1.6;font-family:system-ui,"PingFang SC","Microsoft YaHei",sans-serif;
 background-image:radial-gradient(circle at 50% -10%,rgba(79,209,232,.08),transparent 55%),linear-gradient(rgba(34,48,74,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(34,48,74,.35) 1px,transparent 1px);
 background-size:auto,48px 48px,48px 48px;border-radius:16px;margin:0 0 24px;overflow:hidden;scroll-margin-top:16px}
#panorama.aip *,#panorama.aip *::before,#panorama.aip *::after{box-sizing:border-box}
#panorama .aip-in{max-width:1040px;margin:0 auto;padding:24px 20px 28px}
#panorama a{color:var(--aip-cyan)}
#panorama a:focus-visible,#panorama button:focus-visible,#panorama summary:focus-visible{outline:2px solid var(--aip-violet);outline-offset:3px;border-radius:6px}
#panorama .aip-eyebrow{color:var(--aip-cyan);font:600 .74rem/1 ui-monospace,monospace;letter-spacing:.2em}
#panorama .aip-h1{margin:.3em 0 .1em;font-size:clamp(1.5rem,4.5vw,2.3rem);letter-spacing:.02em;line-height:1.25;color:var(--aip-text)}
#panorama .aip-meta{color:var(--aip-muted);font-size:.92rem;margin:.2em 0 .8em}
#panorama .aip-muted{color:var(--aip-muted);font-size:.88rem;margin:.5em 0}
#panorama .aip-share{background:transparent;border:1px solid var(--aip-line);color:var(--aip-muted);border-radius:999px;padding:6px 14px;cursor:pointer;font:inherit;font-size:.82rem;min-height:36px}
#panorama .aip-radial-wrap{margin:8px auto 4px;max-width:400px;text-align:center}
#panorama .aip-radial{width:100%;height:auto;display:block}
#panorama .aip-ring{fill:none;stroke:var(--aip-line);stroke-width:1}#panorama .aip-ring.aip-faint{stroke-dasharray:2 6}
#panorama .aip-spoke{stroke:rgba(79,209,232,.28);stroke-width:1}
#panorama .aip-node circle,#panorama .aip-hub circle{fill:var(--aip-panel);stroke:var(--aip-line);stroke-width:1.5}
#panorama .aip-node text,#panorama .aip-hub text{fill:var(--aip-text);font-size:13px;font-weight:600;pointer-events:none}
#panorama a.aip-node{cursor:pointer}#panorama a.aip-node:focus{outline:none}
#panorama a.aip-node:hover circle,#panorama a.aip-node:focus circle,#panorama a.aip-node.aip-on circle{stroke:var(--aip-cyan);fill:#0f2230}
#panorama a.aip-node:focus-visible circle{stroke:var(--aip-violet);stroke-width:3}
#panorama .aip-node.aip-idle circle{stroke-dasharray:3 4;opacity:.55}#panorama .aip-node.aip-idle text{fill:var(--aip-muted)}
#panorama .aip-hub circle{fill:#141a2e;stroke:var(--aip-violet)}#panorama .aip-hub text{font-size:12px}
#panorama .aip-hint{color:var(--aip-muted);font-size:.8rem;margin:0}
#panorama .aip-sec{margin-top:22px;scroll-margin-top:16px}
#panorama .aip-h2{font-size:.95rem;color:var(--aip-cyan);letter-spacing:.08em;margin:0 0 10px}
#panorama .aip-fact{background:var(--aip-panel);border:1px solid var(--aip-line);border-radius:14px;padding:16px 18px;margin:0 0 10px;position:relative;scroll-margin-top:16px}
#panorama .aip-fact::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:linear-gradient(var(--aip-cyan),var(--aip-violet))}
#panorama .aip-h3{margin:0 0 6px;font-size:1.02rem;line-height:1.45;color:var(--aip-text)}
#panorama .aip-factmeta{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0}
#panorama .aip-num{font:600 1.5rem/1.2 ui-monospace,monospace;color:var(--aip-cyan)}
#panorama .aip-unit{color:var(--aip-muted);font-size:.78rem;margin-left:4px;font-family:system-ui,sans-serif}
#panorama .aip-chip{font-size:.78rem;color:var(--aip-muted);border:1px solid var(--aip-line);border-radius:999px;padding:1px 10px}
#panorama details{margin-top:8px}#panorama summary{cursor:pointer;color:var(--aip-violet);font-size:.86rem;min-height:32px;padding-top:4px}
#panorama details.aip-more>summary{color:var(--aip-muted)}
#panorama p{margin:.5em 0}
@media(max-width:600px){#panorama .aip-in{padding:18px 14px 22px}#panorama.aip{border-radius:0}}
@media(prefers-reduced-motion:no-preference){#panorama .aip-node circle{transition:stroke .2s,fill .2s}}
@media(prefers-reduced-motion:reduce){#panorama *{transition:none!important;animation:none!important}}
/* v6 C2 additions (scoped) */
#panorama .aip-starwrap{margin:8px auto 4px;max-width:440px;text-align:center}
#panorama .aip-star{width:100%;height:auto;display:block;overflow:visible}
#panorama .aip-ring{fill:none;stroke:var(--aip-line);stroke-width:1}#panorama .aip-ring-now{stroke:var(--aip-cyan);stroke-opacity:.55;stroke-width:1.5}
#panorama .aip-sector{stroke:var(--aip-line);stroke-dasharray:3 5}
#panorama .aip-dimlabel text,#panorama .aip-dimlabel-cost{fill:var(--aip-text);font-size:14px;font-weight:700}
#panorama .aip-dimlabel-costlink text{fill:#34d399}
#panorama a.aip-dimlabel.aip-on text{fill:var(--aip-cyan)}
#panorama a.aip-dimlabel:focus-visible text,#panorama a.aip-dot:focus-visible .aip-core,#panorama a.aip-hub:focus-visible text{stroke:var(--aip-violet);stroke-width:3;paint-order:stroke}
#panorama a.aip-dimlabel,#panorama a.aip-dot,#panorama a.aip-hub{cursor:pointer;outline:none}
#panorama .aip-hit{fill:transparent}
#panorama .aip-hubc{fill:#141a2e;stroke:var(--aip-violet)}#panorama .aip-hubt{fill:var(--aip-text);font-size:13px;font-weight:700}
#panorama .aip-herorow{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
#panorama .aip-artentry{margin:.4em 0}
#panorama .aip-artlink{display:inline-flex;gap:10px;align-items:center;min-height:44px;padding:8px 16px;border:1px solid rgba(167,139,250,.6);border-radius:12px;background:#120f26;color:var(--aip-text);text-decoration:none}
#panorama .aip-artk{font-size:.72rem;color:var(--aip-violet);letter-spacing:.12em}#panorama .aip-artt{font-weight:700}
#panorama .aip-costsec{border:1px solid rgba(52,211,153,.45);border-radius:14px;padding:14px 16px;background:#08161a}
#panorama .aip-costsec .aip-h2{color:#34d399}
#panorama .aip-costhead{font-size:.85rem;color:var(--aip-muted)}#panorama .aip-costv{font:600 1.4rem/1.2 ui-monospace,monospace;color:#34d399}
#panorama .aip-cost{width:100%;max-width:420px;height:auto;display:block}
#panorama .aip-axis{stroke:var(--aip-line)}#panorama .aip-seg{stroke-width:3}#panorama .aip-down{stroke:#34d399}#panorama .aip-up{stroke:#fb923c}#panorama .aip-flat{stroke:#9aa7bd}
#panorama .aip-obs{fill:#34d399;opacity:.4}#panorama .aip-obs.aip-latest{opacity:1}
#panorama .aip-ctick{fill:var(--aip-muted);font-size:10px}#panorama .aip-cval{fill:var(--aip-muted);font-size:11px}#panorama .aip-latest-t{fill:#34d399;font-weight:700}
#panorama .aip-costlist{padding-left:18px;font-size:.85rem}
#panorama .aip-reader{max-width:720px;margin:0 auto;grid-column:1/-1}
#panorama .aip-readerbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;position:sticky;top:0;background:var(--aip-bg);padding:8px 0;z-index:1}
#panorama .aip-back{background:var(--aip-cyan);color:#06222a;border:0;border-radius:999px;padding:8px 16px;min-height:44px;font:inherit;font-weight:700;cursor:pointer}
#panorama .aip-artlabel{display:inline-block;font-size:.8rem;color:#f5b84a;border:1px solid #f5b84a;border-radius:999px;padding:2px 10px}
#panorama .aip-ah{color:var(--aip-cyan);font-size:1rem;margin:1.2em 0 .3em}#panorama .aip-ap{line-height:1.8}
#panorama .aip-artstatic{margin-top:22px}
#panorama .aip-costgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#panorama .aip-costfig{margin:0;border:1px solid rgba(52,211,153,.25);border-radius:10px;padding:8px 8px 2px}
#panorama .aip-costcap{font-size:.8rem;color:#34d399;font-weight:700;margin:0 0 2px 4px}
@media(max-width:600px){#panorama .aip-costgrid{grid-template-columns:1fr}}
/* v7: C2 full layout. Sizes adapt to the module's own width (container queries), not the viewport. */
#panorama .aip-in{max-width:1180px;container-type:inline-size;container-name:aip}
#panorama .aip-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
#panorama .aip-main{display:grid;grid-template-columns:1fr;gap:18px;margin-top:8px}
#panorama .aip-stage{min-width:0}
#panorama .aip-starwrap{max-width:none;margin:0 auto;position:static}
#panorama .aip-star{display:block;width:100%;max-width:680px;height:auto;margin:0 auto}
#panorama .aip-side{display:flex;flex-direction:column;gap:14px;min-width:0}
#panorama .aip-card,#panorama .aip-costsec{border:1px solid var(--aip-line);border-radius:14px;background:rgba(13,21,38,.82);padding:14px 16px;margin:0}
#panorama .aip-artcard{border-color:rgba(167,139,250,.55);background:linear-gradient(135deg,rgba(40,24,80,.55),rgba(13,21,38,.85))}
#panorama .aip-cardk{margin:0 0 8px;color:var(--aip-violet);font-size:.82rem;font-weight:700;letter-spacing:.06em}
#panorama .aip-artcard .aip-artlink{display:flex;justify-content:space-between;width:100%}
#panorama .aip-artcard .aip-muted{margin:8px 0 0;font-size:.8rem}
#panorama .aip-legend{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;font-size:.85rem;color:var(--aip-muted)}
#panorama .aip-legend li{display:flex;align-items:center;gap:8px}
#panorama .aip-legend svg{flex:none;overflow:visible}
/* star */
#panorama .aip-wedge{fill:rgba(79,209,232,.035);stroke:none;transition:fill .2s}
#panorama .aip-wedge-alt{fill:rgba(167,139,250,.04)}
#panorama .aip-wedge.aip-on{fill:rgba(79,209,232,.14)}
#panorama .aip-grid{fill:none;stroke:rgba(154,167,189,.16);stroke-width:1;stroke-dasharray:3 6}
#panorama .aip-sector{stroke:rgba(154,167,189,.28);stroke-width:1;stroke-dasharray:2 5}
#panorama .aip-ring{fill:none;stroke:rgba(79,209,232,.3);stroke-width:1.2}
#panorama .aip-ring-now{stroke:rgba(79,209,232,.7);stroke-width:2}
#panorama .aip-ringt{fill:var(--aip-cyan);font-size:15px;font-weight:600}
#panorama .aip-labhit{fill:transparent;stroke:none}
#panorama a.aip-dimlabel text{fill:var(--aip-text);font-size:23px;font-weight:700}
#panorama a.aip-dimlabel-costlink text{fill:#34d399}
#panorama a.aip-dimlabel:hover text,#panorama a.aip-dimlabel.aip-on text{fill:var(--aip-cyan)}
#panorama a.aip-dimlabel.aip-on .aip-labhit{fill:rgba(79,209,232,.1);stroke:rgba(79,209,232,.6)}
#panorama a.aip-dimlabel:focus-visible .aip-labhit,#panorama a.aip-dot:focus-visible .aip-halo{stroke:var(--aip-violet);stroke-width:3;fill:transparent;opacity:1}
#panorama a.aip-dimlabel:focus-visible,#panorama a.aip-dot:focus-visible{outline:none}
#panorama .aip-hit{fill:transparent;stroke:none}
#panorama .aip-halo{fill:rgba(79,209,232,.18);stroke:none;opacity:0}
#panorama .aip-core{stroke-width:2.5}
#panorama .aip-dot{cursor:pointer;transition:opacity .2s}
#panorama .aip-dot.aip-baseline .aip-core{fill:#0b1a2a;stroke:#4fd1e8;stroke-width:2.5}
#panorama .aip-dot.aip-new .aip-core{fill:#7ee8fa;stroke:#e6fbff;stroke-width:2.5}
#panorama .aip-dot.aip-new .aip-halo{opacity:1}
#panorama .aip-dot.aip-carried .aip-core{fill:#6d5bb8;stroke:none}
#panorama .aip-dot.aip-costdot .aip-core{fill:#34d399;stroke:#d1fae5;stroke-width:2.5}
#panorama a.aip-dot:hover .aip-halo{opacity:1}
#panorama a.aip-dot.aip-on .aip-halo{opacity:1;fill:rgba(79,209,232,.3);stroke:#e6fbff;stroke-width:2}
#panorama a.aip-dot.aip-on .aip-core{fill:#e6fbff}
#panorama .aip-focus a.aip-dot:not(.aip-lit){opacity:.28}
#panorama .aip-hubc{fill:#0f1530;stroke:rgba(167,139,250,.75);stroke-width:2}
#panorama .aip-hubt{fill:var(--aip-text);font-size:20px;font-weight:700}
#panorama .aip-hint{text-align:center;margin:4px 0 0;font-size:.82rem}
/* mobile-size 44px dimension chips, only in narrow modules */
#panorama .aip-chips{display:none;flex-wrap:wrap;gap:8px;margin:12px 0 0}
#panorama .aip-chipbtn{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--aip-line);border-radius:22px;color:var(--aip-text);text-decoration:none;font-size:.9rem;background:rgba(13,21,38,.8)}
#panorama .aip-chipbtn.aip-on{border-color:var(--aip-cyan);color:var(--aip-cyan)}
/* selection panel */
#panorama .aip-pick{margin-top:14px;border:1px solid rgba(79,209,232,.5);border-radius:14px;padding:12px 14px;background:rgba(10,30,44,.55);scroll-margin-top:16px}
#panorama .aip-pickbar{display:flex;justify-content:space-between;align-items:center;gap:8px}
#panorama .aip-pickbar .aip-h2{margin:0}
#panorama .aip-close{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;font-size:.88rem}
#panorama .aip-fact.aip-sel{border-left-color:var(--aip-cyan);box-shadow:0 0 0 1px rgba(79,209,232,.55),0 0 24px rgba(79,209,232,.15)}
#panorama .aip-costsec.aip-sel{border-color:#34d399;box-shadow:0 0 22px rgba(52,211,153,.18)}
#panorama .aip-allfacts{margin-top:18px;border-top:1px solid var(--aip-line);padding-top:8px}
#panorama .aip-allfacts>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--aip-cyan);font-weight:600}
/* cost card */
#panorama .aip-costsec .aip-h2{margin:0 0 4px}
#panorama .aip-costgrid{display:grid;grid-template-columns:1fr;gap:10px}
#panorama .aip-costfig{padding:6px 6px 0}
#panorama .aip-cost{display:block;width:100%;height:auto}
#panorama .aip-ctick{font-size:11px;fill:var(--aip-muted)}#panorama .aip-cval{font-size:12.5px}
#panorama .aip-costhead{font-size:.85rem}
@container aip (min-width:860px){
 #panorama .aip-main{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:26px;align-items:start}
}
#panorama a.aip-dimlabel text.aip-ls{display:none;font-size:34px}
@container aip (max-width:560px){
 #panorama a.aip-dimlabel text.aip-lf{display:none}
 #panorama a.aip-dimlabel text.aip-ls{display:inline}
 #panorama .aip-ctick{font-size:13px}#panorama .aip-cval{font-size:14px}
 #panorama .aip-chips{display:flex}
 #panorama .aip-legend{font-size:.8rem}
}
#panorama .aip-chipall{border-color:rgba(167,139,250,.6)}
#panorama .aip-dot.aip-costhist .aip-core{fill:#1f6e55;stroke:#34d399}
