*{box-sizing:border-box;margin:0;padding:0}:root{--map-green:var(--color-interactive-primary);--map-green-light:var(--color-interactive-primary);--map-green-dark:var(--color-interactive-primary-hover);--grid-border:var(--color-border-default);--content-bg:var(--color-surface-page)}body{font-family:var(--font-sans);background:var(--color-surface-elevated);min-height:100vh;padding:20px}.container{background:var(--color-surface-page);border-radius:var(--radius-md);max-width:2000px;box-shadow:var(--shadow-card);border:1px solid var(--grid-border);margin:0 auto;padding:32px 40px 40px}.map-title-wrap{text-align:center;margin-bottom:8px}.map-title{font-family:var(--font-sans);color:var(--map-green);letter-spacing:.02em;text-transform:uppercase;font-size:2.7em;font-weight:700;display:inline-block}.map-title-rule{background:var(--map-green);width:80px;height:3px;margin:10px auto 0}.subtitle{text-align:center;color:var(--color-text-secondary);margin-bottom:28px;font-size:.95em}.market-stats{flex-wrap:wrap;justify-content:center;gap:24px;margin-bottom:28px;display:flex}.stat{background:var(--color-surface-page);color:var(--map-green);border-radius:var(--radius-md);border:2px solid var(--map-green);padding:12px 20px;font-size:.85em;font-weight:600}.market-grid{border:1px solid var(--grid-border);border-radius:var(--radius-md);background:var(--color-surface-page);grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(220px,auto);align-items:stretch;gap:0;margin-bottom:32px;display:grid;overflow:hidden}.category-card{border:1px solid var(--grid-border);background:var(--content-bg);border-radius:0;flex-direction:column;min-width:0;height:100%;min-height:0;transition:none;display:flex;overflow:hidden}.category-card:hover{box-shadow:none;transform:none}.category-card.span-2{grid-column:span 2}.category-header{color:var(--color-text-on-primary);text-align:left;text-transform:uppercase;letter-spacing:.03em;background:var(--map-green);flex-shrink:0;padding:12px 14px;font-size:.85em;font-weight:700}.category-header.tms,.category-header.wms,.category-header.visibility,.category-header.freight-brokerage,.category-header.freight-forwarding,.category-header.yard,.category-header.automation,.category-header.analytics,.category-header.last-mile,.category-header.procurement,.category-header.control-tower,.category-header.blockchain,.category-header.critical-cargo,.category-header.landside{background:var(--map-green);color:var(--color-text-on-primary)}.company-list{background:var(--content-bg);flex-direction:column;flex:1;min-height:0;padding:14px;display:flex;overflow:auto}.company-tier{flex:none;min-width:0;margin-bottom:12px}.company-tier:last-child{margin-bottom:0}.tier-label{color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:.7em;font-weight:600}.companies{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px;width:100%;min-width:0;display:grid}.company{text-align:center;background:var(--color-surface-page);border-radius:var(--radius-md);border:1px solid var(--grid-border);min-width:0;padding:10px 8px;font-size:.75em;transition:border-color .15s;display:block}.company:hover{border-color:var(--map-green);background:var(--color-surface-row-stripe)}.company-logo-wrap{text-align:center;margin-bottom:6px;display:block}.company-logo-wrap .company-logo,.company-logo-wrap img.company-logo{border-radius:var(--radius-md);object-fit:contain;background:var(--color-surface-page);border:1px solid var(--grid-border);vertical-align:top;width:40px;height:40px;margin:0 auto;padding:4px;display:block}.company-logo-fallback{border-radius:var(--radius-md);text-align:center;background:var(--map-green);width:40px;height:40px;color:var(--color-text-on-primary);margin:0 auto;font-size:1.1em;font-weight:700;line-height:40px;display:block}.company-name{word-break:break-word;min-width:0;line-height:1.3;display:block}.company-name-text{display:block}.company-note{opacity:.8;margin-top:2px;font-size:.95em;display:block}.company.enterprise{color:var(--color-text-primary);font-weight:600}.company.growth{color:var(--color-text-primary)}.company.emerging{color:var(--color-text-secondary)}.company.highlight{background:var(--color-surface-tint);border:2px solid var(--map-green);color:var(--map-green-dark);font-weight:700}.notes{background:var(--color-surface-row-stripe);border-left:4px solid var(--map-green);border-radius:var(--radius-md);margin-top:28px;padding:24px}.notes h3{color:var(--map-green-dark);margin-bottom:12px;font-size:1.1em}.notes ul{color:var(--color-text-primary);margin-left:20px;line-height:1.75}.notes li{margin-bottom:6px}.footer-link{text-align:center;color:var(--color-text-secondary);margin-top:20px;font-size:.85em}.footer-link a{color:var(--map-green)}@media (max-width:1200px){.market-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.market-grid{grid-template-columns:1fr}.category-card.span-2{grid-column:span 1}.companies{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}.company{padding:8px 6px}.company-logo-wrap .company-logo,.company-logo-wrap img.company-logo,.company-logo-fallback{width:32px;height:32px}.company-logo-fallback{line-height:32px}.company-logo-wrap{margin-bottom:4px}.company-name{font-size:.7em}}@media (max-width:380px){.companies{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}}@media print{body{background:var(--color-surface-page);padding:0}.container{box-shadow:none;border:1px solid var(--color-border-default)}}.latest-posts{margin-top:28px}.latest-posts__title{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--map-green-dark);margin-bottom:16px;font-size:1.3em;font-weight:700}.latest-posts__grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.latest-posts__more{text-align:right;margin-top:12px;font-size:.85em}.latest-posts__more a{color:var(--map-green);text-decoration:none}.latest-posts__more a:hover{text-decoration:underline}.post-card{border:1px solid var(--grid-border);border-radius:var(--radius-md);background:var(--color-surface-page);color:inherit;padding:16px;text-decoration:none;transition:border-color .15s;display:block}.post-card:hover{border-color:var(--map-green);background:var(--color-surface-row-stripe)}.post-card__date{color:var(--color-text-secondary);margin-bottom:6px;font-size:.75em}.post-card__title{font-family:var(--font-sans);color:var(--color-text-primary);margin-bottom:6px;font-size:1.1em;font-weight:600;line-height:1.35}.post-card__excerpt{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82em;line-height:1.5;display:-webkit-box;overflow:hidden}@media (max-width:768px){.latest-posts__grid{grid-template-columns:1fr}}.ai-chat{border:1px solid var(--grid-border);border-radius:var(--radius-md);background:var(--color-surface-page);margin-top:0;margin-bottom:20px;padding:12px 16px}.ai-chat__title{color:var(--map-green-dark);margin-bottom:4px;font-size:1.1em;font-weight:700}.ai-chat__subtitle{color:var(--color-text-secondary);margin-bottom:16px;font-size:.82em}.ai-chat__conversation{flex-direction:column;gap:12px;max-height:360px;margin-bottom:12px;display:flex;overflow-y:auto}.ai-chat__form{gap:8px;display:flex}.ai-chat__input{border:1px solid var(--grid-border);border-radius:var(--radius-md);outline:none;flex:1;padding:10px 14px;font-family:inherit;font-size:.9em}.ai-chat__input:focus{border-color:var(--map-green)}.ai-chat__button{background:var(--map-green);color:var(--color-text-on-primary);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:none;padding:10px 20px;font-size:.9em;font-weight:600}.ai-chat__button:hover:not(:disabled){background:var(--map-green-dark)}.ai-chat__button:disabled{opacity:.6;cursor:not-allowed}.ai-chat__error{color:var(--color-danger);margin-top:8px;font-size:.82em}.chat-message{flex-direction:column;gap:2px;max-width:85%;display:flex}.chat-message--user{text-align:right;align-self:flex-end}.chat-message--assistant{align-self:flex-start}.chat-message__label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);font-size:.7em;font-weight:600}.chat-message--user .chat-message__text{background:var(--map-green);color:var(--color-text-on-primary);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg);white-space:pre-wrap;padding:10px 14px;font-size:.9em;line-height:1.5}.chat-message--assistant .chat-message__text{background:var(--color-surface-row-stripe);color:var(--color-text-primary);border-radius:var(--radius-sm) var(--radius-lg) var(--radius-lg) var(--radius-lg);border:1px solid var(--grid-border);white-space:pre-wrap;padding:10px 14px;font-size:.9em;line-height:1.6}
