:root{--bg: #ffffff;--fg: #000000;--border: #000000;--surface: #ffffff;--surface-2: #f5f5f5;--text-primary: #000000;--text-secondary: #444444;--text-muted: #888888;--color-success: #16a34a;--color-warning: #d97706;--color-error: #dc2626;--color-info: #2563eb;--color-bg: var(--bg);--color-fg: var(--fg);--color-border: var(--border);--color-surface: var(--surface);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-muted: var(--text-muted);--color-white: #ffffff;--color-black: #000000;--color-gray-100: #f5f5f5;--color-gray-200: #e5e5e5;--color-gray-300: #d4d4d4;--color-gray-400: #a3a3a3;--color-gray-500: #737373;--color-gray-600: #525252;--color-gray-700: #404040;--color-gray-800: #262626;--color-gray-900: #171717;--color-neon-blue: var(--fg);--color-neon-green: var(--color-success);--color-neon-pink: var(--color-error);--color-dark-bg: var(--bg);--color-dark-surface: var(--surface);--color-dark-border: var(--border);--gradient-surface: var(--bg);--gradient-neon: none;--shadow-neon: none;--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", "Courier New", monospace;--font-size-xs: .625rem;--font-size-sm: .75rem;--font-size-base: .875rem;--font-size-lg: 1rem;--font-size-xl: 1.125rem;--font-size-2xl: 1.25rem;--font-size-3xl: 1.5rem;--font-size-4xl: 2rem;--font-size-5xl: 3rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-bold: 700;--line-height-tight: .9;--line-height-normal: 1.4;--line-height-loose: 1.6;--letter-spacing-tight: -.02em;--letter-spacing-base: .05em;--letter-spacing-wide: .1em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-none: 0;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 0;--radius-xl: 0;--border-width: 1px;--border-style: solid;--border-base: 1px solid var(--border);--z-base: 0;--z-overlay: 100;--z-modal: 200;--z-toast: 300;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--brand-bg: #000000;--brand-fg: #ffffff;--brand-border: #ffffff;--status-active: "●";--status-pending: "◐";--status-error: "▲";--status-inactive: "○"}html{transition:background-color .2s ease,color .2s ease}.theme-dark,.theme-black{--bg: #000000;--fg: #ffffff;--border: #ffffff;--surface: #000000;--surface-2: #111111;--text-primary: #ffffff;--text-secondary: rgba(255,255,255,.65);--text-muted: rgba(255,255,255,.4)}.theme-white{--bg: #ffffff;--fg: #000000;--border: #000000;--surface: #ffffff;--surface-2: #f5f5f5;--text-primary: #000000;--text-secondary: #444444;--text-muted: #888888}.theme-blue-100{--bg: #ADD8E6;--fg: #000000;--border: #000000;--surface: #ADD8E6;--surface-2: #c5e8f0;--text-primary: #000000;--text-secondary: #333333;--text-muted: #555555}.theme-red-100{--bg: #FFC0CB;--fg: #000000;--border: #000000;--surface: #FFC0CB;--surface-2: #ffd0d8;--text-primary: #000000;--text-secondary: #333333;--text-muted: #555555}.theme-orange-800{--bg: #FF6600;--fg: #000000;--border: #000000;--surface: #FF6600;--surface-2: #ff7a1a;--text-primary: #000000;--text-secondary: #222222;--text-muted: #444444}.theme-orange-700{--bg: #FF8C00;--fg: #000000;--border: #000000;--surface: #FF8C00;--surface-2: #ffa01a;--text-primary: #000000;--text-secondary: #222222;--text-muted: #444444}.theme-orange-500{--bg: #FFA500;--fg: #000000;--border: #000000;--surface: #FFA500;--surface-2: #ffb21a;--text-primary: #000000;--text-secondary: #333333;--text-muted: #555555}.theme-orange-100{--bg: #FFEFD5;--fg: #000000;--border: #000000;--surface: #FFEFD5;--surface-2: #fff4e0;--text-primary: #000000;--text-secondary: #444444;--text-muted: #888888}.theme-green-700{--bg: #32CD32;--fg: #000000;--border: #000000;--surface: #32CD32;--surface-2: #45d445;--text-primary: #000000;--text-secondary: #222222;--text-muted: #444444}.theme-green-500{--bg: #90EE90;--fg: #000000;--border: #000000;--surface: #90EE90;--surface-2: #a0f0a0;--text-primary: #000000;--text-secondary: #333333;--text-muted: #555555}.theme-green-100{--bg: #F0FFF0;--fg: #000000;--border: #000000;--surface: #F0FFF0;--surface-2: #f5fff5;--text-primary: #000000;--text-secondary: #444444;--text-muted: #888888}.theme-blue-900{--bg: #00008B;--fg: #ffffff;--border: #ffffff;--surface: #00008B;--surface-2: #0000a0;--text-primary: #ffffff;--text-secondary: rgba(255,255,255,.65);--text-muted: rgba(255,255,255,.4)}.theme-blue-800{--bg: #0000CD;--fg: #ffffff;--border: #ffffff;--surface: #0000CD;--surface-2: #1a1adf;--text-primary: #ffffff;--text-secondary: rgba(255,255,255,.65);--text-muted: rgba(255,255,255,.4)}.theme-blue-700{--bg: #0000FF;--fg: #ffffff;--border: #ffffff;--surface: #0000FF;--surface-2: #1a1aff;--text-primary: #ffffff;--text-secondary: rgba(255,255,255,.65);--text-muted: rgba(255,255,255,.4)}.theme-blue-500{--bg: #4169E1;--fg: #ffffff;--border: #ffffff;--surface: #4169E1;--surface-2: #5579e8;--text-primary: #ffffff;--text-secondary: rgba(255,255,255,.65);--text-muted: rgba(255,255,255,.4)}.theme-red-900{--bg: #8B0000;--fg: #ffffff;--border: #ffffff;--surface: #8B0000;--surface-2: #a00000;--text-primary: #ffffff;--text-secondary: rgba(255,255,255,.65);--text-muted: rgba(255,255,255,.4)}.theme-red-800{--bg: #B22222;--fg: #ffffff;--border: #ffffff;--surface: #B22222;--surface-2: #c43535;--text-primary: #ffffff;--text-secondary: rgba(255,255,255,.65);--text-muted: rgba(255,255,255,.4)}.theme-red-700{--bg: #DC143C;--fg: #ffffff;--border: #ffffff;--surface: #DC143C;--surface-2: #e82a50;--text-primary: #ffffff;--text-secondary: rgba(255,255,255,.65);--text-muted: rgba(255,255,255,.4)}.theme-red-500{--bg: #FF6347;--fg: #ffffff;--border: #ffffff;--surface: #FF6347;--surface-2: #ff7560;--text-primary: #ffffff;--text-secondary: rgba(255,255,255,.65);--text-muted: rgba(255,255,255,.4)}.theme-orange-900{--bg: #FF4500;--fg: #ffffff;--border: #ffffff;--surface: #FF4500;--surface-2: #ff5a1a;--text-primary: #ffffff;--text-secondary: rgba(255,255,255,.65);--text-muted: rgba(255,255,255,.4)}.theme-green-900{--bg: #006400;--fg: #ffffff;--border: #ffffff;--surface: #006400;--surface-2: #007800;--text-primary: #ffffff;--text-secondary: rgba(255,255,255,.65);--text-muted: rgba(255,255,255,.4)}.theme-green-800{--bg: #228B22;--fg: #ffffff;--border: #ffffff;--surface: #228B22;--surface-2: #359d35;--text-primary: #ffffff;--text-secondary: rgba(255,255,255,.65);--text-muted: rgba(255,255,255,.4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);background-color:var(--bg);color:var(--fg);min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:-.02em;line-height:var(--line-height-tight)}a{color:var(--fg);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}.data-value{font-family:var(--font-mono)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:0;background:var(--fg);color:var(--bg);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);z-index:var(--z-toast)}.skip-link:focus{top:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.container{width:100%;max-width:680px;margin:0 auto;padding:0 var(--space-4)}@media (min-width: 640px){.container{padding:0 var(--space-6)}}.widget-header{position:sticky;top:0;background:var(--bg);border-bottom:var(--border-base);z-index:var(--z-overlay);padding:var(--space-3) 0}.widget-header__inner{display:flex;align-items:center;justify-content:space-between}.logo{text-decoration:none;color:var(--fg)}.logo__text{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-base);text-transform:uppercase;color:var(--fg)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-decoration:none;border:var(--border-base);border-radius:0;cursor:pointer;transition:all var(--transition-base);background:none;font-family:inherit}.btn--primary{color:var(--bg);background:var(--fg);border-color:var(--border)}.btn--primary:hover{background:var(--surface);color:var(--fg)}.btn--secondary{color:var(--fg);background:var(--bg);border-color:var(--border)}.btn--secondary:hover{background:var(--fg);color:var(--bg)}.btn--small{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);min-height:44px;min-width:44px}.btn--brand{color:var(--brand-fg);background:var(--brand-bg);border-color:var(--brand-bg)}.btn:focus-visible,a:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.card{background:var(--bg);border:var(--border-base);padding:var(--space-6)}.card__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-2)}.badge{display:inline-block;padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-base)}.badge--success{color:var(--color-success);border:1px solid var(--color-success)}.badge--warning{color:var(--color-warning);border:1px solid var(--color-warning)}.badge--error{color:var(--color-error);border:1px solid var(--color-error)}.chain-status-badge{font-family:var(--font-mono);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border:1px solid currentColor}.chain-status-badge--active{color:var(--color-success)}.chain-status-badge--pending{color:var(--color-warning)}.chain-status-badge--error{color:var(--color-error)}.chain-status-badge--inactive{color:var(--text-muted)}.timeline{position:relative;padding-left:var(--space-8)}.timeline:before{content:"";position:absolute;left:15px;top:0;bottom:0;width:2px;background:var(--fg);opacity:.3}.timeline-item{position:relative;margin-bottom:var(--space-6);animation:fadeIn .3s ease}.timeline-marker{position:absolute;left:-23px;top:0;width:30px;height:30px;background:var(--fg);color:var(--bg);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);font-family:var(--font-mono);z-index:1}.timeline-marker--brand{background:var(--brand-bg);color:var(--brand-fg)}.timeline-content{background:var(--surface);border:var(--border-base);padding:var(--space-4)}.timeline-content__type{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-base);color:var(--text-muted);margin-bottom:var(--space-2)}.timeline-content__location{font-family:var(--font-mono);font-size:var(--font-size-sm)}.timeline-content__date{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-1)}.timeline-content__photo{max-width:100%;max-height:160px;object-fit:cover;border:var(--border-base);margin-top:var(--space-3);display:block}@media (max-width: 640px){.timeline{padding-left:var(--space-6)}.timeline-marker{left:-18px;width:24px;height:24px;font-size:var(--font-size-xs)}}.esg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:var(--border-base);margin-bottom:var(--space-6)}.esg-stat{background:var(--bg);padding:var(--space-4);text-align:center}.esg-stat__value{display:block;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);font-family:var(--font-mono)}.esg-stat__label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--text-muted);margin-top:var(--space-1)}@media (max-width: 480px){.esg-grid{grid-template-columns:1fr}}.brand-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:var(--border-base)}.brand-header__logo{width:64px;height:64px;object-fit:contain;border:var(--border-base);flex-shrink:0}.brand-header__logo-placeholder{width:64px;height:64px;border:var(--border-base);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--font-size-xs);text-align:center;color:var(--text-muted);flex-shrink:0}.brand-header__name{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);text-transform:uppercase}.brand-header__industry{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:var(--space-1)}.brand-header__location{font-size:var(--font-size-sm);color:var(--text-secondary);font-family:var(--font-mono)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);color:var(--text-muted);gap:var(--space-4)}.loading__spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--fg);border-radius:50%;animation:spin 1s linear infinite}.error{padding:var(--space-4);border:1px solid var(--color-error);color:var(--color-error)}.success{padding:var(--space-4);border:1px solid var(--color-success);color:var(--color-success)}.empty-state{text-align:center;padding:var(--space-12) var(--space-4)}.empty-state__label{font-family:var(--font-mono);font-size:var(--font-size-base);text-transform:uppercase;letter-spacing:var(--letter-spacing-base);color:var(--text-muted);margin-bottom:var(--space-4)}.empty-state__action{display:inline-block;font-family:var(--font-mono);font-size:var(--font-size-base);text-transform:uppercase;letter-spacing:var(--letter-spacing-base);border:var(--border-base);padding:var(--space-2) var(--space-4);cursor:pointer;color:var(--fg);background:none}.empty-state__action:hover{background:var(--fg);color:var(--bg)}.page-loader{position:fixed;top:0;left:0;right:0;height:3px;background:var(--brand-bg, var(--fg));z-index:var(--z-toast);transition:opacity var(--transition-slow)}.page-loader--done{opacity:0;pointer-events:none}.offline-indicator{display:none;position:fixed;top:0;left:0;right:0;padding:8px 16px;background:var(--color-warning);color:var(--bg);font-family:var(--font-mono);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-base);text-align:center;z-index:var(--z-toast)}.offline-indicator--visible{display:block}.share-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:var(--border-base);background:none;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;color:var(--fg);text-transform:uppercase;letter-spacing:var(--letter-spacing-base)}.share-btn:hover{background:var(--fg);color:var(--bg)}.map-load-btn{width:100%;padding:var(--space-6);border:var(--border-base);background:var(--surface-2);font-family:var(--font-mono);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-base);cursor:pointer;color:var(--fg);text-align:center}.map-load-btn:hover{background:var(--fg);color:var(--bg)}body.embed-mode .widget-header,body.embed-mode .widget-footer{display:none}body.embed-mode .container{max-width:100%;padding:0 var(--space-2)}.widget-footer{border-top:var(--border-base);padding:var(--space-4) 0;margin-top:var(--space-8)}.widget-footer__inner{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-xs);color:var(--text-muted)}.widget-footer__link{color:var(--text-muted);font-family:var(--font-mono)}.widget-footer__link:hover{color:var(--fg);text-decoration:underline}.icon{display:inline-flex;align-items:center;justify-content:center}.icon svg{stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}main{padding:var(--space-6) 0 var(--space-16)}.section-heading{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);color:var(--text-muted);margin:var(--space-8) 0 var(--space-4);padding-bottom:var(--space-2);border-bottom:var(--border-base);text-transform:uppercase}.chain-meta{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin:var(--space-3) 0 var(--space-6)}.chain-meta__id{font-size:var(--font-size-xs);color:var(--text-muted);margin:0}.timeline{list-style:none;padding:0;margin:0}.timeline__item{display:flex;gap:var(--space-4)}.timeline__item--last .timeline__line{display:none}.timeline__connector{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:24px}.timeline__dot{font-size:var(--font-size-base);color:var(--brand-bg);line-height:var(--line-height-loose)}.timeline__line{flex:1;width:2px;background:var(--border);margin:4px 0;min-height:24px;opacity:.3}.timeline-card{flex:1;background:var(--surface);border:var(--border-base);padding:var(--space-4);margin-bottom:var(--space-4)}.timeline-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-1)}.timeline-card__name{font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.timeline-card__date{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;display:flex;align-items:center;gap:var(--space-1)}.timeline-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--text-muted);margin-bottom:var(--space-1)}.timeline-card__org{font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-base)}.timeline-card__location{display:flex;align-items:center;gap:.2rem}.timeline-card__note{font-size:var(--font-size-sm);color:var(--text-secondary);margin:var(--space-1) 0 0}.timeline-card__esg{display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:center;font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-2);padding-top:var(--space-2);border-top:var(--border-base)}.timeline-card__esg-sep{color:var(--border)}.map-loader{position:relative}#map-container{width:100%;height:320px;border:var(--border-base)}@media (max-width: 480px){.esg-grid{grid-template-columns:1fr}#map-container{height:260px}}
