:root{--ground: #FAF9F7;--surface: #FFFFFF;--sunk: #F1EFEC;--rule: #DFDAD4;--rule-soft: #ECE8E3;--ink: #191521;--ink-mid: #554F60;--ink-soft: #7C7589;--accent: #4A3E86;--accent-soft: #EAE6F6;--ex: #1B7A57;--good: #3F6E8C;--mixed: #96741A;--poor: #B0432F;--meter-track: #E5E1DC;--shadow: 0 1px 2px rgba(25,21,33,.05)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ground: #141118;--surface: #1D1927;--sunk: #241F31;--rule: #342E44;--rule-soft: #272134;--ink: #EDE9F2;--ink-mid: #ADA5BC;--ink-soft: #7F7791;--accent: #AC9FEC;--accent-soft: #262039;--ex: #4FBF92;--good: #74A9C9;--mixed: #D3AC44;--poor: #E07A64;--meter-track: #2C2639;--shadow: 0 1px 2px rgba(0,0,0,.3)}}:root[data-theme=dark]{--ground: #141118;--surface: #1D1927;--sunk: #241F31;--rule: #342E44;--rule-soft: #272134;--ink: #EDE9F2;--ink-mid: #ADA5BC;--ink-soft: #7F7791;--accent: #AC9FEC;--accent-soft: #262039;--ex: #4FBF92;--good: #74A9C9;--mixed: #D3AC44;--poor: #E07A64;--meter-track: #2C2639;--shadow: 0 1px 2px rgba(0,0,0,.3)}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-variation-settings:"SOFT" 20,"WONK" 1;margin:0;text-wrap:balance;letter-spacing:-.015em;line-height:1.1}h1{font-size:clamp(2rem,5vw,2.9rem);font-weight:600}h2{font-size:clamp(1.3rem,3vw,1.6rem);font-weight:600}h3{font-size:1.05rem;font-weight:600}p{margin:0}a{color:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wrap{max-width:58rem;margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}.eyebrow{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.masthead{border-bottom:1px solid var(--rule);background:var(--surface)}.masthead .inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.95rem;flex-wrap:wrap}.brand{display:inline-block;font-family:Fraunces,Georgia,serif;font-variation-settings:"SOFT" 20,"WONK" 1;font-size:1.22rem;font-weight:600;letter-spacing:-.02em;text-decoration:none}.brand .dot{color:var(--accent)}.nav{display:flex;gap:1.25rem;font-size:.875rem}.nav a{color:var(--ink-mid);text-decoration:none}.nav a:hover{color:var(--ink)}footer{border-top:1px solid var(--rule);margin-top:4rem;padding-block:2rem 3rem;font-size:.82rem;color:var(--ink-soft)}footer .inner{display:flex;flex-direction:column;gap:.5rem}.meter{display:flex;flex-direction:column;gap:.3rem;min-width:8rem}.meter .track{position:relative;height:.5rem;background:var(--meter-track);border-radius:1px;overflow:hidden}.meter .fill{position:absolute;inset:0 auto 0 0;border-radius:1px}.meter .ticks{display:flex;justify-content:space-between}.meter .ticks span{font-family:IBM Plex Mono,monospace;font-size:.6rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.b-excellent .fill{background:var(--ex)}.b-good .fill{background:var(--good)}.b-mixed .fill{background:var(--mixed)}.b-poor .fill{background:var(--poor)}.score{font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums;font-weight:600;line-height:1}.b-excellent .score,.t-excellent{color:var(--ex)}.b-good .score,.t-good{color:var(--good)}.b-mixed .score,.t-mixed{color:var(--mixed)}.b-poor .score,.t-poor{color:var(--poor)}.tag{display:inline-block;padding:.12rem .45rem;font-family:IBM Plex Mono,monospace;font-size:.64rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border:1px solid currentColor;border-radius:1px}.ranked{display:flex;flex-direction:column;gap:.6rem;list-style:none;margin:0;padding:0}.row{display:grid;align-items:center;gap:1rem 1.15rem;grid-template-columns:2.6rem 1fr 10rem;background:var(--surface);border:1px solid var(--rule);border-radius:2px;padding:1rem 1.15rem;text-decoration:none;box-shadow:var(--shadow);transition:border-color .12s ease,transform .12s ease}.row:hover{border-color:var(--accent);transform:translateY(-1px)}.row .rank{font-family:IBM Plex Mono,monospace;font-size:.95rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.row .title{display:flex;flex-direction:column;gap:.22rem;min-width:0}.row .title strong{font-family:Fraunces,Georgia,serif;font-variation-settings:"SOFT" 20,"WONK" 1;font-size:1.08rem;font-weight:600;letter-spacing:-.01em}.row .sub{font-size:.8rem;color:var(--ink-soft)}.row .right{display:flex;align-items:center;gap:.85rem;justify-content:flex-end}.row .right .score{font-size:1.5rem}@media(max-width:34rem){.row{grid-template-columns:2rem 1fr}.row .right{grid-column:2;justify-content:flex-start}}.stack{display:flex;flex-direction:column;gap:1rem}.prose{max-width:38rem;display:flex;flex-direction:column;gap:.95rem;color:var(--ink-mid)}.prose strong{color:var(--ink);font-weight:600}.panel{background:var(--surface);border:1px solid var(--rule);border-radius:2px;padding:1.25rem;box-shadow:var(--shadow)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:2px;overflow:hidden}.stats div{background:var(--surface);padding:.9rem 1rem;display:flex;flex-direction:column;gap:.18rem}.stats dt,.stats .k{font-family:IBM Plex Mono,monospace;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.stats dd,.stats .v{margin:0;font-family:IBM Plex Mono,monospace;font-size:1.15rem;font-weight:600;font-variant-numeric:tabular-nums}.quotes{display:flex;flex-direction:column;gap:.8rem;list-style:none;margin:0;padding:0}.quotes li{border-left:2px solid var(--rule);padding-left:.95rem;font-size:.92rem;color:var(--ink-mid)}.quotes cite{display:block;margin-top:.25rem;font-style:normal;font-family:IBM Plex Mono,monospace;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.quotes.neg li{border-left-color:var(--poor)}.quotes.pos li{border-left-color:var(--ex)}.note{font-size:.82rem;color:var(--ink-soft);border:1px dashed var(--rule);border-radius:2px;padding:.8rem .95rem;background:var(--sunk)}.backlink{font-size:.84rem;color:var(--ink-mid);text-decoration:none;display:inline-flex;gap:.35rem}.backlink:hover{color:var(--accent)}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.hero{display:flex;flex-direction:column;gap:1.05rem;padding-block:clamp(2.6rem,7vw,4.5rem) clamp(2rem,5vw,3rem);border-bottom:1px solid var(--rule)}.hero h1{font-size:clamp(2.15rem,5.6vw,3.35rem);max-width:18ch}.sec-head{display:flex;flex-direction:column;gap:.35rem}.proof{display:flex;flex-direction:column;gap:1.15rem;padding-block:clamp(2.2rem,5vw,3.2rem)}.proof-head{display:flex;flex-direction:column;gap:.45rem}.proof-pair{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.proof-card{display:flex;flex-direction:column;gap:.6rem;background:var(--surface);border:1px solid var(--rule);border-top:3px solid currentColor;border-radius:2px;padding:1.25rem;text-decoration:none;box-shadow:var(--shadow);transition:transform .12s ease,border-color .12s ease}.proof-card.b-excellent{color:var(--ex)}.proof-card.b-good{color:var(--good)}.proof-card.b-mixed{color:var(--mixed)}.proof-card.b-poor{color:var(--poor)}.proof-card:hover{transform:translateY(-2px)}.proof-card strong{color:var(--ink);font-family:Fraunces,Georgia,serif;font-variation-settings:"SOFT" 20,"WONK" 1;font-size:1.16rem;font-weight:600;letter-spacing:-.01em}.proof-figure{display:flex;align-items:baseline;gap:.6rem;margin-top:.2rem}.proof-figure .score{font-size:clamp(2.4rem,7vw,3.1rem)}.proof-unit{font-family:IBM Plex Mono,monospace;font-size:.68rem;line-height:1.35;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.proof-card .sub{font-size:.8rem;color:var(--ink-soft)}.city-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}.city-card{display:flex;flex-direction:column;gap:.28rem;background:var(--surface);border:1px solid var(--rule);border-radius:2px;padding:1.1rem;text-decoration:none;box-shadow:var(--shadow);transition:border-color .12s ease,transform .12s ease}.city-card:hover{border-color:var(--accent);transform:translateY(-1px)}.city-card strong{font-family:Fraunces,Georgia,serif;font-variation-settings:"SOFT" 20,"WONK" 1;font-size:1.3rem;font-weight:600;letter-spacing:-.015em}.city-card .sub{font-size:.8rem;color:var(--ink-soft)}.city-spread{margin-top:.45rem;padding-top:.55rem;border-top:1px solid var(--rule-soft);font-family:IBM Plex Mono,monospace;font-size:.68rem;color:var(--ink-mid);font-variant-numeric:tabular-nums}.city-card.pending{background:var(--sunk);border-style:dashed;box-shadow:none}.city-card.pending strong{color:var(--ink-soft)}.city-card.pending:hover{transform:none;border-color:var(--rule)}.steps{list-style:none;margin:0;padding:0;counter-reset:s;display:flex;flex-direction:column;gap:1.15rem}.steps>li{counter-increment:s;display:grid;grid-template-columns:1.9rem 1fr;gap:.85rem}.steps>li:before{content:counter(s);font-family:IBM Plex Mono,monospace;font-size:.78rem;font-weight:600;color:var(--accent);padding-top:.2rem}.steps h3{margin-bottom:.2rem}.steps p{font-size:.93rem;color:var(--ink-mid);max-width:40rem}.filters{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem}.filters button{font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;padding:.38rem .7rem;cursor:pointer;background:var(--surface);color:var(--ink-mid);border:1px solid var(--rule);border-radius:2px}.filters button:hover{border-color:var(--accent);color:var(--ink)}.filters button.on{background:var(--accent);border-color:var(--accent);color:var(--ground)}.kind{display:inline-block;margin-right:.45rem;padding:.04rem .32rem;font-family:IBM Plex Mono,monospace;font-size:.62rem;letter-spacing:.05em;text-transform:uppercase;background:var(--accent-soft);color:var(--ink-mid);border-radius:1px}
