:root{--ink:#263c33;--paper:#e5e2d7;--line:#cecdc2;--white:#f9f8f2;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}
*{box-sizing:border-box}body{margin:0;height:100dvh;display:grid;grid-template-rows:60px minmax(0,1fr) 36px;background:var(--paper)}header,footer{display:flex;align-items:center;padding:0 27px;background:var(--white);z-index:2}header{gap:17px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:8px;align-items:center;font-size:25px;letter-spacing:-1.8px;font-weight:650}.brand svg{width:29px;height:31px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linejoin:round}.rule{width:1px;height:22px;background:var(--line)}.edition,.location{font-size:13px}.location{margin-left:auto;white-space:nowrap}.location b,footer b{color:#9c9f8e;margin:0 5px}main{position:relative;overflow:hidden}canvas{width:100%;height:100%;touch-action:none;display:block;cursor:grab}canvas:active{cursor:grabbing}canvas:focus-visible{outline:2px solid #348666;outline-offset:-2px}.modes,.tools,#legend,.status{position:absolute;z-index:1}.heading{display:grid;gap:2px}.eyebrow,.foot-title,.proof{text-transform:uppercase;font-size:10px;letter-spacing:.15em;font-weight:650}h1{font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:400;letter-spacing:-.05em;line-height:1.08;margin:0}.modes,.zoom{display:flex;align-items:center}.modes,.tools>button,.zoom{border:1px solid #c6c7b9;background:var(--white);border-radius:7px;box-shadow:0 2px 8px #383d2910}.modes{top:22px;right:24px;padding:3px}.modes button{padding:7px 15px;border-radius:4px}.modes button[aria-pressed=true],#cad[aria-pressed=true]{background:var(--ink);color:#fff}.tools{bottom:17px;right:22px;display:flex;gap:7px;align-items:center}button{font-weight:500;font-family:inherit;font-size:13px;border:0;background:none;color:inherit;cursor:pointer;min-height:34px}button:hover{background:#e7e9de}button:focus-visible{outline:2px solid #55785a}button:disabled{opacity:.45;cursor:default}.tools>button{padding:0 12px}.zoom button{font-size:20px;width:34px}.zoom output{min-width:36px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}#fit{height:36px;width:36px;padding:7px}#fit svg{fill:none;stroke:currentColor;stroke-width:1.7}#legend,.status:not(:empty){left:24px;bottom:19px;background:var(--white);border-radius:4px;padding:7px 10px;font-size:12px}#legend i{display:inline-block;width:19px;height:2px;background:#a02c42;vertical-align:middle;margin-right:4px}footer{justify-content:space-between;border-top:1px solid var(--line);font-size:11px}.hint,.proof{color:#637066}.proof{font-size:9px}.plate-mode{display:block}.plate-mode header,.plate-mode footer,.plate-mode main>*:not(canvas){display:none}.plate-mode main{height:100dvh}
@media(max-width:640px){body{grid-template-rows:48px minmax(0,1fr) 30px}header,footer{padding:0 14px}.brand{font-size:22px}.edition,.location{font-size:11px}.heading .eyebrow{font-size:8px}h1{font-size:19px}.modes{left:14px;right:auto;top:12px}.tools{bottom:12px;right:12px}#legend{left:13px;bottom:60px}.hint{display:none}}

#sources{font-size:11px;min-height:26px;text-decoration:underline;text-underline-offset:3px}
dialog{color:var(--ink);border:1px solid var(--line);background:var(--white);width:min(450px,92vw);border-radius:12px;padding:28px;box-shadow:0 15px 70px #17271e33}dialog::backdrop{background:#17271e55}dialog form{float:right}dialog form button{font-size:22px;padding:0 8px}dialog h2{font:normal 30px/1.15 Georgia,serif;margin:9px 0 16px}dialog p,dialog a{font-size:14px;line-height:1.55}dialog a{color:inherit}

@media(max-width:450px){header{gap:10px}.heading h1{white-space:nowrap}.location{display:none}}
