@layer base{:root{--ib-shell-padding: 1.25rem;--ib-panel-gap: 1.5rem;--ib-touch-target: 2.75rem;--ib-side-panel-width: min(420px, calc(100vw - 2rem) );--ib-transition-fast: .15s;--ib-transition-normal: .25s}}.graph3d-side-card{position:absolute;top:16px;left:16px;right:auto;width:min(420px,calc(100% - 32px));max-height:calc(100% - 32px);display:flex;flex-direction:column;gap:16px;padding:18px 20px 22px;border-radius:var(--radius-box);background:oklch(var(--b1) / .95);backdrop-filter:blur(12px);border:1px solid oklch(var(--bc) / .15);box-shadow:0 25px 50px -12px oklch(var(--b1) / .4);z-index:1100;pointer-events:auto;color:oklch(var(--bc));box-sizing:border-box}.graph3d-side-card__search{width:100%}.graph3d-side-card__summary{display:flex;flex-direction:column;gap:8px}.graph3d-side-card__tag{align-self:flex-start;padding:4px 12px;border-radius:999px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;background:#3b82f626;border:1px solid rgba(96,165,250,.25)}.graph3d-side-card__title{margin:0;font-size:1.35rem;line-height:1.3}.graph3d-side-card__description{margin:0;font-size:.95rem;color:#e2e8f0d9}.graph3d-side-card__meta{display:flex;gap:12px;flex-wrap:wrap;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8d9}.graph3d-side-card__actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.graph3d-action-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border-radius:18px;border:1px solid rgba(51,65,85,.45);background:#1e293bb3;color:inherit;cursor:pointer;font-size:.78rem;transition:background .15s ease,transform .15s ease}.graph3d-action-btn:disabled{opacity:.4;cursor:not-allowed}.graph3d-action-btn:not(:disabled):hover{background:#3b82f62e;transform:translateY(-2px)}.graph3d-action-btn.is-active{background:#3b82f640;border-color:#3b82f680;box-shadow:0 0 8px #3b82f64d}.graph3d-action-btn__icon{font-size:1.1rem}.graph3d-action-btn__label{font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.graph3d-side-card__insights{border-radius:24px;border:1px solid rgba(71,85,105,.4);background:#0f172ad9;box-shadow:inset 0 1px #f8fafc05;padding:16px 18px;display:flex;flex-direction:column;gap:12px}.graph3d-side-card__insights-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.graph3d-side-card__insights-title{font-size:1.05rem;font-weight:600;display:block;line-height:1.3}.graph3d-side-card__insights-kind{margin-top:6px;padding:4px 10px;font-size:.75rem;border-radius:999px;display:inline-flex;align-items:center;font-weight:600}.graph3d-side-card__insights-kind--cluster{background:#0ea5e926;border:1px solid rgba(56,189,248,.35);color:#bae6fd}.graph3d-side-card__insights-kind--government{background:#fbbf2426;border:1px solid rgba(251,191,36,.35);color:#fcd34d}.graph3d-side-card__insights-kind--civil{background:#f871712e;border:1px solid rgba(239,68,68,.4);color:#fecaca}.graph3d-side-card__insights-kind--industry{background:#3b82f626;border:1px solid rgba(96,165,250,.35);color:#dbeafe}.graph3d-side-card__insights-kind--company{background:#0e74902e;border:1px solid rgba(14,165,233,.35);color:#cce7f5}.graph3d-side-card__insights-kind--academia{background:#22c55e2e;border:1px solid rgba(34,197,94,.35);color:#dcfce7}.graph3d-side-card__insights-kind--individual{background:#6366f12e;border:1px solid rgba(129,140,248,.35);color:#e0e7ff}.graph3d-side-card__insights-kind--default{background:#33415566;border:1px solid rgba(71,85,105,.5);color:#e2e8f0e6}.graph3d-side-card__insights-description{margin:6px 0 0;font-size:.85rem;color:#e2e8f0c7}.graph3d-side-card__close{border:none;background:#0f172aa6;color:#e2e8f0e6;border-radius:12px;width:32px;height:32px;cursor:pointer}.graph3d-side-card__infobox .infobox-tabs{padding:0;border-bottom:1px solid rgba(71,85,105,.35)}.graph3d-side-card__infobox .infobox-tab{background:transparent}.graph3d-side-card__infobox{flex:1;min-height:0;overflow-y:auto;padding-right:4px}.graph3d-side-card__infobox .infobox-content{padding:16px 0 0}.graph3d-side-card__infobox .infobox-accordion-item{background:#0f172a8c;border-color:#47556959}.graph3d-side-card__cta{width:100%;padding:12px 18px;border-radius:999px;border:none;background:linear-gradient(120deg,#0f766e,#06b6d4);color:#ecfeff;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .15s ease,filter .15s ease}.graph3d-side-card__cta:disabled{opacity:.45;cursor:not-allowed;background:#33415580}.graph3d-side-card__cta:not(:disabled):hover{transform:translateY(-1px);filter:brightness(1.1)}.graph3d-side-card--2d{right:auto}@media(min-width:640px)and (max-width:1023px){.graph3d-side-card{width:min(340px,45vw)}}@media(max-width:639px){.graph3d-side-card{display:none}}.voice-nav-overlay{position:absolute;bottom:16px;right:16px;z-index:1100;pointer-events:auto}@media(min-width:640px)and (max-width:1023px){.voice-nav-overlay{bottom:12px;right:12px}}@media(max-width:639px){.voice-nav-overlay{display:none}}.settings-box input[type=range]{-webkit-appearance:none;appearance:none}@layer base{:root{--ib-shell-padding: 1.25rem;--ib-panel-gap: 1.5rem;--ib-touch-target: 2.75rem;--ib-side-panel-width: min(420px, calc(100vw - 2rem) );--ib-transition-fast: .15s;--ib-transition-normal: .25s}}@media(max-width:1023px){:root{--ib-shell-padding: 1rem;--ib-panel-gap: 1rem;--ib-side-panel-width: min(340px, 45vw)}}@media(max-width:639px){:root{--ib-shell-padding: .75rem;--ib-panel-gap: .75rem;--ib-side-panel-width: 100%}}.graph-legend{position:absolute;left:2%;bottom:50%;transform:translateY(50%);display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:var(--radius-box);background:oklch(var(--b1) / .72);border:1px solid oklch(var(--bc) / .2);color:oklch(var(--bc));pointer-events:none;z-index:5;max-width:220px}.graph-legend--mobile{position:fixed;left:12px;bottom:12px;z-index:30;pointer-events:auto}.graph-legend--mobile-content{position:fixed;left:12px;bottom:56px;z-index:30;pointer-events:auto}.graph-legend-hint{margin:0;font-size:.8rem;color:oklch(var(--bc) / .7);line-height:1.4}.graph-legend-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.graph-legend-item{display:flex;align-items:center;gap:10px}.graph-legend-dot{width:20px;height:20px;border-radius:50%;box-shadow:0 0 6px oklch(var(--bc) / .25)}.graph-legend-label{color:oklch(var(--bc));font-weight:500;font-size:.9rem}@media(max-width:639px){.graph-legend{display:none}}.graph-legend-hint--touch{display:none}@media(pointer:coarse){.graph-legend-hint--touch{display:block}.graph-legend-hint--mouse{display:none}}.infobox-overlay{position:fixed;inset:0;background:#020617a6;display:flex;justify-content:flex-end;padding:24px;z-index:1200}.infobox-embedded{width:min(360px,100%);pointer-events:auto}.infobox-panel{width:min(520px,100%);height:100%;background:#060814fa;border-radius:24px;border:1px solid rgba(148,163,184,.18);box-shadow:-24px 0 48px #0f172a73;display:flex;flex-direction:column;overflow:hidden;color:#e2e8f0}.infobox-panel.infobox-panel--embedded{width:min(320px,100%);height:auto;max-height:calc(100dvh - 32px);box-shadow:0 18px 40px #02061759}.infobox-panel--embedded{position:absolute;top:0;left:0;bottom:0;width:min(320px,100%);height:auto;border-radius:0;border-right:1px solid rgba(148,163,184,.18);border-top:none;border-bottom:none;box-shadow:12px 0 24px #0f172a4d;background:#060814e6;backdrop-filter:blur(12px);z-index:10}.infobox-panel--compact .infobox-tabs,.infobox-panel--compact .infobox-content{padding-top:18px}.infobox-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 28px 16px;border-bottom:1px solid rgba(148,163,184,.15)}.infobox-header-main{display:flex;flex-direction:column;gap:12px;max-width:calc(100% - 48px)}.infobox-title{margin:0;font-size:1.35rem;line-height:1.4;font-weight:700;color:#f8fafc}.infobox-description{margin:0;font-size:.95rem;color:#e2e8f0bf}.infobox-close{border:none;background:#0f172a99;width:36px;height:36px;border-radius:12px;color:#f8fafce6;font-size:1.2rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .2s ease}.infobox-close:hover,.infobox-close:focus-visible{background:#1e293bbf;outline:none}.infobox-tabs{display:flex;gap:8px;padding:12px 24px;border-bottom:1px solid rgba(148,163,184,.15)}.infobox-tab{background:#1e293b99;border:1px solid transparent;border-radius:999px;color:#e2e8f0cc;padding:8px 16px;font-size:.85rem;letter-spacing:.02em;cursor:pointer;transition:all .2s ease}.infobox-tab:hover,.infobox-tab:focus-visible{color:#f8fafc;border-color:#94a3b866;outline:none}.infobox-tab.is-active{background:linear-gradient(120deg,#3b82f640,#0ea5e959);color:#f8fafc;border-color:#94a3b859}.infobox-content{flex:1;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.infobox-empty{margin:0;color:#94a3b8bf;font-size:.95rem}.infobox-accordion{display:flex;flex-direction:column;gap:16px}.infobox-accordion-item{background:#0f172abf;border:1px solid rgba(148,163,184,.18);border-radius:16px;padding:12px 16px}.infobox-accordion-item summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-weight:600;color:#f8fafc}.infobox-accordion-item[open] summary{margin-bottom:12px}.infobox-accordion-text{color:#e2e8f0d9;font-size:.82rem;line-height:1.45;margin:0}.infobox-quote-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.infobox-quote{background:#0f172a99;border-radius:12px;padding:12px 16px;border-left:3px solid rgba(59,130,246,.55)}.infobox-quote blockquote{margin:0 0 8px;color:#e2e8f0eb;font-style:italic}.infobox-quote figcaption{margin:0;color:#94a3b8cc;font-size:.75rem}.infobox-link{border:none;background:none;color:#38bdf8e6;font-size:.85rem;cursor:pointer;text-decoration:underline}.infobox-link:hover,.infobox-link:focus-visible{color:#0ea5e9;outline:none}.badge{display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;padding:6px 12px;border-radius:999px;background:#94a3b82e;color:#e2e8f0d9;width:fit-content}.badge--primary{background:#3b82f62e;color:#93c5fdf2}.badge--danger{background:#f871712e;color:#fca5a5f2}.badge--warning{background:#fbbf2433;color:#fde68af2}.badge--success{background:#22c55e33;color:#bbf7d0f2}.badge--info{background:#0ea5e933;color:#7dd3fcf2}.tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.75rem;letter-spacing:.05em;color:#e2e8f0d9;background:#94a3b826}.tag--primary{background:#3b82f638;color:#93c5fdf2}.tag--success{background:#22c55e38;color:#bbf7d0f2}.tag--warning{background:#fbbf243d;color:#fde68af2}.tag--danger{background:#f871713d;color:#fca5a5f2}@media(max-width:768px){.infobox-overlay{padding:0}.infobox-panel{width:100%;border-radius:0}.infobox-content{padding:16px}}.graph-node-search{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:12px;background:#0f172ad1;backdrop-filter:blur(10px);color:#e2e8f0;width:100%;box-shadow:0 10px 28px #0206174d}.graph-node-search__label{display:flex;flex-direction:column;gap:2px;cursor:text}.graph-node-search__title{font-size:.95rem;font-weight:600;letter-spacing:.02em}.graph-node-search__subtitle{font-size:.75rem;color:#94a3b8e6}.graph-node-search__input-wrapper{position:relative;display:flex;align-items:center}.graph-node-search__icon{position:absolute;left:12px;font-size:.9rem}.graph-node-search__input{width:100%;padding:10px 12px 10px 34px;border-radius:8px;border:1px solid rgba(148,163,184,.4);background:#0f172ae6;color:#f8fafc;font-size:.86rem;outline:none;transition:border .15s ease,box-shadow .15s ease}.graph-node-search__input:focus{border-color:#60a5fae6;box-shadow:0 0 0 3px #2563eb40}.graph-node-search__results{list-style:none;margin:0;padding:4px;border-radius:10px;background:#020617e6;border:1px solid rgba(51,65,85,.65);max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.graph-node-search__result{padding:8px 10px;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:4px}.graph-node-search__result--active,.graph-node-search__result:hover{background:#1e40af59}.graph-node-search__result-label{font-size:.86rem;font-weight:600}.graph-node-search__result-type{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8e6}.graph-node-search__result-detail{font-size:.73rem;color:#94a3b8cc}.graph-node-search__empty{padding:10px 12px;border-radius:10px;background:#020617cc;border:1px dashed rgba(148,163,184,.4);font-size:.75rem;color:#94a3b8e6}@media(max-width:768px){.graph-node-search{width:100%}}
