:root{--ink:#003563;--paper:#f8f8f2;--accent:#c70043}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 "Atkinson Hyperlegible Next","Helvetica Neue",Arial,sans-serif}header{display:flex;justify-content:space-between;padding:24px 5%;border-bottom:1px solid #d1d8d6}.hint{font-size:13px;color:#53636a}a{color:inherit}main{max-width:1500px;margin:auto;padding:24px 4%}h1{margin:0;font-size:32px}nav{display:flex;gap:12px;margin:24px 0}button,input{font:inherit;padding:12px;border:1px solid #b9c8cc;border-radius:7px;background:white;color:var(--ink)}button{cursor:pointer;min-height:44px}button[aria-pressed=true]{background:var(--ink);color:white}.layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:32px;align-items:start}aside{height:700px;overflow:auto;padding:4px 12px 20px 0}input{width:100%;margin:8px 0}article{background:white;padding:22px;border:1px solid #d1d8d6;border-radius:12px;margin-top:16px}h2{font-size:24px}h3{font-size:17px}.connection{border-top:1px solid #d1d8d6;padding:12px 0;font-size:14px}.connection button{display:block;width:100%;text-align:left;font-weight:bold}small{display:block;color:#53636a}#results button{width:100%;text-align:left}#graph{display:block;width:100%;height:min(75vh,760px);min-height:560px}.node{cursor:pointer}.node:focus{outline:none}.node:focus .shape{stroke:#c70043;stroke-width:4}.labels,.edges{pointer-events:none}.hint{text-align:center}a:focus-visible,button:focus-visible{outline:3px solid #c70043;outline-offset:3px}@media(max-width:800px){.layout{display:flex;flex-direction:column}aside{height:auto;width:100%;max-height:500px}.layout section{width:100%}#graph{min-height:400px;height:auto}header>.preview-note{display:none}nav{flex-wrap:wrap}}

/* Graph-first desktop composition: quiet reference rail, larger drawing. */
@media(min-width:801px){
 main{max-width:1680px;padding:24px 3%}
 .layout{grid-template-columns:280px minmax(0,1fr);gap:28px}
 aside{height:calc(100vh - 250px);min-height:480px;padding-right:18px;border-right:1px solid #dce1dd}
 article{background:transparent;border:0;border-radius:0;padding:12px 0;margin-top:12px}
 article h2{font-size:22px;line-height:1.25;margin:8px 0 14px}
 article p{font-size:14px;line-height:1.65;color:#455b66}
 .connection{font-size:13px}
 .connection button{border:0;border-radius:0;background:transparent;padding:6px 0;font-size:14px;text-decoration:underline;text-underline-offset:4px}
 #graph{height:clamp(620px,calc(100vh - 245px),960px);min-height:0}
}

.council-seat text{font-family:"Atkinson Hyperlegible Next","Helvetica Neue",Arial,sans-serif}.member-list{display:flex;flex-direction:column;gap:8px;margin:8px 0 16px}.member-list button{text-align:left}
.atlas-header{padding:18px 4%;} .atlas-header nav{margin:0} .atlas-brand svg{width:17px;height:17px;min-height:0} .atlas-brand img{width:64px;height:64px}
