/* assets/chuyengia3d.css — Mạng lưới chuyên gia 3D (prefix cg3-) */
.cg3-root{display:flex;gap:14px;align-items:stretch;height:620px;max-height:78vh}
.cg3-root:fullscreen{height:100vh;max-height:100vh;background:#0b1220;padding:14px}
.cg3-stage{position:relative;flex:1;min-width:0;background:radial-gradient(circle at 50% 40%,#fbfdff,#eef3f9 75%);border:1px solid #e3e9f0;border-radius:16px;overflow:hidden;cursor:grab}
.cg3-root:fullscreen .cg3-stage{background:radial-gradient(circle at 50% 40%,#16243e,#0b1220 78%)}
.cg3-canvas{display:block;width:100%;height:100%}
.cg3-empty{padding:40px;text-align:center;color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:14px}
.cg3-tools{position:absolute;top:12px;right:12px;display:flex;gap:6px;opacity:.62;transition:opacity .18s}
.cg3-tools:hover{opacity:1}
.cg3-tools button{width:34px;height:34px;border:1px solid #e3e9f0;background:rgba(255,255,255,.96);border-radius:9px;cursor:pointer;font-size:15px;line-height:1;color:#475569;box-shadow:0 2px 8px rgba(8,28,52,.12)}
.cg3-tools button:hover{color:#0d2a47}
.cg3-tools button.on{background:#0d2a47;color:#fff;border-color:#0d2a47}
.cg3-search{position:absolute;top:12px;left:12px}
.cg3-search input{width:190px;height:34px;border:1px solid #e3e9f0;border-radius:9px;padding:0 12px;font-size:13px;background:rgba(255,255,255,.96);box-shadow:0 2px 8px rgba(8,28,52,.1);outline:0}
.cg3-tip{position:absolute;z-index:5;background:#0d2a47;color:#fff;border-radius:10px;padding:9px 12px;max-width:240px;display:flex;flex-direction:column;gap:3px;box-shadow:0 8px 24px rgba(0,0,0,.3);pointer-events:none}
.cg3-tip b{font-size:13.5px;line-height:1.35}.cg3-tip span{font-size:11.5px;opacity:.92}.cg3-tip .g{font-weight:700;opacity:1}
.cg3-side{width:248px;flex:none;display:flex;flex-direction:column;gap:12px;overflow:auto}
.cg3-root:fullscreen .cg3-side{background:rgba(255,255,255,.04);border-radius:14px;padding:12px}
.cg3-stat{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cg3-stat>div{background:#fff;border:1px solid #e3e9f0;border-radius:11px;padding:10px 6px;text-align:center}
.cg3-stat b{display:block;font-size:19px;font-weight:800;color:#0d2a47;line-height:1}
.cg3-stat span{font-size:11px;color:#64748b}
.cg3-leg-t{font-size:11.5px;font-weight:800;color:#0d2a47;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.cg3-leg{display:flex;flex-direction:column;gap:5px}
.cg3-leg-it{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:#fff;border:1px solid #e8eef4;border-radius:9px;padding:8px 11px;font-size:12.5px;color:#334155;cursor:pointer;transition:.14s}
.cg3-leg-it:hover{border-color:#cbd5e1}
.cg3-leg-it.on{background:#0d2a47;color:#fff;border-color:#0d2a47}
.cg3-leg-it .d{width:11px;height:11px;border-radius:50%;flex:none}
.cg3-leg-it i{margin-left:auto;font-style:normal;font-weight:800;font-size:12px;opacity:.85}
.cg3-hint{font-size:11.5px;color:#94a3b8;line-height:1.55;margin-top:auto}
.cg3-root:fullscreen .cg3-stat>div,.cg3-root:fullscreen .cg3-leg-it{background:rgba(255,255,255,.96)}
@media(max-width:820px){.cg3-root{flex-direction:column;height:auto}.cg3-stage{height:62vh}.cg3-side{width:100%}.cg3-stat{grid-template-columns:repeat(3,1fr)}.cg3-leg{flex-direction:row;flex-wrap:wrap}.cg3-leg-it{width:auto}.cg3-leg-it i{margin-left:6px}}
