:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{color:#1d1d1f;background:#fbfbfd;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:17px}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}svg{flex-shrink:0}h1,h2,h3,p{margin:0}button:disabled{opacity:.4;cursor:default}code{background:#f5f5f7;border-radius:6px;padding:1px 6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.9em}.loading{text-align:center;color:#6e6e73;place-content:center;justify-items:center;gap:14px;min-height:100dvh;padding:24px;font-size:17px;display:grid}.loading h1{color:#1d1d1f;letter-spacing:-.02em;font-size:32px;font-weight:600}.loading .brand-mark{border:3px solid #e8e8ed;border-top-color:#1d1d1f;border-radius:50%;width:40px;height:40px;font-size:0;animation:1s linear infinite n-spin}.loading button{color:#06c}.h-hero{text-align:center;max-width:1080px;margin:0 auto;padding:96px 22px 104px}.h-hero h1{letter-spacing:-.04em;margin-top:8px;font-size:clamp(44px,7vw,80px);font-weight:700;line-height:1.04}.h-hero-sub{letter-spacing:-.016em;max-width:640px;color:var(--ink-2);margin:22px auto 0;font-size:21px;line-height:1.38}.timeline{justify-items:center;gap:18px;margin:52px auto 0;display:grid}.timeline-top{color:var(--ink-2);align-items:center;gap:20px;font-size:14px;display:flex}.timeline-top button{align-items:center;gap:6px;display:flex;color:var(--accent)!important}.timeline-top button:hover{text-decoration:underline}.year-track{background:#e8e8ed;border-radius:980px;max-width:100%;padding:4px;display:flex;overflow-x:auto}.year{color:var(--ink-2);font-variant-numeric:tabular-nums;transition:background .25s var(--ease),color .25s var(--ease);border-radius:980px;padding:10px 26px;font-size:17px;font-weight:500;display:block}.year i{display:none}.year:hover{color:var(--ink)!important}.year.active{color:var(--ink);background:#fff;box-shadow:0 1px 4px #0000001f}.h-explore{--bg:#000;--bg-alt:#161617;--tile:#1d1d1f;--tile-2:#2c2c2e;--ink:#f5f5f7;--ink-2:#a1a1a6;--ink-3:#86868b;--line:#38383a;--track:#3a3a3c;--accent:#2997ff;color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#000;padding:128px 22px 136px}.workspace{grid-template-columns:300px minmax(0,1fr) 340px;align-items:start;gap:20px;max-width:1320px;margin:0 auto;display:grid}.left-panel,.map-column,.right-panel{background:var(--tile);border-radius:24px;min-width:0}.left-panel,.right-panel{padding:24px}.section-label{letter-spacing:-.022em;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 12px;font-size:17px;font-weight:600;display:flex}.section-label>svg,.section-label>span+span{color:var(--ink-3);font-size:15px;font-weight:400}.search-area{position:relative}.search-box{background:var(--tile-2);height:40px;color:var(--ink-3);border-radius:12px;align-items:center;gap:8px;padding:0 12px;display:flex}.search-box:focus-within{outline:2px solid var(--accent)}.search-box input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:15px}.search-box input::placeholder{color:var(--ink-3)}.search-box kbd{font:inherit;color:var(--ink-3);border:1px solid var(--line);border-radius:6px;padding:0 6px;font-size:13px}.search-results{z-index:20;background:#2c2c2e;border-radius:14px;max-height:360px;padding:6px;position:absolute;top:46px;left:0;right:0;overflow:auto;box-shadow:0 20px 50px #00000080}.search-results button{text-align:left;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;width:100%;padding:10px 12px;display:grid}.search-results button:hover{background:#3a3a3c}.search-results small{color:var(--ink-3);grid-column:1;font-size:13px}.search-results span{grid-column:1;font-size:15px}.search-results svg{color:var(--ink-3);grid-area:1/2/3}.search-results p{color:var(--ink-2);padding:12px;font-size:15px}.lens-list{gap:6px;display:grid}.lens{text-align:left;transition:background .2s var(--ease);border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.lens:hover,.lens.active{background:var(--tile-2)}.lens-icon{width:32px;height:32px;color:var(--ink-2);background:#3a3a3c;border-radius:50%;justify-content:center;align-items:center;display:flex}.lens.active .lens-icon{background:var(--accent);color:#fff}.lens>span:nth-child(2){font-size:15px;font-weight:600}.lens small{color:var(--ink-2);font-size:13px;font-weight:400;display:block}.radio{display:none}.selected-party{background:var(--tile-2);border-radius:12px;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:15px;display:flex}.selected-party button{color:var(--ink-2);margin-left:auto}.party-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.places-list{scrollbar-width:thin;scrollbar-color:#48484a transparent;max-height:420px;margin:0 -10px;padding:0 10px;display:grid;overflow:auto}.place{border-top:1px solid var(--line);text-align:left;align-items:center;gap:10px;padding:12px 0;font-size:15px;display:flex}.place span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.place small{color:var(--ink-2);font-size:13px}.place svg{color:var(--ink-3)}.place:hover span,.place.active span{color:var(--accent)}.source-link{color:var(--ink-2);text-align:left;align-items:center;gap:8px;margin-top:18px;font-size:13px;display:flex}.source-link span{flex:1}.source-link:hover{color:var(--ink)!important}.map-column{flex-direction:column;display:flex;position:relative;overflow:hidden}.map-toolbar{color:var(--ink-2);align-items:center;gap:8px;padding:18px 20px 0;font-size:14px;display:flex}.breadcrumbs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.breadcrumbs button{color:var(--ink-2);align-items:center;gap:6px;display:flex}.breadcrumbs button:hover{color:var(--ink)!important}.view-switch{background:var(--tile-2);border-radius:10px;margin-left:auto;padding:2px;display:flex}.view-switch button{color:var(--ink-2);border-radius:8px;padding:6px 12px}.view-switch button.active{background:#636366;color:#fff!important}.map-heading{padding:20px 24px 0}.map-heading h2{letter-spacing:-.024em;font-size:32px;font-weight:600;line-height:1.12}.map-heading h2 span{color:var(--ink-3);margin-left:12px;font-weight:500}.map-heading p{color:var(--ink-2);margin-top:6px;font-size:15px}.map-stage{flex-direction:column;min-height:600px;display:flex;position:relative}.map-plane{width:100%;max-width:700px;transition:transform .5s var(--ease);margin:auto;padding:12px 28px 0}.country-map{width:100%;height:auto;display:block;overflow:visible}.province-shape{cursor:pointer;outline:none}.province-shape>path:first-child{transition:fill .7s var(--ease),fill-opacity .3s var(--ease)}:is(.province-shape:hover>path:first-child,.province-shape:focus-visible>path:first-child){fill-opacity:1;filter:brightness(1.12)}.province-shape:focus-visible>path:first-child{stroke:#2997ff;stroke-width:3px}.province-label,.city-marker text{paint-order:stroke;stroke:#0009;stroke-width:4px;stroke-linejoin:round;fill:#fff}.province-label{letter-spacing:-.01em;font-size:18px;font-weight:600}.city-marker{cursor:pointer}.city-marker text{fill:#e5e5ea;font-size:15px;font-weight:500}.neighbor{fill:#48484a;letter-spacing:.24em;font-size:14px}.ocean{letter-spacing:.24em;color:#3a3a3c;pointer-events:none;font-size:13px;line-height:1.5;position:absolute}.ocean-west{top:58%;left:5%}.ocean-east{text-align:right;top:74%;right:5%}.map-controls{border-radius:12px;flex-direction:column;gap:1px;display:flex;position:absolute;top:12px;right:16px;overflow:hidden}.map-controls button{-webkit-backdrop-filter:blur(12px);width:38px;height:38px;color:var(--ink);background:#3a3a3cd1;justify-content:center;align-items:center;display:flex}.map-controls button:hover{background:#48484ae6}.map-tooltip{-webkit-backdrop-filter:blur(16px);pointer-events:none;background:#2c2c2ee0;border-radius:14px;gap:4px;padding:12px 16px;display:grid;position:absolute;top:16px;left:24px}.map-tooltip strong{font-size:15px;font-weight:600}.map-tooltip span{align-items:center;gap:6px;font-size:15px;display:flex}.map-tooltip small{color:var(--ink-2);font-size:13px}.map-legend{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px 14px;padding:0 24px;font-size:13px;display:flex}.map-legend>span,.map-legend>button{align-items:center;gap:6px;display:inline-flex}.map-legend>button{color:var(--ink)}.map-legend>button:hover{color:var(--accent)!important}.legend-title{color:var(--ink-3)}.map-attribution{color:var(--ink-3);padding:8px 24px 20px;font-size:13px}.table-panel{padding:20px 24px 24px}.table-title{color:var(--ink-2);justify-content:space-between;align-items:center;gap:12px;font-size:15px;display:flex}.table-title button,.right-panel .icon-button{align-items:center;gap:6px;display:flex;color:var(--accent)!important}.atlas .table-scroll{max-height:620px;margin-top:12px;overflow:auto}.atlas table{border-collapse:collapse;width:100%;font-size:15px}.atlas th{background:inherit;text-align:left;color:var(--ink-2);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px 10px 0;font-size:13px;font-weight:500;position:sticky;top:0}.table-panel th{background:var(--tile)}.atlas td{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;padding:12px 12px 12px 0}.table-panel td button{text-align:left;align-items:center;gap:8px;display:flex}.table-panel td button span{color:var(--ink-2);font-size:13px}.footnote{color:var(--ink-3);margin-top:14px;font-size:13px}.empty{text-align:center;color:var(--ink-2);padding:40px 12px;font-size:15px}.result-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.result-header h3{letter-spacing:-.024em;font-size:28px;font-weight:600;line-height:1.14}.result-header span{color:var(--ink-2);margin-top:4px;font-size:13px;display:block}.detail-button{background:var(--tile-2);text-align:left;border-radius:14px;justify-content:space-between;align-items:center;width:100%;margin-top:18px;padding:14px 16px;font-size:15px;display:flex}.h-label{color:var(--ink-2);font-size:13px;display:block}.leader-card{margin-top:22px}.leader-title{justify-content:space-between;align-items:baseline;gap:12px;margin-top:6px;display:flex}.party-badge{font-size:17px;font-weight:600;border:0!important}.leader-title strong{letter-spacing:-.03em;font-size:40px;font-weight:600;line-height:1.1}.leader-card>p{color:var(--ink-2);text-transform:capitalize;margin-top:2px;font-size:13px}.support-track{background:var(--track);border-radius:4px;gap:1px;height:8px;margin:14px 0 10px;display:flex;overflow:hidden}.support-track span{height:100%;display:block}.leader-change{align-items:baseline;gap:8px;font-size:15px;font-weight:600;display:flex}.leader-change small{color:var(--ink-2);font-size:13px;font-weight:400}.result-metrics{grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;display:grid}.result-metrics>div{background:var(--tile-2);border-radius:14px;padding:14px 16px}.result-metrics small{color:var(--ink-2);font-size:13px}.result-metrics strong{letter-spacing:-.02em;margin-top:2px;font-size:24px;font-weight:600;display:block}.result-metrics strong span{color:var(--ink-2);font-size:15px;font-weight:400}.party-results{display:grid}.party-row{text-align:left;border-radius:10px;width:calc(100% + 16px);margin:0 -8px;padding:10px 8px;display:block}.party-row:hover,.party-row.selected{background:var(--tile-2)}.party-row-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.party-row-top span{align-items:center;gap:8px;font-size:15px;font-weight:500;display:flex}.party-row-top b{font-size:15px;font-weight:600}.party-bar{background:var(--track);border-radius:3px;height:6px;margin:8px 0 6px;overflow:hidden}.party-bar i{border-radius:inherit;height:100%;transition:width .8s var(--ease);display:block}.party-change{color:var(--ink-2);justify-content:space-between;font-size:13px;display:flex}.party-change span{color:var(--ink-3)}.show-all{align-items:center;gap:6px;margin-top:8px;font-size:15px;display:flex;color:var(--accent)!important}.interpretation{background:var(--tile-2);color:var(--ink-2);border-radius:14px;gap:12px;margin-top:20px;padding:16px;font-size:13px;line-height:1.4;display:flex}.interpretation svg{color:var(--ink-3)}.story-card{text-align:left;background:linear-gradient(135deg,#0a3d7a,#1d1d1f 70%);border-radius:14px;gap:10px;width:100%;margin-top:12px;padding:18px;display:grid}.story-card strong{font-size:17px;font-weight:600;line-height:1.3}.story-card strong br{display:none}.story-card>span{color:#64b5ff;align-items:center;gap:6px;font-size:15px;display:flex}.story-card:hover{filter:brightness(1.12)}.footer{color:#6e6e73;background:#f5f5f7;border-top:1px solid #d2d2d7;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:20px max(22px,50% - 540px);font-size:13px;display:flex}.footer i{display:none}.footer button{color:#06c;align-items:center;gap:4px;margin-left:auto;display:flex}.toast{z-index:300;-webkit-backdrop-filter:blur(20px);color:#f5f5f7;max-width:min(520px,100vw - 32px);animation:n-toast .4s var(--ease);background:#1d1d1feb;border-radius:16px;align-items:center;gap:8px;padding:13px 20px;font-size:15px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(12px);animation:n-fade .25s var(--ease);background:#0000005c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{color:#1d1d1f;width:100%;max-width:780px;max-height:calc(100dvh - 48px);animation:n-rise .35s var(--ease);background:#fff;border-radius:28px;padding:60px 56px 48px;position:relative;overflow:auto;box-shadow:0 30px 80px #00000040}.modal-close{color:#6e6e73;background:#f5f5f7;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:absolute;top:18px;right:18px}.modal>h2{letter-spacing:-.028em;margin-bottom:20px;padding-right:40px;font-size:40px;font-weight:600;line-height:1.1}.modal h3{letter-spacing:-.016em;margin:28px 0 4px;font-size:21px;font-weight:600}.modal p{color:#6e6e73;margin:12px 0;font-size:17px}.modal a{color:#06c}.modal a:hover{text-decoration:underline}.modal table{border-collapse:collapse;width:100%;font-size:15px}.modal th{text-align:left;color:#6e6e73;border-bottom:1px solid #d2d2d7;padding:10px 12px 10px 0;font-size:13px;font-weight:500}.modal td{font-variant-numeric:tabular-nums;border-bottom:1px solid #e8e8ed;padding:12px 12px 12px 0}.modal .table-scroll{max-height:52vh;margin:16px 0;overflow:auto}.source-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0;display:grid}.source-stats>div{background:#f5f5f7;border-radius:18px;padding:20px}.source-stats b{letter-spacing:-.024em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;display:block}.source-stats small{color:#6e6e73;font-size:13px}.source-list{margin:12px 0;padding:0;list-style:none}.source-list li{border-top:1px solid #e8e8ed;gap:2px;padding:12px 0;display:grid}.source-list span{color:#6e6e73;font-size:15px}.modal-buttons{flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:28px;display:flex}.primary-button{background:#0071e3;border-radius:980px;align-items:center;gap:8px;padding:10px 20px;font-size:17px;display:inline-flex;color:#fff!important;text-decoration:none!important}.primary-button:hover{background:#0077ed}.stories{gap:12px;display:grid}.stories button{text-align:left;background:#f5f5f7;border-radius:20px;gap:6px;padding:24px;display:grid}.stories button:hover{background:#e8e8ed}.stories h3{margin:0;font-size:21px}.stories p{margin:0;font-size:15px}.stories button>span:last-child{color:#06c;align-items:center;gap:6px;font-size:15px;display:flex}.capture-warning{color:#6e6e73;background:#f5f5f7;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.detail-selects{gap:16px;margin:20px 0;display:flex}.detail-selects label{color:#6e6e73;flex:1;gap:6px;font-size:13px;display:grid}.modal select{font:inherit;color:#1d1d1f;background:#fff;border:1px solid #d2d2d7;border-radius:12px;height:40px;padding:0 12px;font-size:15px}.raw-detail summary{color:#06c;cursor:pointer;font-size:15px}.modal pre{background:#f5f5f7;border-radius:14px;max-height:40vh;padding:16px;font-size:13px;line-height:1.5;overflow:auto}.detail-error p{font-size:15px}@media (max-width:1200px){.workspace{grid-template-columns:290px minmax(0,1fr)}.right-panel{grid-column:1/-1}}@media (max-width:900px){.workspace{grid-template-columns:minmax(0,1fr)}.map-column{order:1}.left-panel{order:2}.right-panel{order:3}.h-explore{padding-top:88px;padding-bottom:88px}}@media (max-width:640px){.province-label,.city-marker text{display:none}.map-legend>button{padding:10px 4px}.right-panel .icon-button{margin:-12px;padding:12px}.show-all,.source-link,.breadcrumbs button{padding:10px 0}.search-box{height:44px}.year{min-height:44px}.timeline-top button{padding:10px 0}.view-switch button{padding:9px 14px}.map-controls button{width:44px;height:44px}.lens{min-height:56px}.place{min-height:48px}.footer{flex-direction:column;align-items:flex-start}.footer button{margin-left:0;padding:8px 0}.modal-close{width:44px;height:44px;top:12px;right:12px}.h-hero{padding:64px 16px 72px}.h-hero-sub{font-size:19px}.year{padding:9px 14px;font-size:15px}.h-explore{padding-left:16px;padding-right:16px}.left-panel,.right-panel{padding:20px}.map-stage{min-height:400px}.ocean{display:none}.map-plane{padding:8px 12px 0}.modal-backdrop{align-items:flex-end;padding:0}.modal{border-radius:24px 24px 0 0;max-height:92dvh;padding:52px 20px 32px}.modal>h2{font-size:28px}.source-stats{grid-template-columns:1fr}.detail-selects{flex-direction:column}}
