@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0}}}@layer theme{:root,:host{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.flex{display:flex}.hidden{display:none}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}}:root{--ink:#18352f;--muted:#506459;--paper:#f7f8f4;--surface:#fff;--line:#dce3da;--ocean:#e9f0ee;--selected:#e7efe4;--action:#285c49;--focus:#2869ba;--control-line:#94a79a;--radius:12px;font-family:var(--font-sans);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;font-size:14px;line-height:1.6}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,summary{cursor:pointer}button,input,select,summary,a{outline-offset:4px}:where(a,button,input,select,summary):focus-visible{outline:3px solid var(--focus)}button:disabled{cursor:wait;color:var(--muted)}input,select{accent-color:var(--action);caret-color:var(--action)}input::placeholder{color:#59695e;opacity:1}input[type=checkbox]{flex-shrink:0;width:17px;height:17px}input[type=range]{cursor:pointer;width:100%;min-height:44px}::selection{color:var(--ink);background:#c9dfce}[hidden]{display:none!important}h1,h2,h3{text-wrap:balance}h1{letter-spacing:-.035em;margin:0;font-size:2.571rem;font-weight:650;line-height:1.2}h2{letter-spacing:-.025em;font-size:1.714rem;font-weight:650;line-height:1.3}h3{letter-spacing:-.015em;font-size:1.286rem;font-weight:650;line-height:1.4}.icon{vertical-align:-3px;flex-shrink:0;width:18px;height:18px;display:inline-block}.shell{max-width:1160px;margin:auto;padding-inline:32px}#main:focus{outline:none}.skip-link{z-index:10;clip-path:inset(50%);white-space:nowrap;border:2px solid var(--ink);background:#fff;width:1px;height:1px;position:fixed;top:8px;left:8px;overflow:hidden}.skip-link:focus-visible{clip-path:none;width:auto;height:auto;padding:12px 18px}.site-header{background:var(--surface);border-bottom:1px solid var(--line)}.site-header>.shell{min-height:88px}.brand{letter-spacing:-.035em;align-items:center;gap:12px;font-size:30px;font-weight:750;line-height:1;text-decoration:none;display:flex}.brand-icon{width:40px;height:40px;color:var(--ink);flex-shrink:0}.brand-sub{letter-spacing:1.6px;color:var(--muted);margin-top:7px;font-size:8px;font-weight:600;line-height:1.2;display:block}.edition{letter-spacing:1.4px;color:var(--muted);align-items:center;gap:16px;font-size:10px;display:flex}.edition strong{color:var(--ink);letter-spacing:.04em;background:var(--paper);border-radius:6px;padding:7px 10px;font-size:14px}.hub-nav{border-bottom:1px solid var(--line);gap:8px;padding-top:8px;display:flex}.hub-nav a{min-height:56px;color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:13px;text-decoration:none;display:flex}.hub-nav a:hover{color:var(--ink);background:#edf2eb}.hub-nav a[aria-current=page]{border-bottom-color:var(--action);color:var(--ink);background:#edf2eb;font-weight:650}.hub-nav a:focus-visible{outline-offset:-4px}.hub-nav .icon{width:17px;height:17px}.hero{justify-content:space-between;align-items:center;gap:32px;padding:32px 0 28px;display:flex}.hero-description{max-width:65ch;color:var(--muted);margin-top:10px;font-size:14px;line-height:1.7}.election-date{color:var(--muted);border-left:1px solid var(--line);flex-shrink:0;align-items:center;gap:12px;padding-left:24px;font-size:12px;display:flex}.election-date>.icon{width:22px;height:22px}.election-date strong{color:var(--ink);margin-top:3px;font-size:14px;font-weight:600;display:block}.notice{color:#6b5120;background:#fbf5e7;border:1px solid #e4d4aa;border-radius:8px;align-items:center;gap:12px;margin-bottom:32px;padding:3px 14px;font-size:12px;line-height:1.7;display:flex}.notice>p{flex:1}.notice>.icon{width:17px;height:17px}.notice>a{justify-content:center;align-items:center;gap:7px;min-height:44px;font-weight:600;text-decoration:none;display:inline-flex}.notice>a:hover{text-decoration:underline}.notice>a>.icon{width:15px;height:15px}.reference-notice{color:#284c3b;background:#edf3ee;border-color:#cbd9d0}.hub-view{min-width:0}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.section-intro{max-width:75ch;color:var(--muted);margin:10px 0 24px;font-size:14px;line-height:1.75}.tag{color:#41583e;letter-spacing:.055em;background:#e8eee5;border-radius:4px;flex-shrink:0;padding:5px 8px;font-size:10px;font-weight:650;line-height:1.6;display:inline-block}.tiny,.muted{color:var(--muted);font-size:12px;line-height:1.75}.tiny{margin-top:12px}.external-icon{vertical-align:-2px;margin-left:3px;display:inline-block}.results-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.results-toolbar p{color:var(--muted);margin-top:5px;font-size:13px}.demo-toggle{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:8px 12px;font-size:12px;display:flex}.demo-toggle:hover{border-color:var(--control-line)}.demo-toggle:has(input:checked){color:#6b5120;background:#fbf5e7;border-color:#e4d4aa}.feed-notice{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 24px;margin:20px 0;padding:16px 20px;display:flex}.feed-message{flex:520px;gap:12px;font-size:12px;line-height:1.7;display:flex}.feed-message>.icon{color:var(--muted);margin-top:3px}.feed-message strong{font-size:13px;font-weight:600}.feed-message strong+p,.feed-message p+p{color:var(--muted);margin-top:5px}.feed-actions{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.feed-actions a{align-items:center;gap:7px;min-height:44px;font-size:12px;font-weight:600;display:inline-flex}.feed-actions .icon{width:15px;height:15px}.status-strip{border-block:1px solid var(--line);font-variant-numeric:tabular-nums;grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0 24px;padding:22px 24px;display:grid}.status-strip>div{border-left:1px solid var(--line);min-width:0;padding:0 24px}.status-strip>div:first-child{border-left:0;padding-left:0}.status-strip>div:last-child{padding-right:0}.status-strip dt{color:var(--muted);margin-bottom:7px;font-size:12px}.status-strip dd{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:22px;font-weight:600;line-height:1.35}.waiting-room{border-radius:var(--radius);background:var(--ocean);grid-template-columns:40px minmax(0,1fr);gap:20px;padding:32px;display:grid}.waiting-icon{color:#365e4c;border:1px solid #b6c9bd;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.waiting-icon .icon{width:22px;height:22px}.waiting-room h3{letter-spacing:-.025em;max-width:34ch;font-size:24px;line-height:1.35}.waiting-room p{max-width:70ch;color:var(--muted);margin-top:14px;font-size:14px;line-height:1.8}.waiting-room .section-link{margin-top:20px}.section-link{align-items:center;gap:10px;min-height:44px;font-size:13px;font-weight:600;display:inline-flex}.reading-grid{grid-template-columns:1fr 1fr;gap:40px;margin:32px 0 40px;display:grid}.reading-grid>section{border-top:1px solid var(--line);padding-top:22px}.reading-grid h3,.subheading{letter-spacing:-.02em;font-size:18px;font-weight:650}.reading-grid p{color:var(--muted);margin:10px 0 8px;font-size:14px;line-height:1.8}.reading-grid a{align-items:center;min-height:44px;font-size:13px;font-weight:600;display:inline-flex}.dashboard-grid{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:24px;display:grid}.results-card,.summary-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:28px}.card-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-heading h3{font-size:15px}.card-heading>span,.mini-label{color:var(--muted);font-size:12px}.party-list{margin:24px 0 0;padding:0;list-style:none}.party-list li{margin-bottom:22px}.party-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;display:flex}.party-name{align-items:center;gap:9px;min-width:0;font-size:13px;font-weight:600;line-height:1.5;display:flex}.party-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.party-numbers{font-variant-numeric:tabular-nums;flex-shrink:0;align-items:baseline;gap:20px;display:flex}.party-numbers>span{color:var(--muted);font-size:12px}.party-numbers strong{text-align:right;min-width:58px;font-size:18px;font-weight:650}.party-numbers small{margin-left:2px;font-size:11px}.bar-track{background:#edf1e9;border-radius:3px;height:6px;overflow:hidden}.bar-fill{border-radius:3px;height:100%}.card-footnote{border-top:1px solid var(--line);color:var(--muted);margin-top:8px;padding-top:18px;font-size:12px;line-height:1.75}.big-number{letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin:12px 0 4px;font-size:40px;font-weight:650;line-height:1.2}.summary-divider{background:var(--line);height:1px;margin:22px 0 18px}.summary-card strong{font-size:12px}.official-card{color:#f7faf5;border-radius:var(--radius);background:#183e33;padding:26px}.official-card .mini-label{color:#c3d2c7;font-size:10px}.official-card h3{margin:12px 0;font-size:23px;line-height:1.3}.official-card p{color:#c3d2c7;font-size:13px;line-height:1.8}.official-card a{justify-content:space-between;align-items:center;min-height:44px;margin-top:12px;font-size:13px;font-weight:600;text-decoration:none;display:flex}.official-card a:hover{text-decoration:underline}.explorer-section,.analysis-section{border-top:1px solid var(--line);margin-top:40px;padding-top:32px;scroll-margin-top:24px}.hub-view>.explorer-section,.hub-view>.analysis-section{border-top:0;margin-top:0;padding-top:0}.explorer-tools{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:20px;margin-bottom:24px;display:grid}.explorer-tools label,.directory-search,.party-select{font-size:12px;font-weight:600}.explorer-tools input,.explorer-tools select,.directory-search input,.party-select select{border:1px solid var(--control-line);background:var(--surface);width:100%;min-height:46px;color:var(--ink);border-radius:8px;margin-top:8px;padding:10px 12px;font-size:14px;font-weight:400;display:block}:where(.explorer-tools input,.explorer-tools select,.directory-search input,.party-select select):hover{border-color:var(--action)}.directory-search{max-width:440px;margin:24px 0 20px;display:block}.layer-switch{flex-wrap:wrap;gap:6px;margin:24px 0;display:flex}.layer-switch button{border:1px solid var(--control-line);background:var(--surface);border-radius:8px;min-height:44px;padding:8px 16px;font-size:13px}.layer-switch button:hover{background:var(--selected)}.layer-switch button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.explorer-grid{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.geographic-view{background:var(--ocean);border-radius:11px 0 0 11px;min-width:0;padding:24px}.map-heading{justify-content:space-between;align-items:center;display:flex}.map-heading h3,.geographic-view>h3{font-size:16px}.map-heading>span{color:var(--muted);font-size:12px}.electorate-map{aspect-ratio:360/570;isolation:isolate;width:100%;max-width:360px;margin:16px auto 8px;position:relative}.nz-coast{width:100%;height:100%;position:absolute;inset:0}.nz-coast path{fill:#fcfdf8;stroke:#96ada1;stroke-width:.8px;vector-effect:non-scaling-stroke}.map-point{z-index:1;background:0 0;border:0;width:32px;height:32px;padding:0;position:absolute;transform:translate(-50%,-50%)}.map-point:after{content:"";background:var(--marker-color);border:2px solid #fff;border-radius:50%;width:13px;height:13px;position:absolute;top:9.5px;left:9.5px;box-shadow:0 1px 4px #18352f50}.map-point[aria-pressed=true]{z-index:3}.map-point[aria-pressed=true]:after{outline:2px solid var(--ink);outline-offset:3px}.map-point span{width:max-content;max-width:150px;color:var(--ink);text-align:left;pointer-events:none;background:#fff;border-radius:4px;padding:5px 8px;font-size:11px;display:none;position:absolute;top:30px;left:-42px;box-shadow:0 2px 6px #18352f20}.map-point:hover,.map-point:focus-visible{z-index:4}.map-point:hover span,.map-point:focus-visible span,.map-point[aria-pressed=true] span{display:block}.map-credit{color:var(--muted);margin:14px 0;font-size:11px;line-height:1.7}.map-legend{flex-wrap:wrap;gap:16px;font-size:12px;list-style:none;display:flex}.map-legend li{align-items:center;gap:7px;display:flex}.electorate-results{min-width:0;padding:24px}.electorate-results>.tiny{margin:0 0 12px}.electorate-list{scrollbar-color:#97ad9c #edf2eb;max-height:252px;padding:4px;overflow-y:auto}.electorate-list button{border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:48px;padding:12px;font-size:13px;display:flex}.electorate-list button:hover{background:#f1f5ee}.electorate-list button[aria-pressed=true]{background:var(--selected);color:var(--ink);font-weight:650}.list-leader{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.candidate-details{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.candidate-details h3{font-size:24px}.leading-note{color:var(--muted);margin:10px 0 18px;font-size:12px;line-height:1.8}.candidate-details ul{list-style:none}.candidate-details li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:18px 0;font-size:13px;display:flex}.candidate-details li>span{min-width:0}.candidate-details strong{font-weight:600}.candidate-details small{color:var(--muted);align-items:center;gap:6px;margin-top:5px;font-size:12px;font-weight:400;line-height:1.6;display:flex}.candidate-details li>strong{text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0}.candidate-details li>strong small{justify-content:flex-end}.representative{border-bottom:1px solid var(--line);margin-bottom:20px;padding:20px 0}.representative>span{color:var(--muted);margin-bottom:8px;font-size:12px;display:block}.representative>strong{font-size:18px;display:block}.representative p{color:var(--muted);margin:12px 0;font-size:12px;line-height:1.8}.representative a{font-size:12px}.empty-state{padding:32px 0;font-size:14px;line-height:1.8}.empty-state button,.primary-button{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:8px;min-height:44px;padding:10px 16px;font-size:13px;font-weight:600}.empty-state button{margin-top:14px}.empty-state button:hover,.primary-button:hover{background:var(--action)}.party-directory{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:40px;margin:20px 0 32px;list-style:none;display:grid}.party-directory li{border-bottom:1px solid var(--line);grid-template-columns:8px minmax(0,1fr);align-items:center;gap:5px 12px;padding:18px 0;font-size:14px;display:grid}.party-directory li>span:last-child{color:var(--muted);grid-column:2;font-size:12px}.coalition-rows{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:24px 0 36px;display:grid}.coalition-rows h3{min-height:44px;font-size:15px}.coalition-rows p{color:var(--muted);font-size:12px;line-height:1.8}.coalition-rows strong{color:var(--ink)}.coalition-meter{background:#dce5db;border-radius:4px;height:7px;margin:16px 0;position:relative}.coalition-meter span{background:#456e57;border-radius:4px;height:100%;display:block}.coalition-meter i{border-left:2px solid var(--ink);height:17px;position:absolute;top:-5px;left:50.833%}.scenario-grid{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:40px;padding:28px;display:grid}.parliament-chart{width:100%;height:auto}.chamber-total{fill:var(--ink);font-size:30px;font-weight:650}.chamber-label{fill:var(--muted);font-size:10px}.seat-legend{grid-template-columns:1fr;gap:0;margin-top:16px;list-style:none;display:grid}.seat-legend li{font-variant-numeric:tabular-nums;border-bottom:1px solid #edf0ea;justify-content:space-between;align-items:center;gap:12px;min-height:38px;padding:8px 0;font-size:12px;display:flex}.seat-legend .party-name{font-size:12px}.seat-legend li>strong{flex-shrink:0}.seat-legend small{color:var(--muted);font-size:11px;font-weight:400}.party-select{flex-direction:column;gap:0;max-width:360px;margin-bottom:20px;display:flex}.scenario-controls>label:not(.party-select){justify-content:space-between;gap:12px;font-size:13px;display:flex}.scenario-controls>input{margin:4px 0 0}.text-button{min-height:44px;color:var(--action);text-underline-offset:4px;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:0 4px;font-size:12px;text-decoration:underline;display:inline-flex}.text-button:hover:not(:disabled){color:var(--ink)}.text-button:disabled{text-decoration:none}.preset-choices{border-top:1px solid var(--line);margin-top:8px;padding-top:18px}.preset-choices p{margin-bottom:10px;font-size:13px;font-weight:600}.preset-choices button{border:1px solid var(--control-line);background:var(--paper);text-align:left;border-radius:8px;width:100%;min-height:44px;margin:8px 0;padding:10px 12px;font-size:12px;display:block}.preset-choices button:hover{background:var(--selected)}.scenario-controls fieldset{border:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 16px;margin-top:24px;display:grid}.scenario-controls legend{margin-bottom:10px;font-size:13px;font-weight:600}.partner-choice{overflow-wrap:anywhere;cursor:pointer;align-items:center;gap:8px;min-height:44px;font-size:12px;line-height:1.6;display:flex}.coalition-total{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;font-size:14px}.coalition-total strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:36px}.scenario-controls>p:not(.coalition-total):not(.tiny){margin-top:6px;font-size:13px}.methodology{border-top:1px solid var(--line);color:var(--muted);margin-top:24px;font-size:12px;line-height:1.8}.methodology summary{min-height:48px;padding:12px 0;font-weight:600}.methodology p{max-width:85ch;padding-bottom:16px}.target-inputs{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.target-inputs label{min-width:0;font-size:12px;font-weight:600}.target-inputs span{align-items:center;gap:12px;margin-top:6px;display:flex}.target-inputs input{min-width:0}.target-inputs output{text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;width:55px}.analysis-answer{border-radius:var(--radius);letter-spacing:-.015em;background:#e9efe5;max-width:70ch;margin:24px 0 18px;padding:22px 24px;font-size:22px;font-weight:600;line-height:1.5}.analysis-section{margin-bottom:36px}.analysis-empty{border-radius:var(--radius);background:#edf2eb;margin:24px 0;padding:28px}.analysis-empty h3{font-size:22px}.analysis-empty p{color:var(--muted);max-width:70ch;margin:12px 0 18px;font-size:14px;line-height:1.8}.subheading{margin-top:32px}.coverage-list{margin:20px 0 24px}.coverage-list>div{border-bottom:1px solid var(--line);grid-template-columns:1fr 2fr;gap:24px;padding:16px 0;font-size:13px;line-height:1.8;display:grid}.coverage-list dt{font-weight:600}.coverage-list dd{color:var(--muted)}.source-note{margin:24px 0;font-size:13px;line-height:1.9}.source-ledger{margin:28px 0}.source-ledger>div{border-bottom:1px solid var(--line);grid-template-columns:1fr 3fr;gap:32px;padding:24px 0;font-size:14px;line-height:1.8;display:grid}.source-ledger dt{font-weight:600}.source-ledger dd>strong{margin-top:8px;font-size:12px;display:block}.source-ledger p{max-width:75ch;color:var(--muted);margin-top:8px;font-size:13px}footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;margin-top:36px;padding:24px 0 30px;font-size:11px;line-height:1.8;display:flex}footer strong{color:var(--ink);letter-spacing:-.02em;font-size:15px;font-weight:700}.footer-separator{color:#738276;padding-inline:10px}@media(max-width:900px){.hub-nav{gap:0}.hub-nav a{flex:1;padding-inline:12px}.hero{gap:24px}h1{font-size:2.286rem}.election-date{padding-left:16px}.election-date>.icon{display:none}.scenario-grid{gap:28px}}@media(max-width:700px){.shell{padding-inline:20px}.site-header>.shell{min-height:80px}.brand{gap:10px;font-size:28px}.brand-icon{width:36px;height:36px}.brand-sub{letter-spacing:1.4px;margin-top:6px;font-size:7px}.edition{letter-spacing:0;gap:0;font-size:0}.edition strong{font-size:13px}.hub-nav{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:8px;display:grid}.hub-nav a{gap:6px;min-height:48px;padding-inline:4px;font-size:12px}.hub-nav .icon{width:15px;height:15px}.hero{flex-direction:column;align-items:flex-start;gap:16px;padding:26px 0 22px}h1{font-size:2.143rem}.hero-description{margin-top:10px;font-size:13px}.election-date{border:0;padding-left:0;font-size:11px}.election-date>.icon{width:17px;height:17px;display:block}.election-date p{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.election-date strong{margin:0;font-size:12px}.notice{align-items:flex-start;gap:9px;margin-bottom:28px;padding:12px}.notice>.icon{margin-top:2px}.notice>a{min-width:44px;min-height:44px;font-size:0}.notice>a>.icon{width:18px;height:18px}h2{font-size:1.571rem}.section-heading{flex-wrap:wrap;gap:10px}.results-toolbar{gap:14px;margin-bottom:16px}.results-toolbar h2{font-size:22px}.results-toolbar p{font-size:12px}.demo-toggle{padding:8px 10px;font-size:12px}.feed-notice{gap:10px;margin:16px 0;padding:16px}.feed-message{gap:9px}.feed-actions{border-top:1px solid var(--line);justify-content:space-between;gap:8px;width:100%;padding-top:4px}.status-strip{grid-template-columns:1fr;gap:14px;margin:16px 0 20px;padding:18px 0}.status-strip>div{border-left:0;justify-content:space-between;align-items:baseline;gap:16px;padding:0;display:flex}.status-strip dt{margin:0}.status-strip dd{text-align:right;max-width:58%;font-size:16px}.waiting-room{grid-template-columns:1fr;gap:16px;padding:24px}.waiting-room h3{font-size:22px}.waiting-room p{font-size:13px}.reading-grid,.party-directory,.coalition-rows,.dashboard-grid,.explorer-grid,.scenario-grid,.target-inputs{grid-template-columns:1fr}.reading-grid{gap:24px;margin:28px 0 32px}.reading-grid>section{padding-top:20px}.reading-grid p{font-size:13px}.reading-grid a{font-size:12px}.results-card,.summary-card{padding:20px}.party-numbers{gap:10px}.party-name{gap:7px;font-size:12px}.party-numbers>span{font-size:11px}.party-numbers strong{min-width:52px;font-size:17px}.party-row{align-items:baseline;gap:8px}.explorer-tools{grid-template-columns:1fr;gap:16px}.layer-switch{gap:6px}.layer-switch button{padding:8px 10px;font-size:12px}.geographic-view{border-radius:11px 11px 0 0;padding:20px}.electorate-results{padding:20px}.electorate-map{max-width:310px}.party-directory{gap:0}.coalition-rows{gap:24px}.coalition-rows h3{min-height:0}.scenario-grid{gap:28px;padding:20px}.party-select{max-width:none}.target-inputs{gap:20px}.analysis-answer{padding:20px;font-size:20px}.analysis-empty{padding:24px}.coverage-list>div,.source-ledger>div{grid-template-columns:1fr;gap:6px}.source-ledger{margin-top:20px}footer{flex-direction:column;align-items:flex-start;gap:8px;margin-top:28px;padding-top:20px}}@media(prefers-reduced-motion:no-preference){.map-point:after{transition:box-shadow .18s ease-out}}.election-metrics{background:#fcfcf8;border:1px solid #dce3da;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 24px;display:grid}.election-metrics>div{min-width:0;padding:24px}.election-metrics>div+div{border-left:1px solid #dce3da}.election-metrics dt{letter-spacing:.1em;color:#506459;font-size:10px;font-weight:650}.election-metrics dd{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:12px 0 8px;font-size:clamp(19px,2.3vw,28px);font-weight:600}.election-metrics p{color:#506459;margin:0;font-size:12px}.signal-dot{background:#9b7833;border-radius:50%;width:8px;height:8px;margin:0 10px 3px 0;display:inline-block}.signal-active{background:#397b5b;box-shadow:0 0 0 4px #397b5b15}.night-grid{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.night-card{background:#fff;border:1px solid #dce3da;border-radius:14px;padding:28px}.night-card-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.night-card-heading .eyebrow{margin:0 0 8px}.night-card-heading h3{letter-spacing:-.04em;margin:0;font-size:24px;font-weight:650}.election-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:338px;padding:30px 10px;display:flex}.election-empty svg{color:#91a397;margin-bottom:22px}.election-empty .eyebrow{margin:0 0 12px;font-size:9px}.election-empty h4{letter-spacing:-.04em;margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(26px,3vw,34px);font-weight:400}.election-empty>p:not(.eyebrow){color:#506459;max-width:44ch;margin:0;font-size:14px;line-height:1.8}.empty-source-link{text-underline-offset:4px;align-items:center;min-height:44px;margin-top:20px;font-size:12px;display:inline-flex}.night-footnote{color:#506459;border-top:1px solid #e8ece6;margin:0;padding-top:18px;font-size:12px;line-height:1.7}.night-sidebar{gap:24px;display:grid}.night-sidebar .official-card{background:#173d32;border-radius:14px;padding:30px}.night-sidebar .official-card h3{margin:22px 0 18px;font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:400;line-height:1.18}.night-sidebar .official-card p{font-size:13px}.night-sidebar .official-card a{border-top:1px solid #ffffff25;margin-top:22px}.seat-status{background:#ecefe6;border:1px solid #dce3da;border-radius:14px;padding:24px 28px}.seat-status .eyebrow{margin:0 0 12px}.seat-status h3{letter-spacing:-.025em;font-size:19px;font-weight:600}.seat-status>p:not(.eyebrow){color:#506459;margin:12px 0;font-size:13px;line-height:1.8}.seat-status a{align-items:center;gap:24px;min-height:44px;font-size:12px;font-weight:600;display:inline-flex}@media(max-width:700px){.election-metrics{grid-template-columns:1fr}.election-metrics>div{grid-template-columns:1fr auto;align-items:center;gap:8px;padding:18px 20px;display:grid}.election-metrics>div+div{border-top:1px solid #dce3da;border-left:0}.election-metrics dd{margin:0;font-size:20px}.election-metrics p{grid-column:1/-1}.night-grid{grid-template-columns:1fr}.night-card{padding:22px}.election-empty{min-height:360px;padding-left:0;padding-right:0}.night-card-heading .tag{padding:7px;font-size:8px}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.hub-nav{flex-wrap:wrap}.hub-nav a{padding-inline:12px}.hub-nav a:last-child{color:var(--action);margin-left:auto;font-weight:650}.prediction-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:28px;display:grid}.prediction-layout .directory-search{margin-top:0}.prediction-inputs{margin-top:24px}.prediction-input-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(110px,1.3fr) 72px 88px;align-items:center;gap:10px;padding:14px 0;display:grid}.prediction-input-row label{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.prediction-input-row input,.prediction-input-row select,.assumption-field input,.scenario-table input{border:1px solid var(--control-line);width:100%;min-width:0;min-height:44px;color:var(--ink);background:#fff;border-radius:6px;padding:8px}.prediction-input-row small{color:var(--muted);grid-column:1/-1;font-size:12px}.assumption-field{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.assumption-field input{width:82px}.prediction-totals{flex-wrap:wrap;gap:24px;margin:22px 0;display:flex}.prediction-totals dt{color:var(--muted);font-size:12px}.prediction-totals dd{font-variant-numeric:tabular-nums;font-size:24px;font-weight:650}.validation-message{color:#6b5120;background:#fbf5e7;border:1px solid #e4d4aa;border-radius:8px;margin:16px 0;padding:12px;font-size:13px}.prediction-actions{flex-wrap:wrap;align-items:center;gap:10px 18px;margin:18px 0;display:flex}.preview-heading{margin-bottom:16px}.prediction-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:24px}.prediction-card-brand{background:var(--ink);color:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding:16px;font-size:26px;font-weight:700;display:flex}.prediction-card-brand span{letter-spacing:.08em;font-size:10px;font-weight:500}.prediction-card h3{overflow-wrap:anywhere;font-size:24px}.prediction-card .tag{white-space:normal;margin:14px 0}.seat-table{border-collapse:collapse;font-variant-numeric:tabular-nums;text-align:left;width:100%;font-size:13px}.seat-table caption{text-align:left;color:var(--muted);padding:8px 0 16px;font-size:12px}.seat-table th,.seat-table td{border-bottom:1px solid var(--line);padding:12px 8px}.seat-table th{font-weight:600}.seat-table th .party-dot{margin-right:8px;display:inline-block}.seat-table td{text-align:right}.seat-table tfoot{background:var(--selected);font-weight:700}.scenario-table{min-width:560px}.scenario-table input{width:68px}.scenario-table td{padding-inline:4px}.table-scroll{overflow-x:auto}.scenario-desktop{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:28px;display:grid}.scenario-summary{font-size:18px}.chamber-summary{text-align:center}.trend-panel,.parliament-workspace,.electorate-coverage{border-top:1px solid var(--line);margin-top:36px;padding-top:28px}.trend-chart{width:100%;margin-top:20px}.trend-chart text{fill:var(--muted);font-size:12px}.prediction-invite{background:var(--selected);border-radius:12px;justify-content:space-between;align-items:center;gap:24px;margin:32px 0;padding:28px;display:flex}.prediction-invite p{color:var(--muted);margin-top:10px}.prediction-invite a{flex-shrink:0;align-items:center;text-decoration:none;display:inline-flex}@media(max-width:1000px){.scenario-desktop{grid-template-columns:1fr}.prediction-layout{grid-template-columns:1fr 1fr}.prediction-input-row{grid-template-columns:minmax(80px,1fr) 60px 80px;gap:6px}}@media(max-width:700px){.prediction-layout{grid-template-columns:1fr}.prediction-input-row{grid-template-columns:minmax(80px,1fr) 70px 86px;gap:8px}.hub-nav a:last-child{grid-column:1/-1;margin-left:0}.prediction-invite{flex-direction:column;align-items:flex-start;padding:22px}.prediction-card{padding:18px}.seat-table th,.seat-table td{padding-inline:4px}.prediction-totals dd{font-size:22px}}.election-metrics dd.metric-context{letter-spacing:normal;color:var(--muted);margin:0;font-size:12px;font-weight:400}@media(max-width:700px){.election-metrics dd.metric-context{grid-column:1/-1}}.results-desk{margin-bottom:32px}.desk-mode{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.desk-mode p{color:var(--muted);margin-top:6px;font-size:13px}.desk-mode [role=group]{flex-shrink:0;gap:6px;display:flex}.desk-mode button,.replay-toolbar button{border:1px solid var(--control-line);background:#fff;border-radius:8px;min-height:44px;padding:8px 14px;font-size:13px}.desk-mode button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.desk-mode button:hover,.replay-toolbar button:hover:not(:disabled){border-color:var(--action)}.demo-banner{color:#6b5120;background:#fbf5e7;border:1px solid #e4d4aa;border-radius:8px;padding:12px 16px;font-size:12px}.demo-banner strong,.demo-banner span{display:block}.demo-banner span{margin-top:4px}.live-mode-banner{background:var(--selected);border-radius:8px;margin-bottom:20px;padding:14px 16px;font-size:13px}.replay-toolbar{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 20px;font-size:12px;display:flex}.replay-toolbar>div{flex-wrap:wrap;gap:6px;display:flex}.replay-toolbar button:disabled{cursor:default;background:#edf0ea}.desk-summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;display:grid}.desk-panel{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;padding:24px}.desk-panel h2{font-size:22px}.desk-panel .section-heading{flex-wrap:wrap}.desk-votes{margin:20px 0 0;list-style:none}.desk-votes li{margin-bottom:18px}.desk-votes li:last-child{margin:0}.desk-votes .party-row{margin-bottom:7px}.desk-votes .party-row strong{font-variant-numeric:tabular-nums;font-size:16px}.desk-panel .parliament-chart{max-width:420px;margin:0 auto;display:block}.desk-seat-totals{border-block:1px solid var(--line);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 0;font-size:13px;display:flex}.desk-seat-totals span{color:var(--muted);font-size:12px}.grouping-summary{margin:12px 0;font-size:13px;line-height:1.8}.probability-note{color:var(--muted);margin-top:14px;font-size:12px;line-height:1.8}.probability-note strong{color:var(--ink);display:block}.desk-second-row{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;margin:24px 0;display:grid}.desk-second-row .trend-chart{min-height:170px}.change-list{margin-top:16px}.change-list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;font-size:13px;display:flex}.change-list dd{font-variant-numeric:tabular-nums;text-align:right;font-weight:650}.desk-details{border-top:1px solid var(--line);margin-top:16px;padding:4px 0}.desk-details>summary{min-height:52px;padding:14px 0;font-size:14px;font-weight:600}.desk-details>p{color:var(--muted);margin:14px 0;font-size:13px;line-height:1.8}.desk-details .parliament-workspace,.desk-details .electorate-coverage{border-top:0;margin-top:0;padding-top:16px}.desk-empty{color:var(--muted);padding:30px 0;line-height:1.8}.desk-empty h3{color:var(--ink);margin-bottom:12px}@media(max-width:900px){.desk-summary{gap:16px}.desk-panel{padding:20px}.desk-second-row{gap:16px}.desk-seat-totals{justify-content:flex-start}}@media(max-width:700px){.desk-mode{flex-direction:column;align-items:flex-start;gap:14px}.desk-mode [role=group]{width:100%}.desk-mode button{flex:1}.desk-summary,.desk-second-row{grid-template-columns:1fr}.desk-panel h2{font-size:20px}.replay-toolbar button{padding-inline:10px}.desk-second-row .trend-chart{min-height:140px}.change-list>div{font-size:12px}.desk-panel .tag{font-size:9px}}.results-desk .trend-panel{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px 28px;display:grid}.results-desk .trend-panel>.section-heading,.results-desk .trend-panel>.tiny,.results-desk .trend-panel>.analysis-empty,.results-desk .trend-panel>button{grid-column:1/-1}.results-desk .trend-panel>button{justify-self:start}.results-desk .trend-panel .trend-chart{align-self:center}@media(max-width:700px){.results-desk .trend-panel{grid-template-columns:1fr}.results-desk .trend-panel .seat-table{font-size:12px}}.live-default-notice{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;margin-bottom:20px;padding:12px 16px;font-size:13px;line-height:1.75}.desk-mode button:disabled{cursor:not-allowed;color:var(--muted);border-color:var(--line);background:#edf0ea}.desk-votes .party-name,.desk-seat-totals,.feed-message{overflow-wrap:anywhere}@media(max-width:700px){input[type=number],input[type=search],select{font-size:16px!important}.live-default-notice{font-size:13px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}
