*{margin:0;padding:0;box-sizing:border-box}:root{--map-green: #166534;--map-green-light: #15803d;--map-green-dark: #14532d;--grid-border: #e5e7eb;--content-bg: #ffffff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f9fafb;padding:20px;min-height:100vh}.container{max-width:2000px;margin:0 auto;background:#fff;border-radius:4px;padding:32px 40px 40px;box-shadow:0 1px 3px #00000014;border:1px solid var(--grid-border)}.map-title-wrap{text-align:center;margin-bottom:8px}.map-title{font-size:2.4em;font-weight:700;color:var(--map-green);letter-spacing:.02em;text-transform:uppercase;display:inline-block}.map-title-rule{height:3px;width:80px;background:var(--map-green);margin:10px auto 0}.subtitle{text-align:center;color:#6b7280;margin-bottom:28px;font-size:.95em}.market-stats{display:flex;justify-content:center;gap:24px;margin-bottom:28px;flex-wrap:wrap}.stat{background:#fff;color:var(--map-green);padding:12px 20px;border-radius:4px;font-size:.85em;font-weight:600;border:2px solid var(--map-green)}.market-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(220px,auto);gap:0;margin-bottom:32px;border:1px solid var(--grid-border);border-radius:4px;overflow:hidden;background:#fff;align-items:stretch}.category-card{display:flex;flex-direction:column;min-height:0;min-width:0;height:100%;border:1px solid var(--grid-border);border-radius:0;overflow:hidden;background:var(--content-bg);transition:none}.category-card:hover{transform:none;box-shadow:none}.category-card.span-2{grid-column:span 2}.category-header{flex-shrink:0;padding:12px 14px;color:#fff;font-weight:700;font-size:.85em;text-align:left;text-transform:uppercase;letter-spacing:.03em;background:var(--map-green)}.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:#fff}.company-list{flex:1;min-height:0;display:flex;flex-direction:column;padding:14px;background:var(--content-bg);overflow:auto}.company-tier{flex:0 0 auto;margin-bottom:12px;min-width:0}.company-tier:last-child{margin-bottom:0}.tier-label{font-weight:600;color:#4b5563;margin-bottom:6px;font-size:.7em;text-transform:uppercase;letter-spacing:.05em}.companies{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px;width:100%;min-width:0}.company{display:block;text-align:center;background:#fff;padding:10px 8px;border-radius:4px;font-size:.75em;border:1px solid var(--grid-border);transition:border-color .15s ease;min-width:0}.company:hover{border-color:var(--map-green);background:#f0fdf4}.company-logo-wrap{display:block;margin-bottom:6px;text-align:center}.company-logo-wrap .company-logo,.company-logo-wrap img.company-logo{display:block;width:40px;height:40px;margin:0 auto;border-radius:4px;object-fit:contain;background:#fff;padding:4px;border:1px solid var(--grid-border);vertical-align:top}.company-logo-fallback{display:block;width:40px;height:40px;margin:0 auto;border-radius:4px;line-height:40px;text-align:center;background:var(--map-green);font-size:1.1em;color:#fff;font-weight:700}.company-name{display:block;line-height:1.3;word-break:break-word;min-width:0}.company-name-text{display:block}.company-note{display:block;opacity:.8;font-size:.95em;margin-top:2px}.company.enterprise{font-weight:600;color:#1f2937}.company.growth{color:#4b5563}.company.emerging{color:#6b7280}.company.highlight{background:#ecfdf5;border:2px solid var(--map-green);font-weight:700;color:var(--map-green-dark)}.notes{background:#f0fdf4;border-left:4px solid var(--map-green);padding:24px;border-radius:4px;margin-top:28px}.notes h3{color:var(--map-green-dark);margin-bottom:12px;font-size:1.1em}.notes ul{margin-left:20px;color:#374151;line-height:1.75}.notes li{margin-bottom:6px}.footer-link{text-align:center;margin-top:20px;font-size:.85em;color:#6b7280}.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:#fff;padding:0}.container{box-shadow:none;border:1px solid #ccc}}.latest-posts{margin-top:28px}.latest-posts__title{font-size:1.1em;font-weight:700;color:var(--map-green-dark);margin-bottom:16px}.latest-posts__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.latest-posts__more{margin-top:12px;text-align:right;font-size:.85em}.latest-posts__more a{color:var(--map-green);text-decoration:none}.latest-posts__more a:hover{text-decoration:underline}.post-card{display:block;padding:16px;border:1px solid var(--grid-border);border-radius:4px;background:#fff;text-decoration:none;color:inherit;transition:border-color .15s ease}.post-card:hover{border-color:var(--map-green);background:#f0fdf4}.post-card__date{font-size:.75em;color:#6b7280;margin-bottom:6px}.post-card__title{font-size:.95em;font-weight:600;color:#1f2937;line-height:1.35;margin-bottom:6px}.post-card__excerpt{font-size:.82em;color:#6b7280;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:768px){.latest-posts__grid{grid-template-columns:1fr}}.ai-chat{margin-top:0;margin-bottom:20px;border:1px solid var(--grid-border);border-radius:4px;padding:12px 16px;background:#fff}.ai-chat__title{font-size:1.1em;font-weight:700;color:var(--map-green-dark);margin-bottom:4px}.ai-chat__subtitle{font-size:.82em;color:#6b7280;margin-bottom:16px}.ai-chat__conversation{max-height:360px;overflow-y:auto;margin-bottom:12px;display:flex;flex-direction:column;gap:12px}.ai-chat__form{display:flex;gap:8px}.ai-chat__input{flex:1;padding:10px 14px;border:1px solid var(--grid-border);border-radius:4px;font-size:.9em;font-family:inherit;outline:none}.ai-chat__input:focus{border-color:var(--map-green)}.ai-chat__button{padding:10px 20px;background:var(--map-green);color:#fff;border:none;border-radius:4px;font-size:.9em;font-weight:600;cursor:pointer;white-space:nowrap}.ai-chat__button:hover:not(:disabled){background:var(--map-green-dark)}.ai-chat__button:disabled{opacity:.6;cursor:not-allowed}.ai-chat__error{font-size:.82em;color:#dc2626;margin-top:8px}.chat-message{display:flex;flex-direction:column;gap:2px;max-width:85%}.chat-message--user{align-self:flex-end;text-align:right}.chat-message--assistant{align-self:flex-start}.chat-message__label{font-size:.7em;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.chat-message--user .chat-message__text{background:var(--map-green);color:#fff;padding:10px 14px;border-radius:8px 8px 2px;font-size:.9em;line-height:1.5;white-space:pre-wrap}.chat-message--assistant .chat-message__text{background:#f0fdf4;color:#1f2937;padding:10px 14px;border-radius:2px 8px 8px;border:1px solid var(--grid-border);font-size:.9em;line-height:1.6;white-space:pre-wrap}
