:root{color-scheme:light dark;--bg: #f8fafc;--panel: #ffffff;--border: #e2e8f0;--text: #0f172a;--muted: #64748b;--accent: #2563eb;--accent-2: #f59e0b;--mono: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}@media(prefers-color-scheme:dark){:root{--bg: #0b1220;--panel: #111a2c;--border: #1f2c44;--text: #e2e8f0;--muted: #94a3b8}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}.floors{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px}.floors button{min-width:44px;padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text);font-family:var(--mono);cursor:pointer}.floors button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:#fff}.floors .hint{margin-left:4px}.site-header{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.site-header h1{margin:0;font-size:20px}.site-header__title p{margin:2px 0 0;color:var(--muted);font-size:12.5px}.site-header__links{display:flex;gap:14px;font-size:13px}.tabs{display:flex;gap:8px;padding:12px 20px 0;flex-wrap:wrap}.tabs button{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:999px 999px 0 0;padding:8px 16px;font:inherit;cursor:pointer}.tabs button[aria-selected=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.layout{display:grid;grid-template-columns:260px minmax(0,1fr) 300px;gap:16px;padding:16px 20px;align-items:start}@media(max-width:980px){.layout{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px}.blurb{margin:0 0 12px;color:var(--muted);font-size:12.5px}.option-group{display:flex;flex-direction:column;gap:10px}.option-group label{display:flex;flex-direction:column;gap:3px;font-size:12.5px}.option-group select,.option-group input[type=range]{font:inherit;padding:4px}.option-group .checkbox{flex-direction:row;align-items:center;gap:6px}.actions{display:flex;gap:8px;margin:14px 0}.actions button,.presets button{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:6px 10px;font:inherit;cursor:pointer}.presets{display:flex;flex-direction:column;gap:6px}.panel--map{padding:0;overflow:hidden;position:relative}#map{width:100%;height:520px;display:block;cursor:crosshair;background:repeating-linear-gradient(0deg,transparent,transparent 39px,var(--border) 40px),repeating-linear-gradient(90deg,transparent,transparent 39px,var(--border) 40px);background-size:40px 40px}.mapgl{width:100%;height:520px}.mapgl[hidden]{display:none}.mapgl .maplibregl-canvas-container.maplibregl-interactive{cursor:crosshair}.build-info{margin:0 0 12px;padding:6px 8px;border-radius:6px;background:var(--bg);border:1px solid var(--border);font-family:var(--mono);font-size:11.5px}.build-info:empty{display:none}.hint{margin:0;padding:8px 14px;font-size:12px;color:var(--muted);border-top:1px solid var(--border)}.legend{display:flex;gap:12px;font-size:12px;margin:6px 0 10px;flex-wrap:wrap}.legend span{display:inline-flex;align-items:center;gap:5px}.legend i{width:14px;height:3px;display:inline-block;border-radius:2px}.summary dl{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:0 0 12px;font-size:12.5px}.summary dt{color:var(--muted)}.summary dd{margin:0;font-family:var(--mono);text-align:right}.summary .status{font-weight:600;margin-bottom:6px}.summary .status.fail{color:#dc2626}.summary .status.ok{color:#16a34a}table.wp{width:100%;border-collapse:collapse;font-size:11.5px;margin-bottom:10px}table.wp th,table.wp td{text-align:left;padding:3px 4px;border-bottom:1px solid var(--border);font-family:var(--mono)}table.wp th{font-family:inherit;color:var(--muted);font-weight:500}.badge{display:inline-block;padding:1px 6px;border-radius:999px;font-size:10.5px;background:var(--border)}.badge.relocated{background:#fef3c7;color:#92400e}#json-output{font-size:11px;max-height:260px;overflow:auto;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px;white-space:pre-wrap;word-break:break-word}.site-footer{text-align:center;color:var(--muted);font-size:12px;padding:20px}
