.top-nav{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;border-bottom:1px solid #ccc;background:#fff;font-family:var(--font-mono);font-size:.85rem;position:fixed;top:0;left:0;right:0;z-index:100}.nav-left{display:flex;align-items:center;gap:2rem}.site-name{font-weight:700;border:1px solid #333;padding:.15rem .5rem;color:var(--color-black);text-decoration:none}.site-name:hover{border-color:#000}.nav-link{color:var(--color-black);text-decoration:none}.nav-link.active,.nav-link:hover{text-decoration:underline;text-underline-offset:3px}.nav-tooltip{position:fixed;z-index:200;max-width:300px;padding:.5rem .75rem;font-family:var(--font-mono);font-size:.82rem;line-height:1.5;pointer-events:none;border:1px solid #ccc;background:#fff;color:var(--color-black)}html,body{background:#fafafa!important;color:#222;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#fafafa;color:#222;overflow-x:hidden}.reg-map #app{display:flex;flex-direction:column;min-height:100vh}.reg-map #main{display:flex;flex:1;min-height:0}.reg-map #sidebar{width:270px;min-width:270px;background:#fff;border-right:1px solid #ddd;padding:18px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:18px;z-index:10}.reg-map #sidebar h2{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#555;margin-bottom:6px}.reg-map #sidebar label{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;padding:2px 0}.reg-map #sidebar select{width:100%;padding:6px 8px;border:1px solid #ccc;border-radius:4px;font-size:13px;background:#fff}.reg-map .color-swatch{display:inline-block;width:12px;height:12px;border-radius:2px;flex-shrink:0}.reg-map .filter-group{border-bottom:1px solid #eee;padding-bottom:14px}.reg-map .filter-group:last-child{border-bottom:none}.reg-map .year-range-container{position:relative;height:36px;margin-top:4px}.reg-map .year-range-container input[type=range]{-webkit-appearance:none;appearance:none;width:100%;position:absolute;top:0;height:36px;background:transparent;pointer-events:none;z-index:2}.reg-map .year-range-container input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#377eb8;cursor:pointer;pointer-events:all;border:2px solid #fff;box-shadow:0 1px 3px #0000004d}.reg-map .year-range-container input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#377eb8;cursor:pointer;pointer-events:all;border:2px solid #fff;box-shadow:0 1px 3px #0000004d}.reg-map .year-range-track{position:absolute;top:16px;left:0;right:0;height:4px;background:#ddd;border-radius:2px}.reg-map .year-range-track .active{position:absolute;height:100%;background:#377eb8;border-radius:2px}.reg-map #year-label{font-size:12px;color:#666;text-align:center;margin-top:2px}.reg-map #map-container{flex:1;position:relative;background:#f0f4f8;overflow:hidden}.reg-map #map-container svg{display:block;width:100%;height:100%}.reg-map .country{stroke:#999;stroke-width:.25px;transition:fill .15s,fill-opacity .15s}.reg-map .country:hover{filter:brightness(.9)}.reg-map .country-highlighted{stroke-width:1px}.reg-map .arc{fill:none;stroke-width:.4px;opacity:.65;cursor:pointer;transition:opacity .15s,filter .15s}.reg-map .arc:hover{opacity:1;filter:drop-shadow(0 0 4px var(--arc-color, #999))}.reg-map .graticule{fill:none;stroke:#e8e8e8;stroke-width:.5px}.reg-map .sphere{fill:#f0f4f8;stroke:#ccc;stroke-width:.5px}.reg-map #tooltip{position:absolute;pointer-events:none;background:#fffffff5;border:1px solid #ccc;border-radius:6px;padding:10px 14px;font-size:12px;line-height:1.5;max-width:300px;box-shadow:0 2px 8px #0000001f;display:none;z-index:100}.reg-map #tooltip .tt-name{font-weight:600;font-size:13px;margin-bottom:4px}.reg-map #tooltip .tt-cat{font-size:11px;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.reg-map #tooltip .tt-row{color:#555}.reg-map #info-panel{position:absolute;bottom:16px;right:16px;width:340px;max-height:60vh;overflow-y:auto;background:#fff;border:1px solid #ccc;border-radius:8px;padding:16px 18px;font-size:13px;line-height:1.6;box-shadow:0 4px 16px #0000001a;display:none;z-index:50}.reg-map #info-panel .ip-close{float:right;cursor:pointer;font-size:18px;color:#999;line-height:1;padding:0 4px}.reg-map #info-panel .ip-close:hover{color:#333}.reg-map #info-panel .ip-name{font-weight:600;font-size:15px;margin-bottom:6px}.reg-map #info-panel .ip-cat{display:inline-block;padding:2px 8px;border-radius:3px;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:#fff;margin-bottom:8px}.reg-map #info-panel .ip-row{margin-bottom:4px}.reg-map #info-panel .ip-label{font-weight:600;color:#555}.reg-map #info-panel .ip-desc{margin-top:8px;color:#444;border-top:1px solid #eee;padding-top:8px}.reg-map #info-panel a{color:#377eb8}.reg-map #loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:14px;color:#888}.reg-map #descriptor{padding:0}.reg-map .content-tabs{max-width:900px;margin:0 auto;padding:32px 24px 48px;border-top:1px solid #ddd}.reg-map .tab-buttons{display:flex;gap:0;border-bottom:2px solid #ddd;margin-bottom:24px}.reg-map .tab-btn{padding:10px 20px;font-size:14px;font-weight:500;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;color:#666;cursor:pointer;transition:color .15s,border-color .15s}.reg-map .tab-btn:hover{color:#333}.reg-map .tab-btn.active{color:#1b4f72;border-bottom-color:#1b4f72;font-weight:600}.reg-map .tab-content{font-size:14px;line-height:1.7;color:#444;max-height:70vh;overflow-y:auto}.reg-map .tab-content h3{font-size:16px;font-weight:600;margin:20px 0 8px;color:#222}.reg-map .tab-content h3:first-child{margin-top:0}.reg-map .tab-content p{margin-bottom:12px}.reg-map .tab-content a{color:#377eb8;text-decoration:none}.reg-map .tab-content a:hover{text-decoration:underline}.reg-map .tab-content ul{margin:0 0 12px 20px;padding:0}.reg-map .tab-content li{margin-bottom:6px}.reg-map #agreements-search{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:13px;margin-bottom:12px;background:#fff}.reg-map #agreements-table{width:100%;border-collapse:collapse;font-size:13px}.reg-map #agreements-table th{text-align:left;padding:8px 10px;background:#f5f7fa;border-bottom:2px solid #ddd;font-weight:600;color:#333;cursor:pointer;white-space:nowrap;user-select:none}.reg-map #agreements-table th:hover{background:#e8ecf1}.reg-map #agreements-table td{padding:7px 10px;border-bottom:1px solid #eee;vertical-align:top}.reg-map #agreements-table tr:hover td{background:#f9fbfd}.reg-map .cat-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10px;text-transform:uppercase;color:#fff;white-space:nowrap}.reg-map .glossary-term{font-weight:600;color:#1b4f72}.reg-map .color-indicator{display:inline-block;width:14px;height:14px;border-radius:2px;vertical-align:middle;margin-right:6px}.reg-map #legend{position:absolute;bottom:16px;left:16px;background:#ffffffeb;border:1px solid #ddd;border-radius:6px;padding:10px 14px;font-size:11px;z-index:20}.reg-map #legend .legend-item{display:flex;align-items:center;gap:6px;margin-bottom:3px}.reg-map #legend .legend-line{width:20px;height:2px;flex-shrink:0}.reg-map #sidebar-toggle{display:none;position:absolute;top:10px;left:10px;z-index:20;background:#fff;border:1px solid #ccc;border-radius:4px;padding:6px 10px;font-size:18px;cursor:pointer}@media(max-width:768px){.reg-map #app{.reg-map height: 100vh;height:100dvh;min-height:0}#main{.reg-map flex: none;height:60vh;height:60dvh;min-height:300px}#map-container{.reg-map height: 100%;min-height:300px}#descriptor{.reg-map flex: 1;overflow-y:auto;max-height:40vh;max-height:40dvh}.tab-content{.reg-map max-height: none;overflow-y:visible}#info-panel{.reg-map width: calc(100% - 32px);max-width:340px;max-height:40vh;max-height:40dvh;left:16px;right:16px}#legend{.reg-map max-width: calc(100% - 32px);font-size:10px;padding:6px 10px}#sidebar{.reg-map position: absolute;left:-280px;top:0;bottom:0;z-index:30;transition:left .25s;box-shadow:2px 0 8px #0000001a}#sidebar.open{left:0}.reg-map #sidebar-toggle{display:block}}@media(max-width:768px)and (max-height:400px){.reg-map #main{.reg-map min-height: 0;height:50vh;height:50dvh}#map-container{min-height:0}}
