@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');

:root{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px;--bg:#f3f3f3;--surface:#fff;--surface-raised:#fafafa;--text:#0d0f10;--muted:#55585b;--subtle:#5f6265;--line:#e0e0e0;--line-strong:#b5b8ba;--accent:#0d0f10;--accent-soft:#e4e4e4;--physical:#3e4144;--digital:#8a8d90;--connector:#1a1a1a;--shadow:0 14px 45px #0000000d;--map-ocean:#f7f7f7;--map-land:#dedede;--map-active:#9a9d9f;color-scheme:light}
:root[data-theme=carbon]{--bg:#0d0f10;--surface:#121416;--surface-raised:#181b1e;--text:#f3f3f3;--muted:#b9b9b9;--subtle:#9a9d9f;--line:#26292c;--line-strong:#45494d;--accent:#f3f3f3;--accent-soft:#2a2d30;--physical:#d0d0d0;--digital:#8a8d90;--connector:#ffffff;--shadow:0 14px 45px #0006;--map-ocean:#111315;--map-land:#2a2d30;--map-active:#6b6f73;color-scheme:dark}:root[data-theme=tokyo]{--bg:#1a1b26;--surface:#1f2335;--surface-raised:#24283b;--text:#c0caf5;--muted:#a9b1d6;--subtle:#8a93bd;--line:#292e42;--line-strong:#414868;--accent:#7aa2f7;--accent-soft:#2a3555;--physical:#7dcfff;--digital:#9ece6a;--connector:#e0af68;--shadow:0 14px 45px #0005;--map-ocean:#16161e;--map-land:#292e42;--map-active:#3d59a1;color-scheme:dark}:root[data-theme=gruvbox]{--bg:#1d2021;--surface:#282828;--surface-raised:#32302f;--text:#ebdbb2;--muted:#d5c4a1;--subtle:#a89984;--line:#3c3836;--line-strong:#665c54;--accent:#fabd2f;--accent-soft:#4a3f1c;--physical:#83a598;--digital:#b8bb26;--connector:#fe8019;--shadow:0 14px 45px #0005;--map-ocean:#1d2021;--map-land:#3c3836;--map-active:#79740e;color-scheme:dark}:root[data-theme=solarized]{--bg:#fdf6e3;--surface:#fffbef;--surface-raised:#eee8d5;--text:#073642;--muted:#586e75;--subtle:#586e75;--line:#e6dfc8;--line-strong:#c9c1a6;--accent:#1f6fa8;--accent-soft:#dcebf5;--physical:#268bd2;--digital:#2aa198;--connector:#b58900;--shadow:0 14px 45px #07364214;--map-ocean:#f5eedb;--map-land:#e4dcc3;--map-active:#93a1a1;color-scheme:light}
:root[data-theme=dracula]{--bg:#282a36;--surface:#2b2d3a;--surface-raised:#343746;--text:#f8f8f2;--muted:#cfd0dc;--subtle:#a4a8c4;--line:#3a3c4e;--line-strong:#565970;--accent:#bd93f9;--accent-soft:#3d3558;--physical:#8be9fd;--digital:#50fa7b;--connector:#ffb86c;--shadow:0 14px 45px #0006;--map-ocean:#21222c;--map-land:#3a3c4e;--map-active:#6f5aa8;color-scheme:dark}:root[data-theme=nord]{--bg:#2e3440;--surface:#323947;--surface-raised:#3b4252;--text:#eceff4;--muted:#d8dee9;--subtle:#a3adbf;--line:#3f4758;--line-strong:#5a6377;--accent:#88c0d0;--accent-soft:#3a4d5a;--physical:#81a1c1;--digital:#a3be8c;--connector:#ebcb8b;--shadow:0 14px 45px #0005;--map-ocean:#2a2f3a;--map-land:#3b4252;--map-active:#5e81ac;color-scheme:dark}:root[data-theme=catppuccin]{--bg:#1e1e2e;--surface:#232334;--surface-raised:#2a2b3c;--text:#cdd6f4;--muted:#bac2de;--subtle:#9399b2;--line:#313244;--line-strong:#45475a;--accent:#cba6f7;--accent-soft:#3b3352;--physical:#89b4fa;--digital:#a6e3a1;--connector:#fab387;--shadow:0 14px 45px #0005;--map-ocean:#181825;--map-land:#313244;--map-active:#7f6bb0;color-scheme:dark}:root[data-theme=onedark]{--bg:#282c34;--surface:#2c313a;--surface-raised:#333842;--text:#dcdfe4;--muted:#abb2bf;--subtle:#8b929e;--line:#3a3f4b;--line-strong:#4f5666;--accent:#61afef;--accent-soft:#2f4258;--physical:#56b6c2;--digital:#98c379;--connector:#e5c07b;--shadow:0 14px 45px #0005;--map-ocean:#21252b;--map-land:#3a3f4b;--map-active:#3f6e98;color-scheme:dark}:root[data-theme=monokai]{--bg:#272822;--surface:#2d2e27;--surface-raised:#35362f;--text:#f8f8f2;--muted:#cfcfc2;--subtle:#a59f85;--line:#3e3d32;--line-strong:#5b5a4c;--accent:#a6e22e;--accent-soft:#3c4a22;--physical:#66d9ef;--digital:#ae81ff;--connector:#fd971f;--shadow:0 14px 45px #0006;--map-ocean:#1f201b;--map-land:#3e3d32;--map-active:#6a8c22;color-scheme:dark}:root[data-theme=rosepine]{--bg:#191724;--surface:#1f1d2e;--surface-raised:#26233a;--text:#e0def4;--muted:#c4c0dc;--subtle:#908caa;--line:#2a2739;--line-strong:#403d52;--accent:#ebbcba;--accent-soft:#3d2d38;--physical:#9ccfd8;--digital:#31748f;--connector:#f6c177;--shadow:0 14px 45px #0006;--map-ocean:#16141f;--map-land:#26233a;--map-active:#8a5f6a;color-scheme:dark}:root[data-theme=everforest]{--bg:#2d353b;--surface:#323c41;--surface-raised:#3a464c;--text:#d3c6aa;--muted:#c5b997;--subtle:#9da9a0;--line:#414b50;--line-strong:#56635f;--accent:#a7c080;--accent-soft:#3e4a3a;--physical:#7fbbb3;--digital:#83c092;--connector:#dbbc7f;--shadow:0 14px 45px #0005;--map-ocean:#272e33;--map-land:#414b50;--map-active:#6a7f4f;color-scheme:dark}:root[data-theme=raycast]{--bg:#0f0f10;--surface:#161618;--surface-raised:#1d1d20;--text:#ededed;--muted:#c3c3c6;--subtle:#9c9c9d;--line:#26262a;--line-strong:#3c3c41;--accent:#ff6363;--accent-soft:#3a1d1e;--physical:#56c2ff;--digital:#59d499;--connector:#ffc531;--shadow:0 14px 45px #0008;--map-ocean:#0b0b0c;--map-land:#26262a;--map-active:#b0474a;color-scheme:dark}:root[data-theme=github-dark]{--bg:#0d1117;--surface:#151b23;--surface-raised:#1c2330;--text:#e6edf3;--muted:#c2cad3;--subtle:#9198a1;--line:#262c36;--line-strong:#3d444d;--accent:#58a6ff;--accent-soft:#1c3150;--physical:#79c0ff;--digital:#3fb950;--connector:#d29922;--shadow:0 14px 45px #0007;--map-ocean:#010409;--map-land:#262c36;--map-active:#1f6feb;color-scheme:dark}:root[data-theme=github-light]{--bg:#f6f8fa;--surface:#ffffff;--surface-raised:#f6f8fa;--text:#1f2328;--muted:#59636e;--subtle:#59636e;--line:#d1d9e0;--line-strong:#b6c0ca;--accent:#0969da;--accent-soft:#ddf4ff;--physical:#0550ae;--digital:#1a7f37;--connector:#9a6700;--shadow:0 14px 45px #1f232812;--map-ocean:#f6f8fa;--map-land:#dde3e9;--map-active:#54aeff;color-scheme:light}:root[data-theme=latte]{--bg:#eff1f5;--surface:#f7f8fb;--surface-raised:#e6e9ef;--text:#4c4f69;--muted:#5c5f77;--subtle:#5f6278;--line:#dce0e8;--line-strong:#bcc0cc;--accent:#8839ef;--accent-soft:#ebe0fc;--physical:#1e66f5;--digital:#40a02b;--connector:#df8e1d;--shadow:0 14px 45px #4c4f6914;--map-ocean:#e9ecf2;--map-land:#d5d9e2;--map-active:#a77ef2;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button{touch-action:manipulation}a{color:var(--accent)}button,input,select,textarea{border-radius:6px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:focus:not(:focus-visible),h1:focus,h2:focus{outline:none}a{text-underline-offset:3px}button{border:0;background:transparent}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:Manrope,'DM Sans',sans-serif}h1{font-size:30px;line-height:1.2;font-weight:650;letter-spacing:-1px;margin:8px 0}h2{font-size:21px;letter-spacing:-.5px;font-weight:650}h3{font-size:16px;font-weight:650}h4{font-size:14px}p{line-height:1.65}button,select,a{transition:background-color .12s,border-color .12s}::selection{background:var(--accent-soft);color:var(--text)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;white-space:nowrap}.skip-link{position:fixed;top:-80px;left:15px;background:var(--accent);color:var(--bg);z-index:1000;padding:14px;border-radius:6px}.skip-link:focus{top:10px}.small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.6px;color:var(--muted);line-height:1.5}.row{display:flex;gap:12px;align-items:center;justify-content:space-between}.count{font-family:'DM Sans',sans-serif;color:var(--muted);font-size:13px;font-weight:400;padding-left:7px}.pill{display:inline-flex;align-items:center;border:1px solid var(--line);padding:3px 7px;font-size:10px;line-height:1.4;border-radius:4px;color:var(--muted);white-space:normal}.pill.role-provider,.pill.role-operator{color:var(--accent);background:var(--accent-soft);border-color:transparent}.pill.role-customer,.pill.role-internal_developer{color:var(--connector)}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--surface);border:1px solid var(--line);padding:9px 13px;font-size:12px;font-weight:550;min-height:36px;text-decoration:none}.button:hover{background:var(--surface-raised);border-color:var(--line-strong)}.button.primary{color:var(--bg);background:var(--accent);border-color:var(--accent)}.text-button{padding:4px 0;color:var(--accent);font-size:12px;text-align:left}.icon-button{width:36px;height:36px;display:inline-grid;place-items:center;font-size:21px;border:1px solid var(--line);flex-shrink:0}.icon-button:hover{background:var(--surface-raised)}.card{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:20px}.prose{max-width:900px}.empty{padding:32px;text-align:center;color:var(--muted);line-height:1.7}.empty small{display:block}.loading,.fatal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:20px;padding:30px;text-align:center}.loading-mark{border:1px solid var(--line);border-radius:12px;width:64px;height:64px;display:grid;place-items:center;font-size:24px;color:var(--accent)}
.app-header{height:84px;display:flex;align-items:center;gap:30px;padding:0 36px;border-bottom:1px solid var(--line);background:var(--surface)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--text);flex-shrink:0}.brand-mark{position:relative;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line-strong);border-radius:9px;font-size:15px;font-weight:650;letter-spacing:-1px}.brand-mark span{position:absolute;width:6px;height:6px;background:var(--accent);border-radius:50%;right:5px;bottom:5px}.brand-owner{display:block;font-size:10px;letter-spacing:1.2px;color:var(--muted);text-transform:uppercase;margin-bottom:4px}.brand strong{font:650 16px Manrope,sans-serif;letter-spacing:-.4px}.search-trigger{display:flex;align-items:center;gap:10px;max-width:430px;flex:1;margin-left:auto;padding:10px 13px;text-align:left;border:1px solid var(--line);background:var(--bg);color:var(--muted);font-size:12px}.search-trigger kbd{margin-left:auto;font-family:inherit;font-size:10px;border:1px solid var(--line);border-radius:4px;padding:3px 5px;white-space:nowrap}.search-icon{font-size:24px;line-height:18px}.header-actions{display:flex;gap:16px;align-items:center}.language-button{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:650;color:var(--subtle);padding:6px}.language-button .active{color:var(--text);border-bottom:1px solid var(--accent);padding-bottom:3px}.header-actions .icon-button{border:0}.view-nav{height:58px;display:flex;gap:24px;padding:0 36px;align-items:stretch;background:var(--surface);border-bottom:1px solid var(--line);overflow:auto;scrollbar-width:none}.view-nav button{position:relative;display:flex;align-items:center;gap:8px;padding:0 1px;white-space:nowrap;border-radius:0;font-size:12px;font-weight:500;color:var(--muted)}.view-nav button:hover{color:var(--text)}.view-nav button.active{color:var(--text);font-weight:650}.view-nav button.active:after{position:absolute;content:'';height:2px;background:var(--accent);bottom:0;left:0;right:0}.workspace{display:flex;align-items:flex-start;min-width:0;background:var(--bg)}.workspace-main{min-width:0;flex:1;padding:34px 36px 36px}.view-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.view-heading p{margin:0;color:var(--muted);font-size:13px;max-width:720px}.focus-button{white-space:nowrap;font-size:11px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.field{display:block;min-width:0}.field select{font-size:11px;background:var(--surface);border:1px solid var(--line);color:var(--text);padding:9px 27px 9px 11px;max-width:210px;min-height:35px}.filters .text-button{margin-left:auto;padding:6px;font-size:11px;color:var(--muted)}.canvas-shell{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.canvas-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line);background:var(--surface)}.map-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:10px;color:var(--muted)}.map-legend span{display:flex;align-items:center;gap:6px}.dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:currentColor}.fisico{--layer:var(--physical)}.digital{--layer:var(--digital)}.bisagra{--layer:var(--connector)}.dot.fisico{background:var(--physical)}.dot.digital{background:var(--digital)}.dot.bisagra{background:var(--connector)}.canvas-controls{display:flex;align-items:center;gap:4px;flex-shrink:0}.canvas-controls button{min-width:28px;min-height:28px;font-size:13px;padding:4px 7px;border:1px solid var(--line)}.canvas-controls button:hover{background:var(--bg)}.canvas-controls output{font-size:10px;min-width:36px;text-align:center;color:var(--muted);font-variant-numeric:tabular-nums}.canvas-viewport{position:relative;height:560px;max-height:65vh;min-height:320px;overflow:auto;overscroll-behavior:contain;cursor:grab;background-image:radial-gradient(var(--line) .7px,transparent .7px);background-size:18px 18px;scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin}.canvas-viewport.dragging{cursor:grabbing;user-select:none}.map-surface{width:max-content;min-width:100%;transform-origin:0 0;padding:24px}.map-surface:has(svg){padding:0}.chain-map{display:flex;gap:18px;align-items:flex-start;min-width:1640px}.stage-column{width:260px;min-width:0;flex-shrink:0}.column-heading{display:flex;gap:10px;align-items:center;margin-bottom:17px;padding:3px 0 12px;border-bottom:1px solid var(--line)}.column-heading h2{font-size:13px;font-weight:650;margin:0;letter-spacing:-.1px;line-height:1.5}.column-number{font-size:10px;color:var(--subtle);font-variant-numeric:tabular-nums}.column-arrow{color:var(--subtle);margin-left:auto}.segment-stack{display:flex;flex-direction:column;gap:9px}.segment-card{text-align:left;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:14px 14px 10px;display:flex;flex-direction:column;gap:7px;min-height:94px}.segment-card:hover{background:var(--surface-raised);border-color:var(--layer);box-shadow:0 3px 12px #00000008}.segment-label{display:block;font-family:Manrope,sans-serif;font-size:13px;font-weight:650;line-height:1.55;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:break-word}.segment-participants{font-size:10px;color:var(--muted);line-height:1.6;white-space:normal}.segment-card-footer{display:flex;justify-content:space-between;align-items:center;color:var(--subtle);font-size:9px;margin-top:2px}.segment-card-footer>span:last-child{font-size:13px;color:var(--layer)}.dimmed{opacity:.4}.layer-map{display:grid;grid-template-columns:repeat(5,400px);gap:24px}.layer-map .stage-column{width:auto}.layer-map .segment-stack{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.layer-map .segment-card{height:100%;min-height:120px}.layer-map .column-heading{border-bottom-color:var(--layer);padding-bottom:16px}.layer-map .column-heading h2{font-size:15px}.canvas-caption{padding:10px 16px;border-top:1px solid var(--line);font-size:9px;color:var(--muted);display:flex;justify-content:space-between;gap:12px}.node-label{font:500 9px 'DM Sans',sans-serif;fill:var(--text);paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round;pointer-events:none}.company-label{opacity:0;font-size:11px}.company-node:hover .company-label{opacity:1}.company-node:hover circle{r:7}.segment-node:hover circle{stroke:var(--text);stroke-width:2px}.country:hover{fill:var(--accent)}.map-bubble{cursor:pointer}.map-bubble text{font:650 10px 'DM Sans',sans-serif;pointer-events:none}.map-loading{position:absolute;top:45%;left:0;width:100%;text-align:center;color:var(--muted);font-size:12px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:34px 0 16px}.section-heading h2,.section-heading h3{margin:0 0 5px}.section-heading p{font-size:12px;color:var(--muted);margin:0;max-width:650px}.directory-search input{width:280px;max-width:100%;padding:10px 12px;background:var(--surface);color:var(--text);border:1px solid var(--line);font-size:12px}.company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}.company-row{display:flex;align-items:flex-start;gap:11px;text-align:left;padding:16px 14px;border-bottom:1px solid var(--line);border-radius:0;width:100%;min-width:0}.company-grid>.company-row{border-right:1px solid var(--line)}.company-row:hover{background:var(--surface-raised)}.company-logo{display:inline-grid;place-items:center;flex-shrink:0;width:33px;height:33px;background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:-.2px;overflow:hidden}.company-logo img{width:80%;height:80%;object-fit:contain}.company-logo.large{width:70px;height:70px;border-radius:16px;font-size:24px}.company-row-copy{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.company-row-copy strong{font-weight:600;font-size:12px}.company-row-copy>span{font-size:11px;line-height:1.55;color:var(--muted)}.company-row-end{display:flex;align-items:flex-end;flex-direction:column;gap:10px;max-width:90px;flex-shrink:0;color:var(--subtle);font-size:9px}.company-row-end>.pill{font-size:9px}.company-row-end>span:last-child{font-size:14px}.country-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:10px}.country-card{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);background:var(--surface);padding:18px;border-radius:8px;text-align:left}.country-card:hover{border-color:var(--accent)}.country-code{font-size:11px;letter-spacing:2px;color:var(--accent)}.country-card strong{font-size:14px;font-weight:550}.country-card>span:last-of-type{font-size:10px;color:var(--muted)}.country-bars{display:flex;gap:2px;height:3px;width:100%;margin-top:7px}.country-bars i{background:var(--layer);border-radius:2px}
.detail-panel{width:440px;max-width:45vw;flex-shrink:0;background:var(--surface);border-left:1px solid var(--line);position:sticky;top:0;height:100vh;overflow:auto;scrollbar-width:thin;z-index:10}.panel-toolbar{position:sticky;top:0;background:var(--surface);z-index:2;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 23px;border-bottom:1px solid var(--line)}.panel-toolbar .eyebrow{font-size:9px;letter-spacing:1px}.panel-toolbar .icon-button{width:29px;height:29px;font-size:24px;border:0}.panel-body{padding:26px 25px 40px}.panel-body>h2{font-size:28px;line-height:1.32;letter-spacing:-.8px;margin-bottom:20px;overflow-wrap:break-word}.detail-lead{font-size:14px;color:var(--text);line-height:1.75}.detail-section{margin:26px 0;padding-top:23px;border-top:1px solid var(--line)}.detail-section>h3,.panel-body>h3{font-size:13px;margin-bottom:11px}.detail-section>p{font-size:12px;color:var(--muted)}.participant-box{background:var(--bg);padding:15px;border-radius:8px;margin:22px 0}.participant-box h3{font-size:11px;margin-bottom:12px}.participant-chips{display:flex;gap:6px;flex-wrap:wrap}.participant-chips span{font-size:11px;border:1px solid var(--line);padding:5px 8px;border-radius:5px;background:var(--surface);line-height:1.5}.detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:20px 0}.detail-actions .button,.detail-actions .source-link{font-size:11px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.facts>div{padding:12px 0;border-top:1px solid var(--line)}.facts dt{color:var(--muted);font-size:10px;margin-bottom:7px}.facts dd{margin:0;font-size:12px;line-height:1.5}.related-link{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:12px;line-height:1.55;padding:11px 0;text-align:left;border-bottom:1px solid var(--line);border-radius:0;gap:10px;color:var(--accent)}.participation-detail{padding:0 0 17px;margin-bottom:10px}.participation-detail .related-link{margin-bottom:10px}.participation-detail p{font-size:12px;margin:12px 0;color:var(--muted)}details{font-size:12px}summary{cursor:pointer;line-height:1.6}details[open]>summary{margin-bottom:12px}.evidence-details{padding:20px 0;border-top:1px solid var(--line);margin-top:25px}.source-list{display:flex;flex-direction:column;gap:13px}.source-link{font-size:11px;line-height:1.6;overflow-wrap:anywhere;text-decoration:none;display:inline-block}.source-link:hover{text-decoration:underline}.source-status{display:block;font-size:9px;color:var(--subtle);margin-top:3px}.bottleneck{padding:13px;background:var(--bg);margin-bottom:9px;border-radius:4px}.bottleneck p{font-size:12px;color:var(--muted)}.breakdown{margin-bottom:25px}.breakdown button{display:grid;grid-template-columns:1fr auto;gap:7px;width:100%;padding:10px 0;text-align:left;font-size:11px;line-height:1.5}.breakdown i{grid-column:1/-1;height:3px;background:var(--accent);border-radius:2px}.panel-body .company-row{padding-left:0;padding-right:0}.panel-body .card{padding:15px;margin-bottom:10px}.panel-body .card p{font-size:12px}.case-study{padding:15px;background:var(--bg);margin-bottom:10px;border-radius:7px}.case-study h4{font-size:13px}.case-study p{font-size:12px}
.company-hero{display:flex;align-items:flex-start;gap:23px;border-bottom:1px solid var(--line);padding:10px 0 28px}.company-hero-copy{flex:1;min-width:0}.company-hero h2{font-size:36px;letter-spacing:-1.5px;line-height:1.2;margin:7px 0 13px}.company-hero p{font-size:14px;max-width:700px;color:var(--muted);margin:0}.hero-badges{display:flex;gap:6px;margin-top:15px}.hero-actions{display:flex;flex-direction:column;gap:7px}.footprint-summary{display:flex;gap:13px;align-items:center;padding:24px 0;font-size:12px;color:var(--muted)}.footprint-summary strong{font:600 30px Manrope,sans-serif;color:var(--text);letter-spacing:-1px}.footprint-divider{height:25px;width:1px;background:var(--line);margin:0 10px}.footprint-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:start}.footprint-column h3{font-size:11px;padding:0 0 12px;border-bottom:1px solid var(--line);margin-bottom:14px;color:var(--muted);line-height:1.6;min-height:48px}.footprint-card{position:relative;display:flex;flex-direction:column;gap:11px;align-items:flex-start;width:100%;background:var(--surface);border:1px solid var(--line);padding:17px 14px;margin-bottom:12px;text-align:left;border-radius:8px}.footprint-card:hover{border-color:var(--layer)}.footprint-card .eyebrow{font-size:8px;letter-spacing:.8px;color:var(--layer)}.footprint-card strong{font-size:13px;font-weight:600;line-height:1.55}.footprint-card>span:not(.pill):not(.eyebrow){font-size:11px;line-height:1.6;color:var(--muted)}.footprint-core{display:block;padding-top:10px;border-top:1px solid var(--line);width:100%;font-size:9px!important}.footprint-absent{font-size:10px;line-height:1.6;color:var(--subtle);border:1px dashed var(--line);border-radius:6px;padding:20px 14px}.method-note{font-size:11px;color:var(--muted);max-width:1000px;line-height:1.7;margin-top:25px}.quick-companies{display:flex;gap:8px;flex-wrap:wrap}.research-toolbar{display:flex;justify-content:space-between;align-items:center;margin:10px 0 25px;gap:15px}.research-toolbar p{margin:0;font-size:12px;color:var(--muted)}.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.comparison-grid .card{position:relative;font-size:12px;line-height:1.7}.comparison-grid .card h3{margin:15px 0 10px}.comparison-grid .card h3 .text-button{font-size:18px}.comparison-grid h4{margin-top:24px;font-size:11px;color:var(--muted)}.remove-compare{float:right;font-size:10px;color:var(--muted)}.compare-stage{display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;font-size:11px;line-height:1.5;width:100%;padding:12px 0;border-top:1px solid var(--line);border-radius:0}.compare-stage small{color:var(--muted)}.notebook-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}.research-card>.company-row{padding:0 0 15px;margin-bottom:18px}.research-card label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:var(--muted);margin-bottom:17px}.research-card textarea{width:100%;resize:vertical;border:1px solid var(--line);background:var(--bg);color:var(--text);padding:11px;font-size:12px;line-height:1.65;min-height:80px}
.search-dialog{width:650px;max-width:calc(100vw - 28px);max-height:min(720px,85vh);padding:0;margin:10vh auto 0;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface);color:var(--text);box-shadow:0 30px 100px #0006;overflow:hidden}.search-dialog::backdrop{background:#07181c88;backdrop-filter:blur(5px)}.search-dialog-top{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--line)}.search-dialog-top>span{font-size:30px;color:var(--accent)}.search-dialog-top input{border:0;background:transparent;outline:none;color:var(--text);font-size:16px;flex:1;min-width:0;height:40px}.search-dialog-top .icon-button{border:0;font-size:24px}.search-hint{font-size:11px;color:var(--muted);padding:13px 20px;border-bottom:1px solid var(--line);line-height:1.6}.search-results{overflow:auto;max-height:50vh;padding:7px;scrollbar-width:thin}.search-result{display:flex;flex-direction:column;gap:5px;width:100%;padding:14px 38px 14px 14px;text-align:left;position:relative;border-radius:6px;border-bottom:1px solid var(--line)}.search-result:hover,.search-result:focus{background:var(--surface-raised)}.result-kind{font-size:8px;letter-spacing:1.5px;color:var(--accent)}.search-result strong{font-size:15px;font-weight:550}.search-result>span:not(.result-kind):not(.result-arrow){font-size:11px;color:var(--muted);line-height:1.55}.search-result small{font-size:9px;color:var(--subtle);margin-top:3px}.result-arrow{position:absolute;top:25px;right:17px;color:var(--accent)}.search-empty{padding:30px 22px;color:var(--muted);font-size:14px}.search-examples{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.search-footer{font-size:9px;color:var(--subtle);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;padding:12px 20px;line-height:1.6}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:13px 22px;border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;z-index:100;font-size:12px;line-height:1.5}.app-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:20px 36px;font-size:10px;color:var(--muted)}.app-footer>span:first-child{color:var(--text)}.app-footer>span:first-child span{margin:0 10px;color:var(--subtle)}.app-footer button{color:var(--muted);font-size:10px;padding:5px}.workspace:fullscreen,.workspace.focus-mode{background:var(--bg);overflow:auto;height:100vh;width:100vw}.workspace.focus-mode{position:fixed;inset:0;z-index:50}.workspace:fullscreen .canvas-viewport,.workspace.focus-mode .canvas-viewport{height:calc(100vh - 270px);max-height:none}.has-detail .company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.has-detail .footprint-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.has-detail .view-heading{align-items:flex-start}.has-detail .focus-button{font-size:0;padding:8px}.has-detail .focus-button span{font-size:18px}
@media(min-width:1700px){.workspace-main{padding:40px 48px}.app-header,.view-nav{padding-left:48px;padding-right:48px}.canvas-viewport{height:650px}.detail-panel{width:480px}.company-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1150px){.app-header{gap:20px;padding:0 24px}.view-nav{gap:20px;padding:0 24px}.workspace-main{padding:28px 24px}.company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footprint-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.has-detail .company-grid{grid-template-columns:1fr}.detail-panel{width:390px}.has-detail .workspace-main{padding:25px 18px}.has-detail .map-legend{gap:9px}.has-detail .map-legend span{font-size:8px}.has-detail .section-heading{align-items:flex-start;flex-direction:column;gap:12px}.has-detail .footprint-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.has-detail .company-hero{flex-wrap:wrap}.has-detail .hero-actions{flex-direction:row;width:100%}.filters .field select{max-width:190px}}
@media(max-width:800px){.app-header{height:72px;gap:15px;padding:0 18px}.brand{gap:9px}.brand-mark{width:34px;height:34px;font-size:13px}.brand strong{font-size:13px}.brand-owner{font-size:8px}.search-trigger{flex:0;margin-left:auto;padding:6px 9px;width:36px;height:36px;justify-content:center}.search-trigger>span:not(.search-icon),.search-trigger kbd{display:none}.header-actions{gap:6px}.view-nav{height:52px;gap:20px;padding:0 18px}.view-nav button{font-size:11px}.workspace-main{padding:25px 18px}.view-heading h1{font-size:26px}.view-heading p{font-size:12px}.view-heading{gap:12px}.view-heading .focus-button{font-size:0}.view-heading .focus-button span{font-size:19px}.filters{gap:6px}.field select{max-width:170px;font-size:10px}.filters .text-button{margin-left:0}.canvas-topline{flex-wrap:wrap;padding:10px 12px}.map-legend{gap:12px;font-size:9px}.canvas-controls{margin-left:auto}.canvas-viewport{height:460px;max-height:60vh}.canvas-caption{font-size:8px}.canvas-caption>span:last-child{display:none}.section-heading{flex-direction:column;align-items:flex-start;gap:13px}.directory-search{width:100%}.directory-search input{width:100%}.detail-panel{position:fixed;inset:0 0 0 auto;max-width:100%;width:min(500px,100vw);z-index:60;box-shadow:-20px 0 80px #0006}.has-detail .workspace-main{padding:25px 18px}.has-detail .company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.has-detail .footprint-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footprint-summary{flex-wrap:wrap;gap:10px}.footprint-summary>span:last-child{flex-basis:100%;font-size:11px}.footprint-divider{display:none}.company-hero{flex-wrap:wrap;gap:16px}.company-logo.large{width:55px;height:55px;font-size:19px}.company-hero h2{font-size:30px}.company-hero p{font-size:12px}.hero-actions{flex-direction:row;width:100%;flex-wrap:wrap}.app-footer{padding:18px;gap:12px;flex-wrap:wrap}.app-footer>span:last-child{display:none}.research-toolbar{align-items:flex-start}.research-toolbar .button{white-space:nowrap}}
@media(max-width:500px){.company-grid,.has-detail .company-grid{grid-template-columns:1fr}.footprint-grid,.has-detail .footprint-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.footprint-card{padding:13px 10px}.footprint-card strong{font-size:12px}.footprint-card .eyebrow{font-size:7px}.footprint-card>span:not(.pill):not(.eyebrow){font-size:10px}.footprint-column h3{font-size:11px}.search-dialog{margin-top:5vh}.search-dialog-top{padding:12px;gap:8px}.search-dialog-top input{font-size:13px}.search-footer{flex-direction:column;gap:3px}.canvas-controls button{min-width:28px;min-height:30px}.canvas-caption{padding:9px 12px}.country-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.country-card{padding:14px}.filters .field select{max-width:155px}.company-hero-copy{flex-basis:calc(100% - 75px)}.brand strong{font-size:12px}.header-actions .icon-button{width:26px}.language-button{gap:5px;padding:4px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.company-logo:has(img){background:#e7e9e8;color:#243333}.company-logo img{image-rendering:auto}.company-grid .company-row{content-visibility:auto;contain-intrinsic-size:auto 108px}

.search-hint select{display:block;max-width:100%;font-size:11px;background:var(--bg);border:1px solid var(--line);padding:6px 28px 6px 8px;color:var(--text);margin-bottom:9px}

.workspace-search{display:none}.workspace:fullscreen .workspace-search,.workspace.focus-mode .workspace-search{display:inline-flex;margin-left:auto;max-width:200px}.workspace:fullscreen .view-heading,.workspace.focus-mode .view-heading{gap:12px}

.compute{--layer:#b98a35}.finance{--layer:#8d6bb2}.policy{--layer:#768694}

.dependency-overview{margin-bottom:24px}.dependency-overview>summary{cursor:pointer;font-size:16px;font-weight:600}.dependency-overview>p{color:var(--muted);font-size:13px;line-height:1.6}.dependency-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.dependency-card{display:flex;flex-direction:column;gap:10px;text-align:left;padding:16px;border:1px solid var(--line);background:var(--bg);border-radius:8px}.dependency-card>strong{font-size:13px;line-height:1.5}.dependency-card>span{font-size:12px;line-height:1.6;color:var(--muted)}.dependency-card>small{color:var(--accent)}

.nodal-logo{width:138px;height:37px;object-fit:contain}.nodal-light{display:none}[data-mode="light"] .nodal-dark{display:none}[data-mode="light"] .nodal-light{display:block}

.dot.compute,.dot.finance,.dot.policy{background:var(--layer)}

@media(max-width:500px){.filters .field select{max-width:175px}}
.theme-menu{position:relative}.theme-menu>summary{list-style:none;cursor:pointer;color:var(--subtle)}.theme-menu>summary::-webkit-details-marker{display:none}.theme-menu>summary:hover{color:var(--text)}
.theme-options{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:200px;max-height:min(70vh,560px);overflow-y:auto;display:grid;gap:2px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.theme-options button{display:flex;align-items:center;gap:10px;padding:8px 10px;font-size:13px;text-align:left;color:var(--text)}.theme-options button:hover{background:var(--surface-raised)}.theme-options button[aria-checked=true]{background:var(--accent-soft);font-weight:600}.theme-options button[aria-checked=true]::after{content:"✓";margin-left:auto;color:var(--accent)}
.theme-swatch{display:inline-flex;gap:3px;align-items:center;padding:4px;border-radius:5px;border:1px solid #8884}.theme-swatch i{width:8px;height:8px;border-radius:50%}
.header-actions .language-button{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;gap:0;padding:2px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-raised)}.header-actions .language-button::before{content:"";position:absolute;inset:2px auto 2px 2px;width:calc(50% - 2px);border-radius:999px;background:var(--text);transition:transform .16s cubic-bezier(.2,.8,.2,1)}.header-actions .language-button[data-lang=en]::before{transform:translateX(100%)}.header-actions .language-button span{position:relative;z-index:1;min-width:26px;padding:4px 7px;text-align:center;line-height:1;border:0;transition:color .16s}.header-actions .language-button .active{color:var(--subtle);border:0;padding-bottom:4px}.header-actions .language-button[data-lang=es] span:first-child,.header-actions .language-button[data-lang=en] span:last-child{color:var(--bg)}
@media(prefers-reduced-motion:reduce){.header-actions .language-button::before,.header-actions .language-button span{transition:none}}
select:not([multiple]){appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent calc(50% - .8px),var(--muted) calc(50% - .8px) calc(50% + .8px),transparent calc(50% + .8px)),linear-gradient(135deg,transparent calc(50% - .8px),var(--muted) calc(50% - .8px) calc(50% + .8px),transparent calc(50% + .8px))!important;background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%!important;background-size:6px 6px!important;background-repeat:no-repeat!important;padding-right:30px!important;text-overflow:ellipsis;white-space:nowrap}select:hover{border-color:var(--line-strong)}
@supports (appearance:base-select){select:not([multiple]),select::picker(select){appearance:base-select}select{display:flex;align-items:center}select::picker-icon{display:none}select:open{border-color:var(--accent)}select::picker(select){position-area:block-end span-inline-end;position-try-fallbacks:flip-inline;margin:4px 0;padding:4px;min-width:anchor-size(width);max-height:min(360px,55vh);overflow-y:auto;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-size:12px}select option{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:5px;white-space:nowrap}select option:hover,select option:focus-visible{background:var(--surface-raised);outline:none}select option:checked{background:var(--accent-soft);font-weight:600}select option::checkmark{order:1;margin-left:auto;color:var(--accent)}select selectedcontent{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
.filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;align-items:center}.filters .field{min-width:0}.filters .field select{width:100%;max-width:none}.filters .text-button{justify-self:start}

.company-logo:has(img){border-color:transparent}.company-logo img{width:100%;height:100%;object-fit:contain}.company-logo.logo-filled img{object-fit:cover}.company-logo.logo-padded img{width:78%;height:78%}
.geo-viewport{overflow:hidden;cursor:default;background-image:none;touch-action:none}.geo-viewport .map-surface.geo-host,.map-surface.geo-host{position:relative;width:100%;height:100%;min-width:0;padding:0}
.geo-map{display:block;width:100%;height:100%;cursor:grab;user-select:none}.geo-map:active{cursor:grabbing}
.geo-ocean{fill:var(--map-ocean)}.geo-graticule{fill:none;stroke:var(--line);stroke-width:.5;vector-effect:non-scaling-stroke;opacity:.6}
.geo-map .country{fill:var(--map-land);stroke:none;cursor:pointer;transition:filter .15s}.geo-map .country:hover{fill:var(--map-land);filter:brightness(1.12)}.geo-map .country.active:hover{filter:brightness(1.18)}
.geo-borders{fill:none;stroke:var(--map-ocean);stroke-width:.8;vector-effect:non-scaling-stroke;stroke-linejoin:round;pointer-events:none}
.geo-admin{display:none}.show-admin .geo-admin{display:inline}.geo-admin .state{fill:transparent;stroke:var(--line-strong);stroke-width:.5;stroke-dasharray:2 2;vector-effect:non-scaling-stroke;cursor:zoom-in}.geo-admin .state:hover{fill:color-mix(in oklab,var(--accent) 12%,transparent)}
.geo-admin .state-label{font:600 9px 'DM Sans',sans-serif;fill:var(--muted);letter-spacing:.06em;text-transform:uppercase;pointer-events:none;paint-order:stroke;stroke:var(--map-ocean);stroke-width:3px}
.geo-labels text{font:600 11px 'DM Sans',sans-serif;fill:var(--text);pointer-events:none;paint-order:stroke;stroke:var(--map-ocean);stroke-width:3.5px;stroke-linejoin:round}
.geo-mark{cursor:pointer;outline:none}.geo-mark circle{fill:var(--accent);fill-opacity:.9;stroke:var(--map-ocean);stroke-width:1.5;transition:fill-opacity .15s}.geo-mark:hover circle,.geo-mark:focus-visible circle{fill-opacity:1;stroke:var(--text);stroke-width:2}
.geo-mark text{font:700 10px 'DM Sans',sans-serif;fill:var(--surface);pointer-events:none;font-variant-numeric:tabular-nums}.geo-mark.approx circle{fill-opacity:.35;stroke:var(--accent);stroke-dasharray:3 2}.geo-mark.approx text{fill:var(--text)}
.geo-tip{position:absolute;z-index:5;pointer-events:none;display:flex;flex-direction:column;gap:2px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-size:12px;white-space:nowrap}.geo-tip span{color:var(--muted);font-size:11px}.geo-tip[hidden],.geo-pop[hidden]{display:none}
.geo-pop{position:absolute;z-index:6;width:240px;max-height:300px;display:flex;flex-direction:column;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);overflow:hidden}
.geo-pop header{display:flex;align-items:baseline;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.geo-pop header span{color:var(--muted);font-size:11px;flex:1}.geo-pop header button{border:0;background:none;color:var(--muted);font-size:18px;line-height:1;cursor:pointer}
.geo-pop ul{list-style:none;margin:0;padding:4px;overflow:auto}.geo-pop li button{width:100%;text-align:left;padding:6px 8px;border:0;border-radius:6px;background:none;color:var(--text);font:inherit;font-size:12px;cursor:pointer}.geo-pop li button:hover,.geo-pop li button:focus-visible{background:var(--accent-soft);outline:none}
.geo-leaders line{stroke:var(--muted);stroke-width:.8;vector-effect:non-scaling-stroke;opacity:.7}.geo-leaders circle{fill:var(--muted)}.geo-leaders{pointer-events:none}
:root{--layer-fisico:var(--physical);--layer-digital:var(--digital);--layer-compute:#b98a35;--layer-finance:#8d6bb2;--layer-policy:#768694;--choke:#e5484d}
.flow-svg{display:block;font-family:'DM Sans',sans-serif}.flow-column{font-size:11px;font-weight:650;letter-spacing:.08em;fill:var(--muted)}
.flow-links path{fill:none;stroke-opacity:.28;mix-blend-mode:normal}
.flow-node,.tile{cursor:pointer;outline:none}.flow-node text{font-size:11px;fill:var(--text);pointer-events:none}.flow-node:hover rect,.flow-node:focus-visible rect{stroke:var(--text);stroke-width:2}
.flow-node.choke rect,.tile.choke rect{stroke:var(--choke);stroke-width:2}.tile rect{stroke:var(--surface);stroke-width:1;transition:fill-opacity .15s}.tile:hover rect,.tile:focus-visible rect{fill-opacity:1;stroke:var(--text);stroke-width:2}
.tile-name{font-size:11px;font-weight:600;fill:var(--text);pointer-events:none}.tile-meta{font-size:10px;fill:var(--muted);pointer-events:none;font-variant-numeric:tabular-nums}
.band{fill:none;stroke-opacity:.35}.band-fisico{stroke:var(--layer-fisico)}.band-bisagra{stroke:var(--connector)}.band-digital{stroke:var(--layer-digital)}.band-title{font-size:12px;font-weight:700;letter-spacing:.06em}.band-title.band-fisico{fill:var(--layer-fisico)}.band-title.band-bisagra{fill:var(--connector)}.band-title.band-digital{fill:var(--layer-digital)}
.stage-label{font-size:9.5px;letter-spacing:.08em;fill:var(--muted);pointer-events:none}
