body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.layout{height:100vh;display:flex}.picker{border-right:1px solid #ddd;width:320px;padding:.5rem 1rem;overflow-y:auto}.picker ul{margin:0;padding:0;list-style:none}.picker li a{cursor:pointer;color:inherit;border-radius:4px;padding:.5rem;text-decoration:none;display:block}.picker li a:hover{background:#f0f0f0}.picker li a.selected{background:#dbe9fb;font-weight:600}.filters{flex-direction:column;gap:.4rem;margin-bottom:.75rem;display:flex}.filters input[type=text]{border:1px solid #ccc;border-radius:4px;padding:.4rem}.date-filters{gap:.4rem;display:flex}.date-filters input{border:1px solid #ccc;border-radius:4px;flex:1;padding:.3rem}.map-pane{flex-direction:column;flex:1;display:flex}.mode-switch{gap:.5rem;padding:.5rem;display:flex}.mode-switch a{cursor:pointer;color:inherit;background:#fff;border:1px solid #ccc;border-radius:4px;padding:.4rem .9rem;text-decoration:none}.mode-switch a.active{color:#fff;background:#2a78d6;border-color:#2a78d6}.mode-row{justify-content:space-between;align-items:center;padding-right:.5rem;display:flex}.diff-toggle a{cursor:pointer;color:inherit;background:#fff;border:1px solid #ccc;border-radius:4px;padding:.4rem .9rem;font-size:.85rem;text-decoration:none}.map-panes{gap:.5rem;display:flex}.map-pane-single{flex:1;min-width:0}.weight-switch{gap:.5rem;padding:.5rem;display:flex}.weight-switch a{cursor:pointer;color:inherit;background:#fff;border:1px solid #ccc;border-radius:4px;padding:.3rem .7rem;font-size:.85rem;text-decoration:none}.weight-switch a.active{color:#fff;background:#52514e;border-color:#52514e}.pick-target-tabs button{cursor:pointer;color:inherit;background:#fff;border:1px solid #ccc;border-radius:4px;padding:.3rem .7rem;font-size:.85rem}.pick-target-tabs button.active{color:#fff;background:#52514e;border-color:#52514e}.inset-panel{flex-wrap:wrap;gap:1.5rem;padding:0 1rem;display:flex}.inset-group h3{color:#52514e;margin:0 0 .35rem;font-size:.8rem;font-weight:600}.inset-tiles{flex-wrap:wrap;gap:.3rem;display:flex}.inset-tile{color:#fff;text-shadow:0 0 2px rgba(0,0,0,.6);cursor:default;border-radius:4px;justify-content:center;align-items:center;width:3rem;height:1.6rem;font-size:.65rem;display:flex}.outremer-maps{padding:0 1rem}.outremer-maps h3{color:#52514e;margin:0 0 .35rem;font-size:.8rem;font-weight:600}.outremer-maps-grid{flex-wrap:wrap;gap:.75rem;display:flex}.outremer-map-tile{flex-direction:column;align-items:center;gap:.2rem;display:flex}.outremer-map-canvas{border:1px solid #ddd;border-radius:4px;width:200px;height:160px;overflow:hidden}.outremer-map-label{color:#52514e;font-size:.7rem}.map-container{position:relative}.map-canvas{width:100%;height:600px}.map-loading-overlay{opacity:0;pointer-events:none;background:rgba(255,255,255,.5);justify-content:center;align-items:center;transition:opacity .15s ease-in-out;display:flex;position:absolute;inset:0}.map-loading-overlay.visible{opacity:1}.map-spinner{border:3px solid #ccc;border-top-color:#2a78d6;border-radius:50%;width:2rem;height:2rem;animation:.7s linear infinite map-spin}@keyframes map-spin{to{transform:rotate(360deg)}}.hemicycle{padding:.75rem 1rem;overflow-y:auto}.hemicycle-legend{color:#52514e;gap:1rem;margin-bottom:.75rem;font-size:.85rem;display:flex}.legend-item{align-items:center;gap:.35rem;display:inline-flex}.legend-item .swatch{border-radius:2px;width:10px;height:10px;display:inline-block}.group-bar-row{align-items:center;gap:.5rem;margin-bottom:2px;display:flex}.group-label{text-align:right;flex-shrink:0;width:4.5rem;font-size:.8rem;font-weight:600}.group-bar{background:#f0efec;border-radius:4px;flex:1;gap:2px;height:18px;display:flex;overflow:hidden}.bar-segment{height:100%}.group-total{color:#52514e;flex-shrink:0;width:2.5rem;font-size:.8rem}@media (width<=768px){.layout{flex-direction:column;height:auto;min-height:100vh}.picker{border-bottom:1px solid #ddd;border-right:none;width:auto;max-height:35vh}.map-canvas{height:70vh}.mode-row{flex-wrap:wrap;gap:.5rem;padding-right:0}.mode-switch,.weight-switch{flex-wrap:wrap}.map-panes{flex-direction:column}.map-panes .map-canvas{height:45vh}.outremer-map-canvas{width:45vw;max-width:200px;height:36vw;max-height:160px}.group-label{width:3.5rem}}