:root{font-family:system-ui,-apple-system,sans-serif;color:#2c2630;background:#f6f4ef;font-synthesis:none;--purple:#35243f;--gold:#997943}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.file{border:1px solid #d7d0db;background:#fff;color:var(--purple);padding:10px 15px;border-radius:9px;cursor:pointer;font-weight:600}button:hover{background:#f0eaf4}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #397bc9;outline-offset:3px}input,select{padding:10px;border:1px solid #cec5d4;border-radius:7px;background:white;max-width:100%;min-width:0}label{display:flex;flex-direction:column;gap:6px;font-size:13px}label:has(input[type=checkbox]){flex-direction:row;align-items:center}header{display:flex;align-items:center;justify-content:space-between;padding:20px 5%;background:#241c2c;color:#f5ead6;gap:20px}.brand{display:flex;align-items:center;gap:15px;font-family:Georgia,serif;font-size:30px;color:#dbc39a;text-decoration:none}.brand span{font:600 12px system-ui;max-width:110px;line-height:1.5}.date{font-size:11px;letter-spacing:2px}header button{background:transparent;color:#f5ead6;border-color:#67566d}header button:hover{background:#413349}main{max-width:1450px;margin:auto;padding:0 5%}.intro{padding:38px 0 28px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;color:var(--gold)}h1{font:normal clamp(36px,5vw,60px) Georgia,serif;margin:12px 0}h1 em{color:var(--purple)}.intro>p:last-child{color:#776d7c;font-size:14px}h2{font:normal 26px Georgia,serif;margin:10px 0 16px}h3{font-size:17px;margin:10px 0}p{line-height:1.6}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px}.map-panel,.status-panel,#editor{background:white;border:1px solid #e4dfe8;border-radius:16px;overflow:hidden}.map-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;font-size:13px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin:0 6px 0 15px}.dot:first-child{margin-left:0}.blue{background:#1479bf}.red{background:#bd2546}#map{height:490px;background:#e5e8e2;z-index:0}.map-message{padding:30px}.map-panel>p{font-size:12px;color:#72627d;padding:4px 18px}.status-panel{padding:25px}.status-panel p:not(.eyebrow){font-size:13px;color:#786d7e}.divider{border-top:1px solid #eee9f0;margin:24px 0}.reference{display:inline-block;color:var(--purple);margin-top:22px;font-size:13px}.march{margin:12px 0;line-height:1.4;font-size:14px}.march small{display:block;color:#807586;margin-top:4px}#notice{font-size:14px;color:#713a20;min-height:22px}#editor{padding:24px;margin:20px 0}#editor[hidden]{display:none}.controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:18px 0}.controls input[type=file]{max-width:230px;padding:0;border:0;font-size:12px}.primary{background:var(--purple);color:white}.program{padding:22px 0 50px}.program-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}#steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}.step{display:flex;text-align:left;align-items:flex-start;gap:13px;padding:17px;background:#fff;border-color:#e5dfe9;min-height:100px}.step.selected{border-color:#63416d;background:#f0eaf4}.step .num{background:#f0edf3;color:var(--purple);border-radius:8px;padding:7px;min-width:38px;text-align:center}.step .desc{font-size:13px;line-height:1.5}.step small{display:block;font-size:11px;font-weight:400;color:#897e91;margin-top:7px}.leaflet-tooltip{font-family:system-ui}footer{border-top:1px solid #ded7e1;padding:25px 5%;font-size:12px;color:#817589;display:flex;justify-content:space-between;gap:20px}footer a{color:inherit}@media(max-width:950px){.workspace{grid-template-columns:1fr}.status-panel{display:grid;grid-template-columns:1fr;gap:0}#steps{grid-template-columns:repeat(2,minmax(0,1fr))}.date{display:none}#map{height:430px}}@media(max-width:550px){header{padding:15px}.brand span{display:none}main{padding:0 16px}.intro{padding-top:24px}#steps{grid-template-columns:1fr}.program-heading{align-items:stretch;flex-direction:column}.map-toolbar{gap:6px;padding:10px}#map{height:390px}.controls>*{max-width:100%}footer{flex-direction:column}.intro h1{font-size:39px}}
