:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#233a36;background:#f4f8f6;--line:#cbd8d1;--brand:#244f47}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a{color:#245a61}button,select,input[type=search]{background:white;color:#233a36;border:1px solid #c5d2cc;border-radius:8px;padding:9px;min-height:40px}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b26a28;outline-offset:2px}.skip{position:absolute;left:-9999px;z-index:30;background:white;padding:12px}.skip:focus{left:5px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 365px;min-height:100dvh}.canvas{min-width:0;overflow:auto}.canvas-header{height:70px;display:flex;align-items:center;gap:15px;padding:10px 20px;justify-content:space-between}.brand{display:inline-flex;align-items:center}.brand img{width:56px;height:56px;object-fit:contain}nav{display:flex;gap:12px;margin-right:auto}nav a{border-radius:6px;padding:8px 12px;text-decoration:none;background:white;border:1px solid var(--line)}nav a[aria-current]{color:white;background:var(--brand)}.figure{margin:0 20px 15px;padding:23px 25px;background:#fff;border:1px solid var(--line);border-radius:12px}.figure h1{font-size:clamp(21px,2vw,30px);margin:0}.figure p{line-height:1.5}.muted{font-size:13px;color:#52645f}.source-detail{margin:0 20px 25px;padding:18px 24px;border:1px solid var(--line);border-radius:12px;background:white}.source-detail h2{font-size:19px;margin:0 0 6px}#chart{width:100%;height:min(55vh,550px);min-height:350px}#chart-error{color:#a12f20;font-weight:600}#chart-caveat{color:#725526;font-size:13px}.table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:680px;font-size:12px}caption{text-align:left;font-size:12px;color:#506b62;padding:6px 0}th,td{border-bottom:1px solid #d9e3de;text-align:left;padding:10px 8px}th{background:#eff5f1}tbody tr:nth-child(even){background:#f8fbf9}aside{padding:20px;background:#fff;border-left:1px solid var(--line);max-height:100dvh;overflow-y:auto;position:sticky;top:0}.sidebar-title{font-size:24px;margin:4px 0 16px}details{padding:15px 0;border-bottom:1px solid var(--line)}summary{font-weight:700;font-size:17px;cursor:pointer}label{display:block;font-size:14px;margin:10px 0}label select,label input[type=search]{display:block;width:100%;margin-top:5px}fieldset{border:0;padding:0;margin:15px 0}legend{font-size:14px;font-weight:650}.checks{max-height:205px;overflow:auto;display:grid;gap:8px;padding:6px 2px}.checks label{margin:0;display:flex;gap:8px;align-items:center}.checks input[type=checkbox]{accent-color:var(--brand);height:17px;width:17px}.count{font-size:12px;color:#567168}.row{display:flex;gap:6px;flex-wrap:wrap}#selection-status{min-height:1.5em}.footer{padding:12px 0}.updating{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#edf5f0;border-radius:30px;font-size:13px;font-weight:600;white-space:nowrap}.updating[hidden]{display:none}.update-dot{display:inline-block;height:10px;width:10px;border-radius:50%;background:#317d6b;animation:blink 1.25s infinite alternate}@keyframes blink{from{opacity:.28;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.update-dot{animation:none}}@media(max-width:850px){.workspace{grid-template-columns:1fr}aside{position:static;max-height:none;grid-row:1;border-left:0;border-bottom:1px solid var(--line);padding:12px 18px}.canvas-header{height:auto;gap:8px}.figure,.source-detail{margin:10px;padding:14px}#chart{min-height:280px;height:380px}.sidebar-title{font-size:20px}details{padding:10px 0}}
/* F1585 Maps-style editor, accessible dialogs and responsive exports */
.primary{background:#244f47;color:white;border-color:#244f47}.save-actions,.export-buttons{display:flex;flex-wrap:wrap;gap:7px;padding-top:10px}.save-actions button{flex:1 1 115px}
.chart-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:10px}
.chart-toolbar>a,.export-menu>summary{padding:8px 10px;background:#eef5f1;border:1px solid var(--line);border-radius:8px;font-size:13px;color:#244f47;text-decoration:none;cursor:pointer}
.export-menu{padding:0;position:relative;border:0}.export-menu .export-buttons{background:white;padding:12px;z-index:6;position:absolute;right:0;top:34px;width:180px;box-shadow:0 5px 20px #173b3930;border:1px solid var(--line);border-radius:9px;flex-direction:column}
.export-menu .export-buttons button{width:100%}
dialog{width:min(640px,calc(100vw - 22px));max-height:90dvh;overflow:auto;border:1px solid var(--line);border-radius:14px;padding:22px;color:#233a36}
dialog::backdrop{background:#142d2880}dialog h2{margin-top:0}dialog label{margin:12px 0}
dialog label input,dialog label select{width:100%;margin-top:6px}
dialog .close{float:right}dialog .row{display:flex;gap:8px;flex-wrap:wrap}
#chart-list,#browse-results{display:grid;gap:8px;max-height:44vh;overflow:auto}
.chart-card,.browse-family{width:100%;text-align:left;min-height:56px;background:#f8fbf9;padding:12px;border:1px solid var(--line);border-radius:8px}
.chart-card[aria-pressed=true]{outline:2px solid #a56c38}
#chart-actions{display:flex;flex-wrap:wrap;margin-top:10px;gap:8px}
#appearance-series{max-height:180px;overflow:auto}#appearance-series label{display:flex;justify-content:space-between;gap:10px;align-items:center}
#appearance-series input[type=color]{width:52px;height:34px;min-height:34px;padding:2px}
#appearance-gridlines{accent-color:var(--brand)}#chart-map-help{max-width:65ch;text-align:right;margin-left:auto}
#save-status,#share-feedback,#export-status{font-size:13px;line-height:1.5;color:#245a61}
@media(max-width:850px){.chart-toolbar{flex-wrap:wrap}aside{max-height:none}.export-menu .export-buttons{position:static;width:100%;box-shadow:none}}
@media print{aside,.canvas-header,.chart-toolbar,.export-menu,dialog{display:none!important}.workspace{display:block}.figure,.source-detail{border:0;margin:0;padding:8px;break-inside:avoid}#chart{height:450px!important}.table-scroll{overflow:visible}table{font-size:10px;min-width:0}}
body.embed-mode aside,body.embed-mode .canvas-header,body.embed-mode .chart-toolbar>a{display:none}
body.embed-mode .workspace{display:block}body.embed-mode .figure,body.embed-mode .source-detail{margin:6px}

/* F1625 source-locked authenticated Mira preview */
#mira-preview-banner{padding:10px 12px;background:#fff9eb;color:#574722;border:1px solid #ded1ac;border-radius:8px;font-size:12px;line-height:1.5}
body.mira-draft-preview .figure{min-width:0}
