@import"https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,600;0,8..60,700;1,8..60,400&family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Geist+Mono:wght@400;500;600&display=swap";:root{color-scheme:light;--background: #faf9f5;--surface-container-low: #ffffff;--surface-container: #f1efe8;--surface-container-high: #e6e2d6;--on-surface: #17181a;--on-surface-variant: #56585c;--outline: #17181a;--outline-variant: #dedad0;--primary: #17181a;--on-primary: #faf9f5;--primary-container: #f2b705;--on-primary-container: #17181a;--secondary: #1f4e5f;--tertiary: #785008;--error: #b42318;--on-error: #ffffff;--data-1: #1f4e5f;--data-2: #d99000;--data-3: #2b6e52;--data-4: #b84a39;--data-context: #c4bfb2;--positive: #2b6e52;--warning: #d99000;--focus: #17181a;--font-headline: "Source Serif 4", serif;--font-body: "Plus Jakarta Sans", sans-serif;--font-label: "Geist Mono", monospace;--rounded: .25rem;--rounded-lg: .375rem;--rounded-full: .25rem;--section-rule: 1.5px solid var(--outline);--card-border: 1px solid var(--outline-variant);--badge-radius: 2px;--heading-tracking: -.02em;--label-tracking: .08em;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--display-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.25rem);--headline-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem);--subhead-size: clamp(1.0625rem, 1rem + .25vw, 1.1875rem);--body-size: clamp(.9375rem, .9rem + .15vw, 1rem);--label-size: .75rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .22s;--dur-long: .42s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--background);color:var(--on-surface);font-family:var(--font-body);font-size:16px;line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,.headline{font-family:var(--font-headline);font-weight:600;letter-spacing:var(--heading-tracking);line-height:1.15;color:var(--on-surface)}.standfirst{font-family:var(--font-body);font-weight:600;color:var(--secondary);font-size:var(--subhead-size);margin-top:var(--space-xs)}.mono-meta{font-family:var(--font-label);font-size:var(--label-size);color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:var(--label-tracking)}.dossier-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm);border-bottom:var(--section-rule);padding-bottom:var(--space-sm);margin-bottom:var(--space-md)}.dossier-left{display:flex;align-items:center;gap:var(--space-sm)}.dossier-pill{background:var(--primary-container);color:var(--on-primary-container);font-family:var(--font-body);font-weight:700;font-size:.6875rem;letter-spacing:var(--label-tracking);text-transform:uppercase;padding:.1875rem .5rem;border-radius:var(--badge-radius);display:inline-flex;align-items:center;gap:.25rem}.dossier-pill-dark{background:var(--primary);color:var(--on-primary)}.dossier-pill-petrol{background:var(--secondary);color:var(--background)}.figure-card{background:var(--surface-container-low);border:var(--card-border);border-radius:var(--rounded-lg);padding:var(--space-md) var(--space-lg);position:relative}.aside-box{background:var(--surface-container);border-top:var(--section-rule);padding:var(--space-md);border-radius:var(--rounded)}.container{width:100%;max-width:1360px;margin:0 auto;padding:var(--space-lg) var(--space-md)}.masthead{padding-bottom:var(--space-lg);margin-bottom:var(--space-xl);border-bottom:3px double var(--outline)}.masthead-title{font-size:var(--display-size);margin-bottom:var(--space-xs)}.masthead-nav{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-md)}.nav-link-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.375rem .75rem;background:var(--surface-container);border:var(--card-border);border-radius:var(--rounded);font-family:var(--font-label);font-size:var(--label-size);font-weight:500;color:var(--on-surface);text-decoration:none;cursor:pointer;transition:background var(--dur-micro) var(--ease-out)}.nav-link-btn:hover{background:var(--surface-container-high)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-md);margin-bottom:var(--space-xl)}.kpi-card{background:var(--surface-container-low);border:var(--card-border);border-radius:var(--rounded-lg);padding:var(--space-md);border-top:3px solid var(--secondary)}.kpi-card.gold-accent{border-top-color:var(--primary-container)}.kpi-card.pine-accent{border-top-color:var(--positive)}.kpi-card.brick-accent{border-top-color:var(--data-4)}.kpi-label{font-family:var(--font-label);font-size:var(--label-size);text-transform:uppercase;letter-spacing:var(--label-tracking);color:var(--on-surface-variant);margin-bottom:var(--space-xs)}.kpi-value{font-family:var(--font-headline);font-size:2rem;font-weight:700;color:var(--on-surface);line-height:1.1;font-variant-numeric:lining-nums tabular-nums}.kpi-subtext{font-size:.8125rem;color:var(--on-surface-variant);margin-top:var(--space-xs)}.dossier-section{margin-bottom:var(--space-3xl);scroll-margin-top:var(--space-xl)}.map-command-center{display:grid;grid-template-columns:1fr 340px;gap:var(--space-md);margin-top:var(--space-md)}@media(max-width:980px){.map-command-center{grid-template-columns:1fr}}.map-viewport-panel{background:var(--surface-container-low);border:var(--card-border);border-radius:var(--rounded-lg);padding:var(--space-md);display:flex;flex-direction:column}.map-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--outline-variant);margin-bottom:var(--space-sm)}.toolbar-group{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.toolbar-btn{background:var(--surface-container);border:1px solid var(--outline-variant);border-radius:var(--rounded);padding:.3125rem .625rem;font-family:var(--font-label);font-size:var(--label-size);font-weight:500;color:var(--on-surface);cursor:pointer;display:inline-flex;align-items:center;gap:.25rem;transition:background var(--dur-micro) var(--ease-out)}.toolbar-btn:hover{background:var(--surface-container-high)}.toolbar-btn.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.layer-toggles{display:flex;gap:var(--space-sm);flex-wrap:wrap;padding:var(--space-xs) 0;font-size:.78125rem}.toggle-chip{display:inline-flex;align-items:center;gap:.3125rem;padding:.25rem .5rem;border-radius:var(--rounded);background:var(--surface-container);border:1px solid var(--outline-variant);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-chip input[type=checkbox]{accent-color:var(--secondary)}.map-stage{position:relative;width:100%;min-height:480px;background-color:#d6e2e9;border:1px solid var(--outline-variant);border-radius:var(--rounded);overflow:hidden}.svg-map{width:100%;height:100%;min-height:480px;display:block;-webkit-user-select:none;user-select:none;cursor:grab}.svg-map:active{cursor:grabbing}.map-inspector-panel{background:var(--surface-container-low);border:var(--card-border);border-radius:var(--rounded-lg);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.inspector-header{border-bottom:var(--section-rule);padding-bottom:var(--space-xs)}.inspector-body{font-size:.875rem;line-height:1.5;display:flex;flex-direction:column;gap:var(--space-sm)}.inspector-row{display:flex;justify-content:space-between;border-bottom:1px dashed var(--outline-variant);padding-bottom:.25rem}.inspector-row .label{color:var(--on-surface-variant);font-family:var(--font-label);font-size:.72rem;text-transform:uppercase}.inspector-row .val{font-weight:600;text-align:right}.filter-tabs-row{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin-bottom:var(--space-md);align-items:center}.tab-btn{background:var(--surface-container);border:1px solid var(--outline-variant);border-radius:var(--rounded);padding:.375rem .75rem;font-family:var(--font-label);font-size:var(--label-size);font-weight:500;color:var(--on-surface);cursor:pointer;transition:all var(--dur-micro) var(--ease-out)}.tab-btn:hover{background:var(--surface-container-high)}.tab-btn.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.search-input{padding:.375rem .75rem;border:1px solid var(--outline-variant);border-radius:var(--rounded);background:var(--surface-container-low);font-family:var(--font-body);font-size:.875rem;color:var(--on-surface);min-width:220px}.search-input:focus{outline:2px solid var(--focus);outline-offset:1px}.cards-grid-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-md)}.cards-grid-2{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:var(--space-md)}@media(max-width:640px){.cards-grid-3,.cards-grid-2{grid-template-columns:1fr}}.nation-card{background:var(--surface-container-low);border:var(--card-border);border-radius:var(--rounded-lg);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);transition:border-color var(--dur-micro) var(--ease-out),box-shadow var(--dur-micro) var(--ease-out)}.nation-card:hover{border-color:var(--secondary)}.nation-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-xs)}.nation-name{font-family:var(--font-headline);font-size:1.125rem;font-weight:600}.nation-region{font-family:var(--font-label);font-size:.7rem;color:var(--secondary);text-transform:uppercase}.metric-bar-wrap{width:100%;height:6px;background:var(--surface-container);border-radius:3px;overflow:hidden;margin-top:.25rem}.metric-bar-fill{height:100%;background:var(--primary-container)}.upg-card{background:var(--surface-container-low);border:var(--card-border);border-radius:var(--rounded-lg);padding:var(--space-md);border-left:4px solid var(--secondary);display:flex;flex-direction:column;gap:var(--space-sm)}.upg-header{display:flex;justify-content:space-between;align-items:baseline}.upg-badge{font-family:var(--font-label);font-size:.7rem;padding:.125rem .375rem;border-radius:var(--badge-radius);background:var(--surface-container);color:var(--on-surface-variant)}.timeline-wrap{position:relative;padding-left:var(--space-xl)}.timeline-wrap:before{content:"";position:absolute;top:0;bottom:0;left:.625rem;width:2px;background:var(--outline-variant)}.timeline-item{position:relative;margin-bottom:var(--space-xl)}.timeline-dot{position:absolute;left:-1.75rem;top:.25rem;width:1rem;height:1rem;border-radius:50%;background:var(--surface-container-low);border:3px solid var(--secondary)}.timeline-dot.gold{border-color:var(--primary-container);background:var(--on-surface)}.timeline-year{font-family:var(--font-label);font-size:var(--label-size);font-weight:600;color:var(--secondary);text-transform:uppercase;margin-bottom:.125rem}.timeline-title{font-family:var(--font-headline);font-size:1.25rem;font-weight:600;margin-bottom:var(--space-xs)}.planner-panel{background:var(--surface-container-low);border:var(--card-border);border-radius:var(--rounded-lg);padding:var(--space-xl)}.planner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg);margin-bottom:var(--space-xl)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-label{font-family:var(--font-label);font-size:var(--label-size);font-weight:600;text-transform:uppercase;letter-spacing:var(--label-tracking);color:var(--on-surface)}.form-select,.form-input,.form-textarea{padding:.5rem .75rem;border:1px solid var(--outline-variant);border-radius:var(--rounded);background:var(--surface-container-low);font-family:var(--font-body);font-size:.9375rem;color:var(--on-surface)}.form-select:focus,.form-input:focus,.form-textarea:focus{outline:2px solid var(--focus);outline-offset:1px}.btn-primary{background:var(--primary);color:var(--on-primary);border:1px solid var(--primary);border-radius:var(--rounded);padding:.625rem 1.25rem;font-family:var(--font-body);font-weight:600;font-size:.9375rem;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-sm);transition:opacity var(--dur-micro) var(--ease-out)}.btn-primary:hover{opacity:.9}.btn-secondary{background:var(--surface-container-low);color:var(--on-surface);border:1px solid var(--outline);border-radius:var(--rounded);padding:.625rem 1.25rem;font-family:var(--font-body);font-weight:600;font-size:.9375rem;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-sm);transition:background var(--dur-micro) var(--ease-out)}.btn-secondary:hover{background:var(--surface-container-high)}.output-dossier{background:var(--surface-container);border:1px solid var(--outline-variant);border-left:5px solid var(--primary-container);border-radius:var(--rounded);padding:var(--space-lg);margin-top:var(--space-lg)}.output-code-block{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--rounded);padding:var(--space-md);font-family:var(--font-label);font-size:.8125rem;line-height:1.5;white-space:pre-wrap;max-height:400px;overflow-y:auto;color:var(--on-surface)}.toast-notice{position:fixed;bottom:2rem;right:2rem;background:var(--on-surface);color:var(--background);padding:.75rem 1.25rem;border-radius:var(--rounded);font-family:var(--font-label);font-size:.8125rem;z-index:9999;display:none;box-shadow:0 4px 12px #00000026}@media print{.map-toolbar,.masthead-nav,.toolbar-btn,.tab-btn{display:none}}@media(max-width:640px){.container{padding:var(--space-md) .75rem}.dossier-left{flex-wrap:wrap}.search-input{min-width:0;width:100%}.cards-grid-3,.cards-grid-2,.planner-grid{grid-template-columns:minmax(0,1fr)}.planner-panel{padding:var(--space-md)}.map-stage,.svg-map{min-height:300px}.toast-notice{left:1rem;right:1rem;bottom:1rem}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.masthead-nav .nav-link-btn{flex:1 1 100%}.inspector-row{gap:.5rem}table{display:block;overflow-x:auto}}
