*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{overflow:hidden;background:#0f172a}body.admin-scroll{overflow:auto}body.admin-scroll,body.admin-scroll #root,body.admin-scroll .app-root{height:auto;min-height:100vh}.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-bottom-left{margin:8px}html,body,#root{height:100dvh;min-height:100dvh}body{overscroll-behavior:none;-webkit-text-size-adjust:100%}@media(max-width:768px){input,select,textarea{font-size:16px}}html,body,#root,.app-root{height:100%;margin:0}.app-root{position:relative}:root{--sp-width: 240px}.map-wrap{position:fixed;top:var(--tb-height);left:var(--sp-width);right:0;bottom:0;z-index:1}.map-attrib{position:absolute;right:8px;bottom:6px;z-index:5;padding:2px 6px;border-radius:6px;background:#0f172acc;color:#e2e8f0;font-size:11px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.map-attrib a{color:#c7d2fe;text-decoration:none}.map-attrib a:hover{text-decoration:underline}.layer-panel{position:fixed;top:calc(var(--tb-height) + 8px);left:calc(var(--sp-width) + 8px);z-index:10;background:#1d2129eb;color:#eef2f8;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px;max-height:70vh;max-width:min(320px,calc(100vw - 24px));overflow:auto;box-shadow:0 6px 16px #00000040;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:13px}.service-header .btn{border:0;background:#ffffff14;color:#fff;border-radius:6px;height:22px;padding:0 8px;cursor:pointer}.layer-item{display:flex;align-items:center;gap:6px;padding:4px 2px}.layer-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-note{color:#cbd3e1;font-size:12px;padding:2px 0}.map-hover-info,.map-hover-info-dwa{position:fixed;left:50%;transform:translate(-50%);padding:6px 10px;border-radius:8px;font-size:13px;font-weight:500;background:#0f172af2;color:#f9fafb;box-shadow:0 6px 18px #0f172a99;pointer-events:none;z-index:999}.map-hover-info{bottom:16px}.map-hover-info-dwa{bottom:48px}.move-mode-indicator{position:fixed;top:calc(var(--tb-height) + 12px);left:50%;transform:translate(-50%);padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.2px;background:#d97706f2;color:#0b1220;box-shadow:0 8px 18px #00000059;border:1px solid rgba(255,255,255,.22);pointer-events:auto;cursor:pointer;-webkit-user-select:none;user-select:none;z-index:1000}.edit-lock-indicator{position:fixed;top:calc(var(--tb-height) + 44px);left:50%;transform:translate(-50%);padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.2px;background:#dc2626f2;color:#f9fafb;box-shadow:0 8px 18px #00000059;border:1px solid rgba(255,255,255,.22);pointer-events:none;z-index:1000}@media(max-width:1200px){:root{--sp-width: 220px}}@media(max-width:900px){:root{--sp-width: 200px}}@media(max-width:700px){:root{--sp-width: 180px}.layer-panel{left:8px;right:8px;max-width:calc(100vw - 16px)}}select,select option{background-color:#020617;color:#e5e7eb}@media(max-width:768px){:root{--sp-width: 0px;--sp-mobile-height: 42dvh}.map-wrap{left:0;bottom:var(--sp-mobile-height)}.layer-panel{left:8px;right:8px;max-width:calc(100vw - 16px)}.map-hover-info{bottom:calc(var(--sp-mobile-height) + 16px)}.map-hover-info-dwa{bottom:calc(var(--sp-mobile-height) + 48px)}.move-mode-indicator{top:calc(var(--tb-height) + 8px)}}@media(max-width:420px){:root{--sp-mobile-height: 38dvh}}.admin-page{min-height:100vh;padding:24px 24px 56px;background:radial-gradient(circle at 20% 20%,#1e293b,#0b1220 55%,#0b1220);color:#e5e7eb;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;overflow-y:auto}.admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.admin-subtitle{margin:4px 0 0;color:#cbd5f5}.admin-meta{text-align:right;color:#94a3b8;font-size:14px;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.admin-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;gap:12px;align-items:end;margin-bottom:16px}.admin-toolbar-hint{border-radius:8px;border:1px solid rgba(148,163,184,.25);background:#0206178c;color:#cbd5f5;padding:8px 10px;font-size:13px;min-height:38px;display:flex;align-items:center}.admin-workspace-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.admin-workspace-tab{border:1px solid rgba(148,163,184,.35);background:#0f172ad9;color:#e2e8f0;border-radius:999px;padding:7px 14px;font-size:13px;cursor:pointer}.admin-workspace-tab.is-active{border-color:#3b82f6cc;background:#2563eb59;color:#dbeafe}.admin-field{display:flex;flex-direction:column;gap:6px}.admin-grid{display:grid;grid-template-columns:minmax(520px,1.2fr) minmax(420px,1fr);gap:20px}.admin-grid.admin-grid-users{grid-template-areas:"users users" "add-user edit-user"}.admin-grid.admin-grid-institutions{grid-template-areas:"institutions institutions" "add-inst edit-inst"}.admin-card-users-list{grid-area:users;border-color:#38bdf859}.admin-card-institutions-list{grid-area:institutions;border-color:#4ade8059}.admin-card-add-user{grid-area:add-user}.admin-card-add-institution{grid-area:add-inst}.admin-card-edit-institution{grid-area:edit-inst}.admin-card-edit-user{grid-area:edit-user}.admin-card{background:#0f172aeb;border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:16px;box-shadow:0 10px 22px #00000040}.admin-card h2{margin-top:0;margin-bottom:12px;font-size:18px}.admin-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.admin-card-head h2{margin:0}.admin-card-toggle{white-space:nowrap}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th,.admin-table td{padding:8px 10px;border-bottom:1px solid rgba(148,163,184,.18);text-align:left;vertical-align:top}.admin-table th{color:#cbd5f5;font-weight:600;font-size:13px;letter-spacing:.2px}.admin-table tr.is-inactive td{color:#94a3b8}.admin-table tr.is-selected td{background:#2563eb2e}.admin-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-form{display:flex;flex-direction:column;gap:10px}.admin-permission-category{margin:10px 0 14px;padding:12px;border-radius:12px;border:1px solid rgba(148,163,184,.25);background:#0f172ab3}.admin-permission-segment{margin-top:10px;padding:10px 12px;border-radius:10px;border:1px solid rgba(148,163,184,.2);background:#020617a6}.admin-permission-segment .admin-form{margin-top:6px;gap:8px}.admin-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#cbd5f5}.admin-form input,.admin-form select,.admin-field input,.admin-field select{border-radius:8px;border:1px solid rgba(148,163,184,.3);background:#020617cc;color:#e2e8f0;padding:8px 10px;font-size:14px}.admin-check{flex-direction:row;align-items:center;gap:8px;font-size:14px}.admin-check input{width:16px;height:16px}.admin-btn{border:1px solid rgba(59,130,246,.7);background:#2563ebd9;color:#fff;border-radius:8px;padding:8px 14px;font-size:14px;cursor:pointer}.admin-btn:disabled{opacity:.6;cursor:not-allowed}.admin-btn-ghost{background:transparent;border-color:#94a3b880;color:#e2e8f0}.admin-switch-btn{margin-top:6px}.admin-btn-danger{border-color:#f87171cc;background:#ef4444d9}.admin-alert{border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:14px}.admin-alert-error{background:#f8717133;border:1px solid rgba(248,113,113,.6);color:#fecaca}.admin-alert-ok{background:#22c55e33;border:1px solid rgba(34,197,94,.6);color:#bbf7d0}.admin-muted{color:#94a3b8;margin:0}.admin-pill{background:#1e293bcc;border:1px solid rgba(148,163,184,.3);border-radius:999px;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:12px;color:#e2e8f0;width:fit-content}.admin-status-badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(148,163,184,.4);padding:2px 8px;font-size:12px;color:#e2e8f0;background:#1e293bb3;white-space:nowrap}.admin-status-badge-success{background:#22c55e38;border-color:#22c55ea6;color:#bbf7d0}.admin-status-badge-danger{background:#f8717138;border-color:#f87171a6;color:#fecaca}.admin-status-badge-warning{background:#fbbf2433;border-color:#fbbf248c;color:#fde68a}.admin-status-badge-info{background:#38bdf833;border-color:#38bdf88c;color:#bae6fd}.admin-transaction-summary{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.admin-transaction-details{margin-top:14px;padding-top:14px;border-top:1px solid rgba(148,163,184,.25)}.admin-kv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:10px 0 12px}.admin-kv{padding:10px;border-radius:10px;border:1px solid rgba(148,163,184,.22);background:#0206178c}.admin-kv-label{color:#94a3b8;font-size:12px;margin-bottom:4px}.admin-kv-value{color:#e2e8f0;font-size:13px;overflow-wrap:anywhere}.admin-inline-actions{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.admin-code-block{border-radius:10px;border:1px solid rgba(148,163,184,.3);background:#020617d9;color:#cbd5f5;padding:12px;font-size:12px;line-height:1.4;max-height:360px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0}.admin-divider{height:1px;background:#94a3b840;margin:4px 0}@media(max-width:1100px){.admin-grid.admin-grid-users{grid-template-columns:1fr;grid-template-areas:"users" "add-user" "edit-user"}.admin-grid.admin-grid-institutions{grid-template-columns:1fr;grid-template-areas:"institutions" "add-inst" "edit-inst"}}@media(max-width:700px){.admin-toolbar{grid-template-columns:1fr}.admin-meta{text-align:left;align-items:flex-start}.admin-card-head{flex-direction:column;align-items:flex-start}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(800px 400px at 15% 10%,rgba(37,99,235,.22),transparent 60%),radial-gradient(600px 300px at 85% 20%,rgba(16,185,129,.18),transparent 60%),repeating-linear-gradient(135deg,rgba(148,163,184,.08) 0,rgba(148,163,184,.08) 1px,transparent 1px,transparent 12px),#0f172a;padding:16px;box-sizing:border-box}.register-page{align-items:flex-start;overflow-y:auto}.login-card{background:#020617;border-radius:12px;padding:20px 24px;width:100%;max-width:380px;box-shadow:0 20px 40px #00000080;color:#e5e7eb;display:flex;flex-direction:column;gap:12px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;box-sizing:border-box}.login-card h1{margin:0 0 8px;font-size:20px}.login-logo{width:60%;height:auto;align-self:center;margin:2px 0 6px}.login-card label{display:flex;flex-direction:column;font-size:13px;gap:4px}.login-card input{padding:6px 8px;border-radius:6px;border:1px solid #4b5563;background:#020617;color:#e5e7eb}.login-card button{margin-top:8px;padding:8px 10px;border-radius:8px;border:none;cursor:pointer;background:#2563eb;color:#fff;font-weight:500}.login-card button:disabled{opacity:.6;cursor:default}.login-error{font-size:12px;color:#fecaca;background:#dc262633;padding:6px 8px;border-radius:8px}.login-status{font-size:12px;color:#d1fae5;background:#0596692e;border:1px solid rgba(16,185,129,.35);padding:6px 8px;border-radius:8px}.login-info{font-size:12px;color:#cbd5e1;background:#1e293b99;border:1px solid rgba(148,163,184,.2);padding:8px 10px;border-radius:8px}.register-card{max-width:560px;margin-top:8px;margin-bottom:8px;gap:14px;border:1px solid rgba(148,163,184,.22);background:linear-gradient(180deg,#0f172af0,#020617f5),#020617}.register-heading h1{margin:0}.register-subtitle{margin:4px 0 0;font-size:12px;color:#93c5fd}.register-highlights{display:grid;grid-template-columns:1fr;gap:8px}.register-highlight-item{font-size:12px;line-height:1.5;color:#dbeafe;background:#1e3a8a33;border:1px solid rgba(96,165,250,.25);border-radius:8px;padding:8px 10px}.register-section{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:10px;border:1px solid rgba(148,163,184,.24);background:linear-gradient(180deg,#0f172a99,#0f172a6b);box-shadow:inset 0 1px #bfdbfe0d}.register-section-title{margin:0;font-size:12px;font-weight:700;color:#bfdbfe;text-transform:uppercase;letter-spacing:.06em}.register-section label{color:#dbeafe}.register-section input{border-color:#94a3b873;background:#020617c7}.register-section input:focus{outline:2px solid rgba(59,130,246,.45);outline-offset:1px;border-color:#60a5fa}.login-row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.login-card label.login-checkbox-row{display:flex;flex-direction:row;align-items:flex-start;gap:8px;font-size:12px;color:#cbd5e1}.login-card label.login-checkbox-row input{width:16px;height:16px;margin:1px 0 0;accent-color:#2563eb}.register-checkbox-row{padding:8px 10px;border-radius:8px;border:1px solid rgba(148,163,184,.24);background:#0f172a8c}.login-switch-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px;font-size:12px;color:#cbd5e1}.login-actions-group{display:flex;flex-direction:column;gap:4px;margin-top:4px}.login-documents-section{margin-top:12px;padding-top:10px;border-top:1px solid rgba(148,163,184,.24)}.login-documents-row{margin-top:0;align-items:flex-start;flex-direction:column;gap:6px}.login-switch-link{color:#93c5fd;text-decoration:none;font-weight:600}.login-switch-link:hover{color:#bfdbfe;text-decoration:underline}.login-legal-links{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.login-hint{margin-top:6px;font-size:11px;color:#94a3b8}.register-actions{margin-top:4px;padding-top:10px;border-top:1px solid rgba(148,163,184,.24)}.register-actions button{margin-top:0}.register-login-row{margin-top:10px}@media(max-width:480px){.login-page{padding:12px}.register-page{align-items:flex-start}.login-card{padding:16px 18px;gap:10px}.login-card h1{font-size:18px}.login-card label{font-size:12px}.register-card{max-width:100%;margin-top:0;margin-bottom:0;gap:12px}.register-section{padding:10px;gap:8px}.register-checkbox-row{padding:8px}.register-actions{padding-top:8px}.login-row-2{grid-template-columns:1fr;gap:8px}}.inactive-card{max-width:680px;gap:14px}.inactive-status{align-self:flex-start;border-radius:999px;border:1px solid rgba(251,191,36,.45);background:#92400e40;color:#fcd34d;font-size:12px;font-weight:700;letter-spacing:.02em;padding:5px 10px}.inactive-lead{margin:0;color:#cbd5e1;font-size:14px;line-height:1.45}.inactive-section{border:1px solid rgba(148,163,184,.25);border-radius:10px;background:#0f172a80;padding:10px 12px}.inactive-section h2{margin:0 0 8px;font-size:14px;color:#bfdbfe}.inactive-section ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.inactive-section li{color:#e2e8f0;font-size:13px;line-height:1.4}@media(max-width:600px){.inactive-card{max-width:100%}.inactive-section{padding:9px 10px}}.institution-panel{min-height:100dvh;padding:42px 20px 64px;background:radial-gradient(circle at 12% 8%,rgba(22,163,74,.16),transparent 38%),radial-gradient(circle at 88% 10%,rgba(14,116,144,.2),transparent 42%),linear-gradient(145deg,#f6f8f4,#eff4fb 45%,#fdf2e8);color:#112240;overflow-y:auto;font-family:Manrope,Segoe UI,Helvetica Neue,sans-serif}.institution-card{max-width:1180px;margin:0 auto;padding:30px;border-radius:26px;border:1px solid rgba(148,163,184,.35);background:#ffffffdb;box-shadow:0 30px 80px #0f172a24;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:institution-fade-up .45s ease-out}.institution-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:20px}.institution-title h1{margin:0;font-family:Space Grotesk,Manrope,sans-serif;font-weight:700;font-size:clamp(30px,4vw,38px);line-height:1.08;color:#0f172a}.institution-subtitle{margin:8px 0 0;font-size:14px;color:#0f172ab8}.institution-user{padding:12px 14px;border-radius:14px;border:1px solid rgba(148,163,184,.3);background:#f1f5f999;font-size:14px}.institution-user-meta{margin-top:4px;color:#1e293bb8;font-size:12px}.institution-user-activity{margin-top:6px;color:#1e293bb8;font-size:12px}.institution-user-activity.is-warning{color:#dc2626}.institution-user-actions{margin-top:10px;padding:4px 0 0;display:flex;gap:8px;flex-wrap:wrap}.institution-admin-btn,.institution-logout-btn,.institution-view-btn,.institution-edit-btn,.institution-open-btn,.institution-create-btn,.institution-link-btn,.institution-danger-btn{border:1px solid transparent;border-radius:12px;padding:9px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease}.institution-admin-btn{color:#115e59;border-color:#14b8a66b;background:#14b8a61c}.institution-logout-btn{color:#b91c1c;border-color:#f8717180;background:#f8717121}.institution-admin-btn:hover,.institution-logout-btn:hover,.institution-view-btn:hover,.institution-edit-btn:hover,.institution-open-btn:hover,.institution-create-btn:hover,.institution-link-btn:hover,.institution-danger-btn:hover{transform:translateY(-1px)}.institution-toolbar{margin-top:20px;padding:14px;border-radius:16px;border:1px solid rgba(148,163,184,.3);background:#f8fafce6;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;position:sticky;top:12px;z-index:12;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.institution-view-switch{display:inline-flex;gap:8px;flex-wrap:wrap}.institution-view-btn{color:#1e3a8a;border-color:#3b82f659;background:#3b82f61a}.institution-view-btn.is-active{color:#fff;border-color:#1e40afe6;background:linear-gradient(135deg,#1e40af,#0ea5e9);box-shadow:0 10px 24px #1e40af40}.institution-projects-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.institution-summary{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.institution-metric{padding:16px;border-radius:16px;border:1px solid rgba(148,163,184,.3);background:linear-gradient(160deg,#f8fafcf2,#f1f5f9e6);display:flex;flex-direction:column;gap:8px}.institution-metric-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#1e293ba6}.institution-metric-value{font-size:22px;font-weight:700;color:#0f172a}.institution-metric-note{font-size:12px;color:#1e293bbd}.institution-note{font-size:12px;color:#7c3aed;font-weight:600}.institution-link-btn{align-self:flex-start;color:#155e75;border-color:#0891b261;background:#0891b21f}.institution-section{margin-top:20px;padding:18px;border-radius:18px;border:1px solid rgba(148,163,184,.32);background:#ffffffd9;box-shadow:0 10px 30px #0f172a14;animation:institution-fade-up .42s ease-out}.institution-section h2,.institution-edit h3,.institution-user-edit h3{margin:0;font-size:clamp(18px,2.2vw,22px);line-height:1.2;letter-spacing:.01em}.institution-projects-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.institution-search{display:flex;flex-direction:column;gap:6px;min-width:230px;font-size:12px;color:#1e293bbf}.institution-search input,.institution-search select,.institution-field input,.institution-field select{border-radius:10px;border:1px solid rgba(148,163,184,.45);background:#fff;color:#0f172a;padding:10px 12px;font-size:14px;outline:none}.institution-search input:focus,.institution-search select:focus,.institution-field input:focus,.institution-field select:focus{border-color:#0e7490cc;box-shadow:0 0 0 3px #0e749026}.institution-action-row{margin-top:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.institution-edit-btn{color:#1f2937;border-color:#64748b85;background:#f1f5f9f2}.institution-edit-btn.is-active{color:#fff;border-color:#0c4a6ee6;background:linear-gradient(130deg,#0f766e,#0369a1)}.institution-action-panel{margin-top:14px;padding:14px;border-radius:14px;border:1px solid rgba(148,163,184,.34);background:#f8fafceb}.institution-create{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;gap:12px;align-items:end}.institution-import{display:grid;grid-template-columns:minmax(200px,1fr) minmax(200px,1fr) minmax(200px,1fr) auto;gap:12px;align-items:end}.institution-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#1e293bd6}.institution-field--inline{flex-direction:row;align-items:center;gap:8px;padding-top:10px}.institution-create-btn{color:#fff;border-color:#1e40afe6;background:linear-gradient(135deg,#1d4ed8,#0284c7)}.institution-create-btn:disabled{opacity:.58;cursor:not-allowed;transform:none;box-shadow:none}.institution-open-btn{color:#fff;border-color:#15803dcc;background:linear-gradient(135deg,#15803d,#0d9488)}.institution-danger-btn{color:#dc2626;border-color:#dc262673;background:#fee2e2e6}.institution-project-status,.institution-users-status{margin-top:10px;font-size:13px;display:flex;flex-wrap:wrap;gap:10px}.institution-error{color:#dc2626}.institution-edit,.institution-user-edit{margin-top:16px;padding:14px;border-radius:14px;border:1px solid rgba(148,163,184,.35);background:#f8fafce6}.institution-projects-grid,.institution-users-list{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:13px}.institution-project-card,.institution-user-card{position:relative;padding:16px;border-radius:14px;border:1px solid rgba(148,163,184,.34);background:#fff;display:flex;flex-direction:column;gap:8px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.institution-logs-list{margin-top:16px;display:flex;flex-direction:column;gap:10px;padding:0;list-style:none}.institution-log-item{padding:14px 16px;border-radius:14px;border:1px solid rgba(148,163,184,.34);background:#fff;display:flex;flex-direction:column;gap:6px;transition:border-color .16s ease,box-shadow .16s ease}.institution-project-card:hover,.institution-user-card:hover{transform:translateY(-2px);border-color:#3b82f68c;box-shadow:0 14px 34px #02061738}.institution-log-item:hover{border-color:#3b82f67a;box-shadow:0 8px 24px #0206172e}.institution-log-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.institution-project-card{min-height:156px}.institution-project-card.is-last,.institution-user-card.is-selected{border-color:#0284c7a6;box-shadow:0 0 0 2px #0284c724}.institution-project-title,.institution-user-title{font-size:16px;font-weight:700;color:#0f172a}.institution-project-desc{font-size:13px;color:#1e293bc2}.institution-project-meta{font-size:11px;color:#1e293ba8;display:flex;flex-direction:column;gap:4px}.institution-project-lock{align-self:flex-start;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;color:#991b1b;border:1px solid rgba(220,38,38,.4);background:#fee2e2e6}.institution-project-lock.is-mine{color:#0c4a6e;border-color:#0e749066;background:#e0f2fee6}.institution-project-actions,.institution-user-actions{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap}.institution-last-badge{position:absolute;top:10px;right:10px;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;color:#0c4a6e;border:1px solid rgba(14,116,144,.35);background:#e0f2fef2}.institution-users{margin-top:22px}.institution-user-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.institution-users-grid{margin:14px 0 4px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:start}.institution-users-grid .institution-create-btn,.institution-users-grid .institution-open-btn{width:max-content;align-self:end}.institution-permission-category{margin-top:12px;padding:12px;border-radius:12px;border:1px solid rgba(148,163,184,.3);background:#ffffffeb}.institution-permission-title{margin-bottom:8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#0f172a}.institution-permission-segment{margin-bottom:10px;padding:10px 12px;border-radius:10px;border:1px solid rgba(148,163,184,.32);background:#f8fafce0}.institution-permission-segment:last-child{margin-bottom:0}.institution-collapse{grid-column:1 / -1;border-radius:12px;border:1px dashed rgba(148,163,184,.6);background:#f8fafcc7;padding:8px 10px}.institution-collapse>summary{cursor:pointer;font-size:13px;font-weight:700;color:#1e293b}.institution-empty{margin-top:14px;padding:20px;border-radius:12px;border:1px dashed rgba(148,163,184,.6);background:#f8fafce0;color:#1e293bc2}@keyframes institution-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1000px){.institution-card{padding:22px}.institution-create,.institution-import{grid-template-columns:1fr}.institution-users-grid .institution-create-btn,.institution-users-grid .institution-open-btn{width:auto}}@media(max-width:720px){.institution-panel{padding:26px 12px 42px}.institution-card{padding:16px;border-radius:18px}.institution-user{width:100%}.institution-toolbar,.institution-projects-header,.institution-user-tools{flex-direction:column;align-items:stretch}.institution-toolbar{top:8px}.institution-view-switch{width:100%}.institution-view-btn{flex:1 1 120px}.institution-search{min-width:100%}.institution-users-grid,.institution-projects-grid,.institution-users-list,.institution-summary{grid-template-columns:1fr}.institution-log-top{align-items:flex-start;flex-direction:column}}.institution-panel{background:radial-gradient(circle at 20% 20%,rgba(37,99,235,.15),transparent 45%),radial-gradient(circle at 80% 10%,rgba(14,116,144,.18),transparent 50%),#0f172a;color:#e2e8f0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.institution-card,.institution-section,.institution-edit,.institution-user-edit,.institution-action-panel{background:#0f172ad1;border-color:#94a3b847;box-shadow:0 24px 60px #0000005c}.institution-title h1,.institution-projects-header h2,.institution-edit h3,.institution-user-edit h3,.institution-project-title,.institution-user-title,.institution-metric-label,.institution-metric-value,.institution-permission-title,.institution-collapse>summary{color:#f8fafc;font-family:inherit}.institution-subtitle,.institution-user-meta,.institution-field,.institution-search,.institution-metric-note,.institution-project-desc,.institution-project-meta,.institution-empty{color:#e2e8f0c2}.institution-user,.institution-toolbar,.institution-metric,.institution-permission-category,.institution-permission-segment,.institution-collapse,.institution-empty,.institution-project-card,.institution-user-card,.institution-log-item{background:#020617a3;border-color:#94a3b84d}.institution-view-btn,.institution-edit-btn{color:#dbeafe;background:#0f172ab8;border-color:#94a3b88c}.institution-view-btn{min-width:112px;display:inline-flex;align-items:center;justify-content:center}.institution-view-btn.is-active{background:linear-gradient(135deg,#1d4ed8,#0284c7);border-color:#60a5fae6;color:#fff}.institution-edit-btn.is-active{background:linear-gradient(130deg,#0f766e,#0369a1);border-color:#2dd4bfd9;color:#fff}.institution-admin-btn{color:#7dd3fc;border-color:#38bdf880;background:#0e74903d}.institution-logout-btn{color:#fecaca;border-color:#f871719e;background:#f8717129}.institution-open-btn,.institution-create-btn{color:#fff;border-color:#3b82f6cc;background:#2563ebe0}.institution-link-btn{color:#7dd3fc;border-color:#38bdf880;background:#0e749038}.institution-danger-btn{color:#fecaca;border-color:#f871719e;background:#f871712e}.institution-note{color:#fbbf24f2}.institution-user-activity{color:#e2e8f0c2}.institution-user-activity.is-warning,.institution-error{color:#f87171f2}.institution-project-lock{color:#fecaca;border-color:#f871718c;background:#f871712e}.institution-project-lock.is-mine,.institution-last-badge{color:#bfdbfe;border-color:#3b82f680;background:#2563eb33}.institution-search input,.institution-search select,.institution-field input,.institution-field select{background:#020617db;border-color:#94a3b861;color:#e2e8f0}.institution-field select option{background:#020617;color:#e2e8f0}.institution-field input[type=file]{color:#e2e8f0}.institution-field input[type=checkbox]{accent-color:#3b82f6}.institution-search input::placeholder,.institution-field input::placeholder{color:#94a3b8e6}.institution-search input:focus,.institution-search select:focus,.institution-field input:focus,.institution-field select:focus{border-color:#3b82f6e6;box-shadow:0 0 0 3px #3b82f640}.institution-field input:disabled,.institution-search select:disabled,.institution-field select:disabled{color:#e2e8f0d1;background:#0f172abf}.institution-create-btn:disabled,.institution-open-btn:disabled,.institution-edit-btn:disabled,.institution-view-btn:disabled,.institution-danger-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.institution-admin-btn:focus-visible,.institution-logout-btn:focus-visible,.institution-view-btn:focus-visible,.institution-edit-btn:focus-visible,.institution-open-btn:focus-visible,.institution-create-btn:focus-visible,.institution-link-btn:focus-visible,.institution-danger-btn:focus-visible{outline:2px solid rgba(125,211,252,.95);outline-offset:2px}.payments-page{min-height:100dvh;padding:34px 16px 48px;background:radial-gradient(circle at 12% 12%,rgba(30,64,175,.24),transparent 46%),radial-gradient(circle at 88% 16%,rgba(8,145,178,.2),transparent 45%),#0f172a;color:#e2e8f0}.payments-card{width:min(940px,100%);margin:0 auto;padding:26px;border-radius:20px;border:1px solid rgba(148,163,184,.32);background:#020617d1;box-shadow:0 24px 70px #0000006b;display:flex;flex-direction:column;gap:16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.payments-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.payments-header h1{margin:0;font-size:clamp(24px,4vw,34px);line-height:1.08}.payments-subtitle{margin:8px 0 0;color:#e2e8f0c7;font-size:14px}.payments-ghost-btn{border:1px solid rgba(148,163,184,.55);border-radius:10px;background:#0f172ab3;color:#bfdbfe;padding:9px 14px;font-size:13px;font-weight:600;cursor:pointer}.payments-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.payments-offer{text-align:left;width:100%;padding:16px;border:1px solid rgba(148,163,184,.35);border-radius:14px;background:#0f172adb;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.payments-offer:hover{transform:translateY(-1px);border-color:#38bdf8b3}.payments-offer.is-selected{border-color:#3b82f6e0;box-shadow:0 0 0 2px #2563eb3d;background:linear-gradient(150deg,#1e293bf5,#0f172af5)}.payments-offer-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.payments-offer-title{font-size:16px;font-weight:700;color:#f8fafc}.payments-offer-badge{border-radius:999px;border:1px solid rgba(45,212,191,.5);background:#0f766e3d;color:#99f6e4;padding:3px 8px;font-size:11px;font-weight:700;white-space:normal;text-align:right}.payments-offer-subtitle{font-size:13px;color:#e2e8f0c2}.payments-offer-regular{margin-top:2px;font-size:12px;color:#94a3b8f2;text-decoration:line-through;text-decoration-thickness:2px}.payments-offer-price{margin-top:4px;font-size:22px;line-height:1;font-weight:800;color:#dbeafe}.payments-offer-gross{font-size:12px;color:#94a3b8f2}.payments-summary{margin-top:4px;border:1px solid rgba(148,163,184,.34);border-radius:12px;background:#0f172ab3;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.payments-summary-row{display:flex;justify-content:space-between;gap:12px;font-size:14px}.payments-summary-row strong{color:#f8fafc}.payments-ksef-box{margin-top:4px;border:1px solid rgba(125,211,252,.45);border-radius:12px;background:#082f4952;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.payments-ksef-title{font-size:13px;font-weight:700;color:#bae6fd}.payments-ksef-line{font-size:12px;color:#e2e8f0d6}.payments-legal-box{margin-top:4px;border:1px solid rgba(148,163,184,.34);border-radius:12px;background:#0f172a94;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.payments-legal-title{font-size:13px;font-weight:700;color:#dbeafe}.payments-legal-line{font-size:12px;color:#e2e8f0cc}.payments-consent{margin-top:2px;display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#cbd5e1}.payments-consent input{width:16px;height:16px;margin-top:1px;accent-color:#2563eb}.payments-link{color:#93c5fd;text-decoration:none;font-weight:600}.payments-link:hover{color:#bfdbfe;text-decoration:underline}.payments-actions{margin-top:8px;display:flex;flex-direction:column;gap:10px}.payments-pending-actions{display:flex;flex-wrap:wrap;gap:8px}.payments-secondary-btn{border:1px solid rgba(148,163,184,.65);border-radius:10px;background:#0f172ab3;color:#dbeafe;font-size:13px;font-weight:600;padding:9px 12px;cursor:pointer}.payments-secondary-btn--danger{border-color:#f87171b3;color:#fecaca}.payments-checkout-btn{border:1px solid rgba(59,130,246,.84);border-radius:12px;background:linear-gradient(135deg,#1d4ed8,#0284c7);color:#fff;font-size:15px;font-weight:700;padding:11px 14px;cursor:pointer}.payments-checkout-btn:disabled{opacity:.6;cursor:default}.payments-note{font-size:12px;color:#e2e8f0bd}.payments-error{border:1px solid rgba(248,113,113,.6);background:#7f1d1d6b;color:#fecaca;border-radius:10px;font-size:13px;padding:9px 11px}.payments-banner{border-radius:10px;font-size:13px;padding:9px 11px}.payments-banner--success{border:1px solid rgba(45,212,191,.56);background:#064e3b70;color:#99f6e4}.payments-banner--info{border:1px solid rgba(125,211,252,.56);background:#082f4970;color:#bae6fd}.payments-banner--error{border:1px solid rgba(248,113,113,.6);background:#7f1d1d6b;color:#fecaca}@media(max-width:700px){.payments-page{padding:22px 12px 34px}.payments-card{padding:16px;border-radius:14px}.payments-summary-row{font-size:13px}}.institution-profile-page{min-height:100dvh;padding:34px 16px 50px;background:radial-gradient(circle at 14% 12%,rgba(37,99,235,.15),transparent 48%),radial-gradient(circle at 84% 14%,rgba(14,116,144,.16),transparent 50%),#0f172a;color:#e2e8f0}.institution-profile-card{width:min(980px,100%);margin:0 auto;padding:24px;border-radius:18px;border:1px solid rgba(148,163,184,.32);background:#020617d6;box-shadow:0 26px 70px #0006;display:flex;flex-direction:column;gap:16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.institution-profile-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.institution-profile-header h1{margin:0;font-size:clamp(24px,4vw,34px);line-height:1.08}.institution-profile-subtitle{margin:8px 0 0;color:#e2e8f0c7;font-size:14px}.institution-profile-section{border:1px solid rgba(148,163,184,.32);border-radius:14px;background:#0f172abd;padding:14px}.institution-profile-section h2{margin:0 0 10px;font-size:20px}.institution-profile-note{margin:0 0 10px;color:#e2e8f0c2;font-size:13px}.institution-profile-form .institution-profile-note{margin:0;grid-column:1 / -1}.institution-profile-auth-box{grid-column:1 / -1;margin-top:6px;padding:12px;border-radius:12px;border:1px solid rgba(148,163,184,.36);background:#0f172a94;display:grid;gap:10px}.institution-profile-auth-title{margin:0;font-size:15px;color:#dbeafe}.institution-profile-auth-note{margin:0}.institution-profile-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;align-items:end}.institution-profile-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#cbd5e1}.institution-profile-field input,.institution-profile-field select{border-radius:10px;border:1px solid rgba(148,163,184,.38);background:#020617db;color:#e2e8f0;padding:10px 12px;font-size:14px;outline:none}.institution-profile-field input:focus,.institution-profile-field select:focus{border-color:#3b82f6e6;box-shadow:0 0 0 3px #3b82f640}.institution-profile-primary-btn,.institution-profile-secondary-btn{border:1px solid transparent;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:700;cursor:pointer}.institution-profile-primary-btn{color:#fff;border-color:#3b82f6e0;background:linear-gradient(135deg,#1d4ed8,#0284c7)}.institution-profile-secondary-btn{color:#dbeafe;border-color:#94a3b88c;background:#0f172ab8}.institution-profile-primary-btn:disabled{opacity:.6;cursor:not-allowed}.institution-profile-success,.institution-profile-error{grid-column:1 / -1;border-radius:10px;padding:9px 11px;font-size:13px}.institution-profile-success{border:1px solid rgba(45,212,191,.56);background:#064e3b70;color:#99f6e4}.institution-profile-error{border:1px solid rgba(248,113,113,.62);background:#7f1d1d6b;color:#fecaca}@media(max-width:700px){.institution-profile-page{padding:22px 12px 34px}.institution-profile-card{padding:16px;border-radius:14px}.institution-profile-form{grid-template-columns:1fr}}.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0,0,0,0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media(forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media(forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}@media(hover:hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:#0000000d}}.maplibregl-ctrl button:not(:disabled):active{background-color:#0000000d}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media(forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media(forced-colors:active)and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media(forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media(forced-colors:active)and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media(forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media(forced-colors:active)and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media(forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media(forced-colors:active)and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media(forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media(forced-colors:active)and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:#0000000d}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active)and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:#000000bf;text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:#0006;color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media(hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}:root{--tb-height: 24px;--tb-bg: rgba(28, 31, 37, .86);--tb-fg: #f5f7fb;--tb-fg-dim: #cbd3e1;--tb-border: rgba(255,255,255,.08);--tb-shadow: 0 4px 12px rgba(0,0,0,.18)}.topbar{position:fixed;inset:0 0 auto;height:var(--tb-height);z-index:1100;background:var(--tb-bg);-webkit-backdrop-filter:saturate(140%) blur(8px);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--tb-border);box-shadow:var(--tb-shadow);display:flex;align-items:center;overflow:visible;width:100%;box-sizing:border-box}.topbar-inner{width:100%;padding:0 8px;display:flex;gap:6px;justify-content:flex-start;overflow-x:auto;overflow-y:visible;scrollbar-width:thin}.tb-item{position:relative}.tb-trigger{height:20px;line-height:20px;padding:0 8px;border:0;background:transparent;color:var(--tb-fg);border-radius:6px;cursor:pointer;font-size:12px;white-space:nowrap}.tb-trigger:hover,.tb-item.active .tb-trigger{background:#ffffff14;color:#fff}.tb-dropdown{position:fixed;top:calc(var(--tb-height) + 6px);left:0;min-width:180px;max-width:260px;max-height:70vh;z-index:1100;background:#1d2129;border:1px solid var(--tb-border);border-radius:8px;box-shadow:var(--tb-shadow);padding:4px;display:none}.tb-item.active .tb-dropdown{display:block}.tb-menuitem{width:100%;text-align:left;padding:6px 8px;font-size:12px;font-family:inherit;color:var(--tb-fg-dim);background:transparent;border:0;border-radius:6px;cursor:pointer;box-sizing:border-box}.tb-menuitem:hover{background:#ffffff14;color:#fff}.tb-menuitem:disabled{opacity:.45;cursor:not-allowed}.tb-menuitem:disabled:hover{background:transparent;color:var(--tb-fg-dim)}.tb-def-panel{position:fixed;top:calc(var(--tb-height) + 8px);right:12px;width:480px;max-width:min(480px,calc(100vw - 24px));height:calc(100vh - var(--tb-height) - 20px);max-height:calc(100vh - var(--tb-height) - 20px);display:flex;flex-direction:column;border-radius:12px;border:1px solid var(--tb-border);background:#111827f5;box-shadow:0 18px 40px #0009;z-index:1200}.tb-def-header{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;font-size:12px;font-weight:600;color:var(--tb-fg);border-bottom:1px solid rgba(148,163,184,.4)}.tb-def-close{border:0;background:transparent;color:var(--tb-fg-dim);cursor:pointer;font-size:13px;padding:2px 4px}.tb-def-tabs{display:flex;gap:4px;padding:6px 8px;border-bottom:1px solid rgba(148,163,184,.3)}.tb-def-tab{flex:1;border-radius:999px;border:1px solid rgba(148,163,184,.5);background:#0f172ae6;color:var(--tb-fg-dim);font-size:11px;padding:4px 6px;cursor:pointer}.tb-def-tab--active{background:#3b82f6f5;border-color:#3b82f6;color:#f9fafb}.tb-def-content{flex:1;min-height:0;overflow-y:auto;padding:8px 10px 6px}.tb-def-body{display:flex;flex-direction:column;gap:8px;font-size:11px}.tb-def-body h3{margin:0 0 6px;font-size:12px;font-weight:600;color:var(--tb-fg)}.tb-def-device-group{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid rgba(148,163,184,.35);border-radius:10px;background:#1e293b61}.tb-def-device-group h4{margin:0;font-size:11px;font-weight:700;color:#e5e7eb}.tb-def-field{display:flex;flex-direction:column;gap:4px}.tb-def-field label{color:var(--tb-fg-dim)}.tb-def-field input,.tb-def-field select{height:26px;border-radius:8px;border:1px solid rgba(148,163,184,.6);background:#0f172af2;color:#e5e7eb;padding:0 8px;font-size:11px}.tb-def-field input:focus,.tb-def-field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6b3}.tb-def-footer{display:flex;justify-content:flex-end;gap:6px;padding:6px 8px 8px;border-top:1px solid rgba(148,163,184,.4)}.tb-def-btn{border-radius:999px;border:1px solid transparent;font-size:11px;padding:4px 10px;cursor:pointer}.tb-def-btn.secondary{background:transparent;border-color:#94a3b899;color:var(--tb-fg-dim)}.tb-def-btn.primary{background:#3b82f6f5;border-color:#3b82f6;color:#f9fafb}.tb-def-btn:hover{filter:brightness(1.05)}.tb-project-info{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:11px;color:var(--tb-fg-dim)}.tb-license-expiry-warning{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 8px 0 4px;border-radius:999px;border:1px solid rgba(245,158,11,.9);background:#78350fad;color:#ffedd5;text-decoration:none;white-space:nowrap}.tb-license-expiry-warning:hover{border-color:#fbbf24f2;background:#9a3412c7;color:#fff7ed}.tb-license-expiry-warning__badge{display:inline-flex;align-items:center;height:16px;padding:0 6px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.08em;color:#431407;background:#fbbf24;text-transform:uppercase}.tb-license-expiry-warning__text{font-size:10px;font-weight:700}.tb-license-banner{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 8px 0 4px;border-radius:999px;border:1px solid rgba(251,191,36,.95);color:#fff7d6;background:repeating-linear-gradient(-45deg,#7f1d1df2 0 8px,#b45309f2 8px 16px);box-shadow:0 0 0 1px #00000038 inset,0 0 #fbbf2400,0 8px 18px #00000042;white-space:nowrap;animation:tb-license-banner-pulse 1.8s ease-in-out infinite}.tb-license-banner-badge{display:inline-flex;align-items:center;height:16px;padding:0 6px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.08em;color:#2a1200;background:#fbbf24;text-transform:uppercase;box-shadow:0 1px #ffffff26 inset}.tb-license-banner-text{font-size:10px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;text-shadow:0 1px 1px rgba(0,0,0,.45)}@keyframes tb-license-banner-pulse{0%{box-shadow:0 0 0 1px #00000038 inset,0 0 #fbbf2400,0 8px 18px #00000042;filter:saturate(1) brightness(1)}50%{box-shadow:0 0 0 1px #00000038 inset,0 0 0 6px #fbbf241f,0 10px 22px #00000057;filter:saturate(1.08) brightness(1.06)}to{box-shadow:0 0 0 1px #00000038 inset,0 0 #fbbf2400,0 8px 18px #00000042;filter:saturate(1) brightness(1)}}.tb-save-status{padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.02em;border:1px solid transparent;white-space:nowrap}.tb-save-status--clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.tb-save-status--clickable:focus-visible{outline:2px solid rgba(59,130,246,.9);outline-offset:2px}.tb-save-status--ok{background:#22c55e2e;color:#bbf7d0;border-color:#22c55e80}.tb-save-status--warn{background:#eab3082e;color:#fde68a;border-color:#eab3088c}.tb-save-status--danger{background:#ef444433;color:#fecaca;border-color:#ef444499}.tb-save-status--stale{background:#94a3b82e;color:#e2e8f0d9;border-color:#94a3b880}.tb-save-status--offline{background:#94a3b82e;color:#e2e8f0cc;border-color:#94a3b880}.tb-admin-link{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;border:1px solid rgba(59,130,246,.8);background:#2563eb3d;color:#e2e8f0;text-decoration:none;font-size:11px;white-space:nowrap}.tb-admin-link:hover{background:#2563eb6b;color:#fff}@keyframes tb-history-pulse-undo{0%{transform:scale(1);box-shadow:0 0 #60a5fa00;filter:brightness(1)}20%{transform:scale(1.18);box-shadow:0 0 0 10px #60a5fa73;filter:brightness(1.28)}55%{transform:scale(.96);box-shadow:0 0 0 18px #60a5fa00;filter:brightness(1.05)}to{transform:scale(1);box-shadow:0 0 #60a5fa00}}@keyframes tb-history-pulse-redo{0%{transform:scale(1);box-shadow:0 0 #34d39900;filter:brightness(1)}20%{transform:scale(1.18);box-shadow:0 0 0 10px #34d39973;filter:brightness(1.28)}55%{transform:scale(.96);box-shadow:0 0 0 18px #34d39900;filter:brightness(1.05)}to{transform:scale(1);box-shadow:0 0 #34d39900}}.tb-trigger-history-fx{position:relative}.tb-trigger-history-fx--undo{animation:tb-history-pulse-undo 2.7s ease-out}.tb-trigger-history-fx--redo{animation:tb-history-pulse-redo 2.7s ease-out}.tb-history-fx-banner{position:fixed;top:calc(var(--tb-height) + 10px);left:50%;transform:translate(-50%);z-index:1350;padding:10px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.22);font-size:14px;font-weight:800;letter-spacing:.2px;color:#fff;-webkit-backdrop-filter:blur(8px) saturate(130%);backdrop-filter:blur(8px) saturate(130%);animation:tb-history-banner-in 2.16s ease-out;pointer-events:none}.tb-history-fx-banner--undo{background:#1e40afe6;box-shadow:0 0 #60a5fa7a,0 12px 30px #00000059}.tb-history-fx-banner--redo{background:#059669e6;box-shadow:0 0 #34d3997a,0 12px 30px #00000059}@keyframes tb-history-banner-in{0%{opacity:0;transform:translate(-50%) translateY(-10px) scale(.92)}35%{opacity:1;transform:translate(-50%) translateY(0) scale(1.06)}to{opacity:.95;transform:translate(-50%) translateY(0) scale(1)}}.tb-project-label{opacity:.9}.tb-project-name{max-width:260px;font-weight:600;color:var(--tb-fg);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media(max-width:1100px){.tb-license-banner-text{display:none}.tb-license-banner{padding-right:6px}.tb-license-expiry-warning__text{display:none}.tb-license-expiry-warning{padding-right:6px}}@media(prefers-reduced-motion:reduce){.tb-license-banner{animation:none}}.tb-menuitem-has-sub{position:relative;display:flex;align-items:center;justify-content:flex-start;padding-right:22px;font-family:inherit;box-sizing:border-box}.tb-menuitem-has-sub>span{flex:1}.tb-menuitem-has-sub:after{content:"▶";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:10px;opacity:.7;color:currentColor}.tb-menuitem-has-sub:hover{background:#ffffff14;color:#fff}.tb-menuitem-has-sub:hover:after{opacity:1}.tb-submenu{position:absolute;top:0;left:100%;min-width:220px;max-width:260px;max-height:70vh;-webkit-overflow-scrolling:touch;padding:4px;background:#1d2129;border-radius:8px;border:1px solid var(--tb-border);box-shadow:var(--tb-shadow);display:none;z-index:1200}.tb-menuitem-has-sub:hover>.tb-submenu{display:block}@media(max-width:768px){:root{--tb-height: 32px}.tb-trigger{height:26px;line-height:26px;font-size:13px;padding:0 10px}.tb-def-panel{right:8px;width:min(100vw - 16px,480px)}}@media(max-width:768px){.tb-trigger{min-height:28px}.tb-menuitem{min-height:32px;font-size:13px;padding:8px 10px}}@media(max-width:768px){.tb-dropdown{left:8px!important;right:8px;width:auto;max-width:calc(100vw - 16px)}.tb-submenu{position:fixed;top:calc(var(--tb-height) + 6px);left:8px;right:8px;width:auto;max-width:calc(100vw - 16px);max-height:calc(100vh - var(--tb-height) - 16px);z-index:1250}.tb-menuitem,.tb-menuitem-has-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.tb-sidusis-overlay{position:fixed;inset:0;z-index:1300;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}.tb-sidusis-panel{width:min(920px,100%);max-height:min(760px,100%);display:flex;flex-direction:column;overflow:hidden;border-radius:12px;border:1px solid var(--tb-border);background:#111827f5;box-shadow:0 18px 40px #000000a6}.tb-sidusis-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px solid rgba(148,163,184,.35)}.tb-sidusis-tabs{display:flex;gap:6px;min-width:0}.tb-sidusis-tab{border-radius:999px;border:1px solid rgba(148,163,184,.55);background:#0f172aeb;color:var(--tb-fg-dim);font-size:11px;padding:4px 10px;cursor:pointer;white-space:nowrap}.tb-sidusis-tab--active{background:#3b82f6f5;border-color:#3b82f6;color:#f9fafb}.tb-sidusis-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.tb-sidusis-body{padding:10px;overflow:auto;min-height:0;font-size:11px;color:var(--tb-fg)}.tb-sidusis-help{margin-bottom:10px;color:var(--tb-fg-dim);opacity:.95;line-height:1.35}.tb-sidusis-row{display:grid;grid-template-columns:220px 1fr;gap:10px;align-items:center;margin-bottom:10px}.tb-sidusis-label{color:var(--tb-fg-dim)}.tb-sidusis-input{height:28px;border-radius:8px;border:1px solid rgba(148,163,184,.6);background:#0f172af2;color:#e5e7eb;padding:0 10px;font-size:12px;box-sizing:border-box;width:100%}.tb-sidusis-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6b3}.tb-sidusis-btn{border-radius:999px;border:1px solid transparent;font-size:11px;padding:4px 10px;cursor:pointer;white-space:nowrap}.tb-sidusis-btn.secondary{background:transparent;border-color:#94a3b899;color:var(--tb-fg-dim)}.tb-sidusis-btn.primary{background:#3b82f6f5;border-color:#3b82f6;color:#f9fafb}.tb-sidusis-btn.danger{background:#ef4444eb;border-color:#ef4444;color:#fff}.tb-sidusis-btn:hover{filter:brightness(1.05)}.tb-sidusis-empty{padding:10px;border:1px dashed rgba(148,163,184,.6);border-radius:10px;color:var(--tb-fg-dim);background:#0f172a99}.tb-sidusis-card{border:1px solid rgba(148,163,184,.28);border-radius:12px;padding:10px;margin-bottom:10px;background:#0f172a8c}.tb-sidusis-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.tb-sidusis-card-title{font-weight:600;color:var(--tb-fg)}.tb-sidusis-card-body{margin-top:10px}@media(max-width:768px){.tb-sidusis-row{grid-template-columns:1fr;gap:6px}.tb-sidusis-actions{width:100%}.tb-sidusis-panel{max-height:calc(100vh - 24px)}}.tb-ft-body{display:flex;flex-direction:column;gap:10px}.tb-ft-group{display:flex;flex-direction:column;gap:8px}.tb-ft-group-title{font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#e2e8f0b8;padding:2px 2px 0}.tb-ft-group-body{display:flex;flex-direction:column;gap:10px}.tb-ft-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px;border-radius:12px;border:1px solid rgba(148,163,184,.28);background:#0f172a8c}.tb-ft-text{min-width:0;display:flex;flex-direction:column;gap:4px}.tb-ft-label{font-weight:600;color:var(--tb-fg);font-size:12px}.tb-ft-desc{color:var(--tb-fg-dim);font-size:11px;line-height:1.35}.tb-ft-switch{margin-top:2px;width:18px;height:18px;accent-color:rgba(59,130,246,.96);cursor:pointer}.tb-ft-select{margin-top:2px;min-width:110px;padding:6px 8px;border-radius:8px;border:1px solid rgba(148,163,184,.4);background:#0f172a99;color:var(--tb-fg);font-size:12px}.tb-ft-select:disabled{opacity:.6;cursor:not-allowed}.tb-def-panel.tb-cc-panel{max-width:calc(100vw - 24px);min-width:420px}.tb-cc-resize-handle{position:absolute;top:0;bottom:0;left:0;width:6px;cursor:ew-resize;z-index:2}.tb-cc-resize-handle:before{content:"";position:absolute;top:50%;left:50%;width:2px;height:40px;transform:translate(-50%,-50%);border-radius:999px;background:#94a3b873;pointer-events:none}.tb-def-panel.tb-cc-panel:hover .tb-cc-resize-handle:before{background:#f8fafccc}.tb-cc-layout{display:flex;gap:10px;height:100%}.tb-cc-left{width:220px;min-width:220px;display:flex;flex-direction:column;gap:8px;overflow:auto;padding-right:6px;border-right:1px solid rgba(148,163,184,.22)}.tb-cc-right{flex:1;min-width:360px;overflow:auto;padding-left:6px;display:flex;flex-direction:column;gap:10px}.tb-cc-left-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.tb-cc-left-title,.tb-cc-right-title{font-size:12px;font-weight:700;color:var(--tb-fg)}.tb-cc-subtitle{margin-top:6px;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#e2e8f0b3}.tb-cc-stdlist{display:flex;flex-direction:column;gap:8px}.tb-cc-stditem{display:flex;align-items:stretch;gap:8px;border-radius:12px;border:1px solid rgba(148,163,184,.28);background:#0f172a8c}.tb-cc-stditem--active{border-color:#3b82f6b3;box-shadow:0 0 0 2px #3b82f626 inset}.tb-cc-stditem--builtin{opacity:.85}.tb-cc-stdpick{flex:1;min-width:0;background:transparent;border:0;text-align:left;padding:10px;cursor:pointer;color:inherit}.tb-cc-stdname{font-weight:600;color:var(--tb-fg);font-size:12px}.tb-cc-stdcode{color:var(--tb-fg-dim);font-size:11px;margin-top:2px}.tb-cc-stddel{width:34px;border:0;border-left:1px solid rgba(148,163,184,.18);background:transparent;color:var(--tb-fg-dim);cursor:pointer;border-top-right-radius:12px;border-bottom-right-radius:12px}.tb-cc-stddel:hover{background:#ef44441f;color:#ef4444eb}.tb-cc-form{display:flex;flex-direction:column;gap:10px}.tb-cc-field{display:flex;flex-direction:column;gap:6px}.tb-cc-field label{font-size:11px;color:var(--tb-fg-dim)}.tb-cc-select{width:100%;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:#0f172aa6;color:var(--tb-fg);padding:8px 10px}.tb-cc-section{border:1px solid rgba(148,163,184,.22);background:#0f172a73;border-radius:12px;padding:10px}.tb-cc-section-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.tb-cc-section-title{font-weight:700;color:var(--tb-fg);font-size:12px}.tb-cc-empty{padding:10px;border:1px dashed rgba(148,163,184,.4);border-radius:10px;color:var(--tb-fg-dim);background:#0f172a80}.tb-cc-list{display:flex;flex-direction:column;gap:8px}.tb-cc-row{position:relative;display:grid;grid-template-columns:18px minmax(140px,1fr) auto 34px 110px 28px;gap:8px;align-items:center;padding:8px;border-radius:12px;border:1px solid rgba(148,163,184,.22);background:#0f172a66}.tb-cc-row:hover{border-color:#94a3b852;background:#0f172a7a}.tb-cc-swatch{width:18px;height:18px;border-radius:6px;border:1px solid rgba(148,163,184,.45)}.tb-cc-color{width:34px;height:28px;padding:0;background:transparent;border:1px solid rgba(148,163,184,.28);border-radius:10px;overflow:hidden;cursor:pointer}.tb-cc-hex{width:110px;min-width:0;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:#0f172aa6;color:var(--tb-fg);padding:7px 10px;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.tb-cc-input{width:100%;min-width:0;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:#0f172aa6;color:var(--tb-fg);padding:7px 10px;font-size:12px}.tb-cc-check{display:flex;align-items:center;gap:6px;font-size:10px;color:#e2e8f0d9;padding:4px 8px;border-radius:999px;border:1px solid rgba(148,163,184,.28);background:#0f172a8c;-webkit-user-select:none;user-select:none;cursor:pointer;white-space:nowrap}.tb-cc-check input{width:14px;height:14px;accent-color:rgba(59,130,246,.96);cursor:pointer}.tb-cc-del{width:28px;height:28px;border-radius:10px;border:1px solid rgba(148,163,184,.28);background:#0f172a8c;color:var(--tb-fg-dim);cursor:pointer}.tb-cc-del:hover{background:#ef44441f;color:#ef4444eb}@media(max-width:768px){.tb-def-panel.tb-cc-panel{min-width:unset;max-width:calc(100vw - 16px);right:8px}.tb-cc-resize-handle{display:none}.tb-cc-layout{flex-direction:column}.tb-cc-left{width:auto;min-width:0;border-right:0;padding-right:0;border-bottom:1px solid rgba(148,163,184,.22);padding-bottom:8px}.tb-cc-right{min-width:0;padding-left:0}.tb-cc-row{grid-template-columns:18px 1fr;grid-auto-rows:auto}.tb-cc-row:has(.tb-cc-drag-handle){padding-left:34px}.tb-cc-check,.tb-cc-color{justify-self:start}.tb-cc-hex{width:100%}.tb-cc-del{justify-self:start}}.tb-cc-row:has(.tb-cc-drag-handle){padding-left:34px}.tb-cc-drag-handle{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:20px;height:28px;display:flex;align-items:center;justify-content:center;cursor:grab;-webkit-user-select:none;user-select:none;opacity:.75;color:#fff}.tb-cc-drag-handle:hover{opacity:1;border:1px solid rgba(255,255,255,.2);border-radius:10px}.tb-cc-drag-handle:active{cursor:grabbing}.tb-cc-row--dragging{opacity:.7}:root{--sp-bg-elev: rgba(29, 33, 41, .96);--sp-text: #eef2f8;--sp-muted: #cbd3e1;--sp-border: rgba(255,255,255,.08);--sp-border-strong: rgba(255,255,255,.14);--sp-accent: #3b82f6;--sp-accent-weak: rgba(59,130,246,.25);--sp-active-bg: rgba(59,130,246,.18);--sp-hover-bg: rgba(255,255,255,.06);--sp-scroll-track: rgba(255,255,255,.03);--sp-scroll-thumb: rgba(148, 163, 184, .38);--sp-scroll-thumb-hover: rgba(59,130,246,.5);--sp-scroll-thumb-active: rgba(59,130,246,.68)}.sidepanel{width:var(--sp-width);position:fixed;top:var(--tb-height);left:0;bottom:0;z-index:1040;display:flex;flex-direction:column;background:var(--sp-bg-elev);border:1px solid var(--sp-border);box-shadow:0 10px 24px #00000059;overflow-y:auto;overflow-x:hidden;color:var(--sp-text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--sp-scroll-thumb) var(--sp-scroll-track);scrollbar-gutter:stable}.sidepanel::-webkit-scrollbar{width:10px}.sidepanel::-webkit-scrollbar-track{background:var(--sp-scroll-track);border-left:1px solid rgba(255,255,255,.05)}.sidepanel::-webkit-scrollbar-thumb{background:var(--sp-scroll-thumb);border-radius:999px;border:2px solid transparent;background-clip:padding-box}.sidepanel::-webkit-scrollbar-thumb:hover{background:var(--sp-scroll-thumb-hover)}.sidepanel::-webkit-scrollbar-thumb:active{background:var(--sp-scroll-thumb-active)}.sp-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--sp-border);background:linear-gradient(180deg,#ffffff05,#fff0)}.sp-title{font-weight:800;font-size:14px;letter-spacing:.2px}.sp-section{padding:10px;border-bottom:1px dashed var(--sp-border)}.sp-section:last-child{border-bottom:0}.sp-section-title{font-size:11px;font-weight:700;color:var(--sp-muted);text-transform:uppercase;letter-spacing:.8px;margin:0 0 8px 2px}.sp-section-title-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px 2px}.sp-section-title-row .sp-section-title{margin:0}.sp-info-btn{border:1px solid var(--sp-border);background:#ffffff0a;color:var(--sp-text);border-radius:999px;width:24px;height:24px;display:grid;place-items:center;cursor:pointer;line-height:1;padding:0;font-weight:800;font-size:13px;transition:background .15s ease,border-color .15s ease,transform .02s ease}.sp-info-btn:hover{background:var(--sp-hover-bg);border-color:var(--sp-border-strong)}.sp-info-btn:active{transform:translateY(1px)}.sp-info-btn:focus-visible{outline:0;box-shadow:0 0 0 3px var(--sp-accent-weak);border-color:var(--sp-accent)}.sp-tool-row{position:relative;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.sp-tool-row .sp-tool{margin:6px 0}.sp-tool-info-btn{border-radius:10px;width:28px;height:28px;font-weight:900}.sp-tooltip{position:fixed;width:min(340px,calc(100vw - 40px));background:#0f172afa;border:1px solid var(--sp-border-strong);border-radius:12px;padding:10px;box-shadow:0 10px 24px #000000a6;z-index:50;color:var(--sp-text);font-size:12px;line-height:1.35;max-height:calc(100vh - 20px);overflow:auto}.sp-tooltip-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.sp-tooltip-title{font-weight:800;font-size:12px;letter-spacing:.2px}.sp-tooltip-close{border:1px solid var(--sp-border);background:#ffffff08;color:var(--sp-text);border-radius:10px;width:26px;height:22px;display:grid;place-items:center;cursor:pointer;padding:0}.sp-tooltip-close:hover{background:var(--sp-hover-bg);border-color:var(--sp-border-strong)}.sp-tooltip-list{margin:6px 0 8px 18px;padding:0}.sp-tooltip-list li{margin:2px 0}.sp-tooltip-note{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1);opacity:.92}.sp-tool{width:100%;display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:center;padding:9px 10px;margin:6px 0;border:1px solid var(--sp-border);border-radius:10px;background:#ffffff05;color:var(--sp-text);cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .02s ease;text-align:left;box-sizing:border-box}.sp-tool:hover{background:var(--sp-hover-bg);border-color:var(--sp-border-strong)}.sp-tool:focus-visible{outline:0;box-shadow:0 0 0 3px var(--sp-accent-weak);border-color:var(--sp-accent)}.sp-tool:active{transform:translateY(1px)}.sp-tool:disabled,.sp-tool.is-disabled{opacity:.48;cursor:not-allowed;transform:none}.sp-tool:disabled:hover,.sp-tool.is-disabled:hover{background:#ffffff05;border-color:var(--sp-border)}.sp-tool.active{background:var(--sp-active-bg);border-color:var(--sp-accent)}.sp-tool.active .sp-icon{color:var(--sp-accent)}.sp-icon{width:26px;height:26px;border-radius:999px;display:grid;place-items:center;font-size:15px;background:#ffffff0a;border:1px solid var(--sp-border);color:#dbe3ee}.sp-tool-label{font-size:13px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11px;padding:2px 6px;border-radius:6px;border:1px solid var(--sp-border-strong);background:#0f172a99;color:var(--sp-muted)}@media(max-width:900px){.sp-tool-label{font-size:12px}}@media(max-width:768px){.sidepanel{inset:auto 0 0;width:100vw;height:var(--sp-mobile-height, 42dvh);max-height:70dvh;border-radius:14px 14px 0 0;border-left:0;border-right:0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom)}.sp-tool{padding:12px;border-radius:12px;grid-template-columns:30px 1fr auto}.sp-icon{width:30px;height:30px;font-size:16px}.sp-tool-label{font-size:14px}.sp-kbd{display:none}.sp-header{position:sticky;top:0;z-index:2;background:linear-gradient(180deg,#1d2129fa,#1d2129eb);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.sp-search{display:grid;gap:10px}.sp-field{display:grid;gap:6px}.sp-field-grow{position:relative}.sp-field-label{font-size:11px;font-weight:700;color:var(--sp-muted);letter-spacing:.6px;text-transform:uppercase}.sp-select{width:100%;appearance:none;border:1px solid var(--sp-border);background:#ffffff05;color:var(--sp-text);border-radius:10px;padding:9px 10px;font-size:13px;box-sizing:border-box}.sp-select:focus-visible{outline:0;box-shadow:0 0 0 3px var(--sp-accent-weak);border-color:var(--sp-accent)}.sp-input-wrap{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.sp-autocomplete{position:relative}.sp-input{width:100%;border:1px solid var(--sp-border);background:#ffffff05;color:var(--sp-text);border-radius:10px;padding:9px 10px;font-size:13px;box-sizing:border-box}.sp-input::placeholder{color:#cbd3e1a6}.sp-input:focus-visible{outline:0;box-shadow:0 0 0 3px var(--sp-accent-weak);border-color:var(--sp-accent)}.sp-search-btn{border:1px solid var(--sp-border-strong);background:#3b82f629;color:var(--sp-text);border-radius:10px;padding:9px 12px;cursor:pointer;font-weight:700;font-size:12px;transition:background .15s ease,border-color .15s ease,transform .02s ease}.sp-search-btn:hover{background:#3b82f638;border-color:var(--sp-accent)}.sp-search-btn:active{transform:translateY(1px)}.sp-suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;margin-top:0;border:1px solid var(--sp-border);background:#0f172a;border-radius:12px;overflow:auto;max-height:240px;z-index:5;box-shadow:0 10px 24px #000}.sp-suggest-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:8px 10px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.06)}.sp-suggest-item:last-child{border-bottom:0}.sp-suggest-item:hover,.sp-suggest-item.active{background:#ffffff0f}.sp-suggest-label{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-suggest-id{font-size:11px;color:#cbd3e1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}@media(max-width:768px){.sp-input-wrap{grid-template-columns:1fr}.sp-search-btn{width:100%}}.attr-panel{position:fixed;top:calc(var(--tb-height) + 8px);right:8px;width:var(--attr-panel-width, 600px);min-width:0;max-width:calc(100vw - 16px);z-index:1050;background:#1d2129f5;border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 10px 24px #00000059;color:#eef2f8;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;bottom:8px;display:flex;flex-direction:column;overflow:hidden;max-height:calc(100dvh - var(--tb-height) - 16px)}.attr-resize-handle{position:absolute;top:0;bottom:0;left:0;width:6px;cursor:ew-resize;z-index:2}.attr-resize-handle:before{content:"";position:absolute;top:50%;left:50%;width:2px;height:40px;transform:translate(-50%,-50%);border-radius:999px;background:#94a3b873;pointer-events:none}.attr-panel:hover .attr-resize-handle:before{background:#f8fafccc}.attr-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);flex:0 0 auto}.attr-title{font-weight:800;font-size:14px}.attr-close{margin-left:auto;background:transparent;border:0;color:#cbd3e1;cursor:pointer;font-size:16px}.attr-close:hover{color:#fff}.attr-body{padding:12px;flex:1 1 auto;min-height:0;min-width:0;overflow-y:auto}.attr-form{display:flex;flex-direction:column}.attr-form-actions{position:sticky;top:-12px;z-index:2;padding:8px 0;margin-bottom:8px;background:linear-gradient(180deg,#1d2129f5,#1d2129e6 70%,#1d212900)}.attr-field{display:grid;grid-template-columns:1fr;gap:6px;margin-bottom:10px;min-width:0}.attr-field label{font-size:12px;color:#cbd3e1}.attr-field input[type=number],.attr-field input[type=text],.attr-field select,.attr-field textarea{width:100%;max-width:100%;box-sizing:border-box;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#eef2f8;padding:0 10px;outline:none;font-size:12px}.attr-field textarea{height:auto;min-height:60px;padding-top:6px;padding-bottom:6px}.attr-field input[type=number]:focus,.attr-field input[type=text]:focus,.attr-field select:focus,.attr-field textarea:focus{border-color:#0ea5e999;box-shadow:0 0 0 3px #0ea5e940}.attr-actions{display:flex;gap:8px;margin-top:6px}.btn{height:30px;padding:0 10px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#ffffff1a;color:#fff;cursor:pointer;font-size:12px}.btn:hover{background:#ffffff29}.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn[aria-disabled=true]:hover{background:#ffffff1a}.btn.ghost{background:transparent;color:#cbd3e1}.btn.ghost:hover{background:#ffffff0f}.btn-convert-pe-pulse{border-color:#fbbf24f2;background:#fbbf2433;animation:btn-convert-pe-pulse .7s ease-in-out infinite}@keyframes btn-convert-pe-pulse{0%{transform:scale(1);box-shadow:0 0 #fbbf248c}70%{transform:scale(1.04);box-shadow:0 0 0 8px #fbbf2400}to{transform:scale(1);box-shadow:0 0 #fbbf2400}}@media(prefers-reduced-motion:reduce){.btn-convert-pe-pulse{animation:none}}.btn{transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease,opacity .12s ease}.btn--dirty{border-color:#fbbf24e6;background:#fbbf241a;box-shadow:0 0 0 2px #fbbf2424}.btn--dirty:hover{background:#fbbf2424;box-shadow:0 0 0 3px #fbbf242e}.btn.ghost.btn--dirty{background:#fbbf240f;box-shadow:0 0 0 2px #fbbf241f}.btn.ghost.btn--dirty:hover{background:#fbbf2417;box-shadow:0 0 0 3px #fbbf2429}.fiber-btn-primary--dirty{border-color:#fbbf24e6;box-shadow:0 0 0 2px #fbbf2424}.fiber-btn-primary--dirty:hover{box-shadow:0 0 0 3px #fbbf242e}.devices-add-btn--dirty{border-color:#fbbf24e6;box-shadow:0 0 0 2px #fbbf2424}.devices-add-btn--dirty:hover{box-shadow:0 0 0 3px #fbbf242e}.btn-danger{background-color:#b91c1cd9;border-color:#f87171e6}.core-panel{display:flex;flex-direction:column;gap:12px;font-size:12px}.core-bulk{padding:8px;border-radius:8px;background:#0f172acc;border:1px solid rgba(148,163,184,.2)}.core-select{flex:1;min-width:0;height:28px;border-radius:8px;border:1px solid rgba(148,163,184,.5);background:#0f172ae6;color:#e5e7eb;padding:0 8px}.core-cables{display:flex;flex-direction:column;gap:8px}.core-cable{border-radius:8px;border:1px solid rgba(148,163,184,.25);padding:8px;background:#0f172ae6}.core-cable-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.core-cable-title{font-weight:600;font-size:12px}.core-cable-meta{font-size:11px;color:#9ca3af}.core-list{display:flex;flex-wrap:wrap;gap:4px}.core-item{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border-radius:999px;border:1px solid rgba(148,163,184,.4);background:#0f172ae6;color:#e5e7eb;font-size:11px;cursor:pointer}.core-item--used{opacity:.6;border-style:dashed}.core-item--pending{border-color:#3b82f6e6;box-shadow:0 0 0 2px #3b82f673}.core-item-no{font-variant-numeric:tabular-nums}.core-item-pair{color:#a5b4fc}.core-empty{font-size:11px;color:#9ca3af}.core-connections{border-top:1px solid rgba(148,163,184,.35);padding-top:8px}.core-conn-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.core-conn-item{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:11px}.core-conn-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attr-tabs{display:flex;gap:6px;margin-bottom:8px}.attr-tab{flex:1;border-radius:999px;border:1px solid rgba(148,163,184,.5);background:#0f172ae6;color:#e5e7eb;font-size:11px;padding:4px 6px;cursor:pointer}.attr-tab--active{background:#3b82f6f2;border-color:#3b82f6;color:#f9fafb}.attr-tab--history-focus{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;box-shadow:0 0 0 2px #facc1559}.attr-field--history-focus label{color:#fef08a;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.attr-field--history-focus input[type=number],.attr-field--history-focus input[type=text],.attr-field--history-focus select,.attr-field--history-focus textarea{border-color:#facc15f2;box-shadow:0 0 0 3px #facc1533}@media(max-width:768px){.attr-panel{top:var(--tb-height);left:0;right:0;bottom:calc(var(--sp-mobile-height, 42dvh) + env(safe-area-inset-bottom));width:100%;max-width:100%;border-radius:12px;max-height:calc(100dvh - var(--tb-height) - var(--sp-mobile-height, 42dvh) - env(safe-area-inset-bottom))}.attr-resize-handle{display:none}.attr-body{padding:10px}.attr-form-actions{top:-10px}}@media(max-width:768px){.attr-field input[type=number],.attr-field input[type=text],.attr-field select,.attr-field textarea{height:40px;font-size:16px}.attr-field textarea{min-height:96px}.btn{height:40px;font-size:14px;padding:0 12px}}.fiber-panel{margin-top:8px;padding:8px 10px;border-radius:10px;background:#020617;border:1px solid rgba(148,163,184,.4);color:#e5e7eb;font-size:12px;display:flex;flex-direction:column;gap:6px;max-height:calc(100vh - 160px);box-sizing:border-box;overflow:hidden}.fiber-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;flex-wrap:wrap}.fiber-header h3{margin:0;font-size:12px;font-weight:600}.fiber-header-sub{font-size:12px;opacity:.8}.fiber-header-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.fiber-conn-type-picker{display:flex;align-items:center;gap:4px}.fiber-info-btn{border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#e5e7eb;border-radius:999px;width:22px;height:22px;display:grid;place-items:center;cursor:pointer;line-height:1;padding:0;font-weight:800;font-size:12px;transition:background .15s ease,border-color .15s ease,transform .02s ease}.fiber-info-btn:hover{background:#ffffff0f;border-color:#ffffff38}.fiber-info-btn:active{transform:translateY(1px)}.fiber-info-btn:focus-visible{outline:0;box-shadow:0 0 0 3px #38bdf838;border-color:#38bdf8e6}.fiber-tooltip{position:fixed;width:min(320px,calc(100vw - 40px));background:#0f172afa;border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:10px;box-shadow:0 10px 24px #000000a6;z-index:60;color:#e5e7eb;font-size:12px;line-height:1.35;max-height:calc(100vh - 20px);overflow:auto}.fiber-tooltip-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.fiber-tooltip-title{font-weight:800;font-size:12px;letter-spacing:.2px}.fiber-tooltip-close{border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:#e5e7eb;border-radius:10px;width:26px;height:22px;display:grid;place-items:center;cursor:pointer;padding:0}.fiber-tooltip-close:hover{background:#ffffff0f;border-color:#ffffff2e}.fiber-tooltip-note{padding-top:2px;opacity:.95}.fiber-conn-type-badge,.fiber-whole-badge,.fiber-planned-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:11px;font-weight:900;line-height:1;border-radius:6px;border:1px solid rgba(56,189,248,.75);background:#38bdf82e;color:#e5e7eb;box-shadow:0 0 0 1px #02061759 inset;flex:0 0 auto}.fiber-planned-badge{border-color:#facc15bf;background:#facc1526}.fiber-btn-primary,.fiber-mode-btn{border-radius:6px;border:1px solid rgba(148,163,184,.7);background:#0f172af2;color:#e5e7eb;font-size:12px;padding:4px 8px;cursor:pointer;white-space:nowrap}.fiber-btn-primary:disabled{opacity:.4;cursor:default}.fiber-mode-btn{opacity:.8}.fiber-mode-btn--active{border-color:#f97373;background:#7f1d1dd9;color:#fee2e2;opacity:1}.fiber-btn-primary--dirty:not(:disabled){border-color:#38bdf8d9;background:#38bdf81a;box-shadow:0 0 0 2px #38bdf824}.fiber-btn-primary--dirty:not(:disabled):hover{border-color:#38bdf8f2;background:#38bdf824;box-shadow:0 0 0 3px #38bdf82e}.fiber-btn-primary:not(:disabled):hover,.fiber-mode-btn:hover{border-color:#f8fafccc}.fiber-select-row{display:flex;gap:8px}.fiber-select{flex:1;min-width:140px;display:flex;flex-direction:column;gap:2px}.fiber-select span{color:#9ca3af}.fiber-select select{height:24px;border-radius:6px;border:1px solid rgba(148,163,184,.6);background:#020617;color:#e5e7eb;padding:0 6px;font-size:12px}.fiber-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding-top:2px;flex:1;min-height:0;overflow:hidden}.fiber-col{min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column}.fiber-col h4{margin:0 0 4px;font-size:12px;font-weight:600}.fiber-meta{display:flex;gap:4px;margin-bottom:4px;color:#9ca3af;flex-wrap:nowrap;white-space:nowrap;overflow-x:hidden;overflow-y:hidden}.fiber-list{list-style:none;margin:0;padding:0;min-width:0}.fiber-row,.device-port-pair-row{display:flex;align-items:center;gap:6px;margin-bottom:2px;height:26px;box-sizing:border-box;white-space:nowrap;overflow:hidden}.fiber-row:has(.splitter-outs){height:auto;overflow:visible;align-items:center;flex-direction:row}.fiber-row--selected .fiber-rect{border-color:#38bdf8;box-shadow:0 0 0 1px #38bdf899}.fiber-rect{display:inline-flex;align-items:center;gap:2px;padding:2px 4px;border-radius:6px;border:1px solid rgba(51,65,85,.9);background:#0f172ae6;cursor:pointer;min-width:0;max-width:100%}.fiber-chip{width:12px;height:16px;border-radius:3px;border:1px solid rgba(15,23,42,.9)}.fiber-chip.tube,.fiber-chip.fiber{box-shadow:0 0 0 1px #0f172ab3}.fiber-rect-info{display:flex;flex-direction:row;gap:2px;font-size:12px;min-width:0}.fiber-tag{padding:0 4px;border-radius:3px;line-height:14px;font-weight:600;color:#0f172a;min-width:26px;text-align:center;white-space:nowrap}.fiber-conn{display:inline-flex;align-items:center;gap:4px;font-size:12px;min-width:0}.fiber-side-select{width:100%;height:24px;border-radius:6px;border:1px solid rgba(148,163,184,.6);background:#020617;color:#e5e7eb;padding:0 6px;font-size:12px}.fiber-side-select option,.fiber-side-select optgroup{background:#020617;color:#e5e7eb}.fiber-side-select optgroup{font-weight:600;color:#94a3b8}.fiber-side-select--left{border-color:#3b82f6e6;background:#3b82f614;box-shadow:0 0 0 1px #3b82f640 inset}.fiber-side-select--right{border-color:#ef4444e6;background:#ef444414;box-shadow:0 0 0 1px #ef444438 inset}.fiber-side-select--left:focus-visible,.fiber-side-select--left:focus{outline:0;border-color:#60a5fa;box-shadow:0 0 0 2px #3b82f647,0 0 0 1px #3b82f673 inset}.fiber-side-select--right:focus-visible,.fiber-side-select--right:focus{outline:0;border-color:#f87171;box-shadow:0 0 0 2px #ef444447,0 0 0 1px #ef444473 inset}.fiber-rect-conn{font-size:12px;padding:2px 6px;border-radius:4px;border:1px solid rgba(148,163,184,.9);background:#0f172afa;color:#f9fafb;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis;text-shadow:0 0 2px rgba(15,23,42,.9)}.splitter-outs{display:flex;flex-direction:column;flex-wrap:wrap;gap:4px;margin-top:4px;margin-left:0;max-width:100%;overflow-x:auto;overflow-y:hidden}.splitter-out-btn{border-radius:4px;border:1px solid rgba(148,163,184,.7);background:#0f172af2;color:#e5e7eb;font-size:12px;padding:1px 6px;cursor:pointer;text-align:left;white-space:nowrap;overflow-x:auto;overflow-y:auto;max-width:100%}.splitter-out-btn:hover:not(:disabled){border-color:#f8fafce6}.splitter-out-btn--active{border-color:#facc15;background:#ca8a04e6;color:#0f172a}.splitter-out-btn--busy,.splitter-out-btn--busy:disabled{cursor:not-allowed}.splitter-out-fiber{display:flex}.fiber-splitter-toggle{margin-top:4px}.fiber-splitter-toggle button{border-radius:6px;border:1px solid rgba(148,163,184,.7);background:#0f172af2;color:#e5e7eb;font-size:11px;padding:2px 8px;cursor:pointer;white-space:nowrap}.fiber-splitter-toggle button:hover{border-color:#f8fafce6}.device-patchpanel-list{margin:0;padding:0}.device-port-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:4px;width:100%;min-width:0}.device-port-side{min-width:0;overflow:hidden;cursor:pointer}.device-port-side--selected{outline:1px solid #e5e7eb;outline-offset:1px}.device-port-row--connected{opacity:.85}.fiber-arrow{font-size:12px;opacity:.9}.fiber-rect--target{max-width:140px}.fiber-rect-cable-label{margin-left:4px;font-size:12px;display:inline-block;max-width:72px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fiber-conn-remove-btn{border:none;background:transparent;color:#e5e7eb;font-size:12px;cursor:pointer;padding:0 4px}.fiber-conn-done-btn{border:1px solid rgba(34,197,94,.7);background:#22c55e26;color:#e5e7eb;font-size:11px;padding:2px 6px;border-radius:6px;cursor:pointer;margin-left:6px;white-space:nowrap}.fiber-conn-done-btn:hover{background:#22c55e40}.fiber-conn-remove-btn:hover{color:#f97373}.fiber-rect-line{font-variant-numeric:tabular-nums}.fiber-empty{margin:2px 0;font-size:12px;color:#9ca3af}.tube-tag,.fiber-tag.fiber-tag{color:#000;text-shadow:0 0 6px rgba(255,255,255,.9);background-color:#1f22d4}@media(max-width:900px){.fiber-panel{padding:6px 8px;font-size:11px}.fiber-header-sub{font-size:11px}.fiber-columns{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.fiber-rect-conn{max-width:140px}}.fiber-print-backdrop{position:fixed;inset:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;z-index:1500}.fiber-print-dialog{max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);background:#020617;border-radius:12px;border:1px solid rgba(148,163,184,.7);box-shadow:0 20px 40px #0f172acc;display:flex;flex-direction:column;overflow:hidden;font-size:12px}.fiber-print-header{padding:8px 10px;border-bottom:1px solid rgba(51,65,85,.9);display:flex;align-items:center}.fiber-print-title{font-size:13px;font-weight:600;color:#e5e7eb}.fiber-print-close-btn{margin-left:auto;border-radius:999px;border:1px solid rgba(148,163,184,.9);background:transparent;color:#e5e7eb;width:24px;height:24px;padding:0;cursor:pointer}.fiber-print-close-btn:hover{background:#1e40afe6}.fiber-print-body{padding:8px 10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px;row-gap:8px;overflow:auto}.fiber-print-column{display:flex;flex-direction:column;min-width:0}.fiber-print-column-title{font-size:12px;font-weight:600;color:#e5e7eb;margin-bottom:4px}.fiber-print-actions .fiber-print-column-toolbar{display:flex;gap:4px;margin-bottom:4px}.fiber-print-mini-btn{border-radius:999px;border:1px solid rgba(148,163,184,.7);background:#0f172ae6;color:#e5e7eb;font-size:10px;padding:2px 8px;cursor:pointer}.fiber-print-mini-btn:hover{background:#1e40afe6}.fiber-print-list{border-radius:8px;border:1px solid rgba(51,65,85,.9);background:#0f172ae6;padding:4px;max-height:75vh;overflow:auto}.fiber-print-empty{font-size:11px;color:#9ca3af;padding:4px}.fiber-print-item{display:flex;align-items:center;gap:6px;padding:2px 4px;font-size:11px;color:#e5e7eb}.fiber-print-item input[type=checkbox]{flex-shrink:0}.fiber-print-footer{padding:8px 10px;border-top:1px solid rgba(51,65,85,.9);display:flex;align-items:center;gap:8px}.fiber-print-summary{font-size:11px;color:#e5e7eb}.fiber-print-generate-btn{margin-left:auto;border-radius:999px;border:1px solid rgba(59,130,246,.9);background:#2563ebf2;color:#eff6ff;font-size:11px;padding:4px 12px;cursor:pointer}.fiber-print-generate-btn:hover{background:#1e40affa}@media(max-width:640px){.fiber-print-body{grid-template-columns:minmax(0,1fr)}}.route-select-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr);gap:8px;align-items:end}.route-select{display:flex;flex-direction:column;gap:2px;min-width:0}.route-select span{color:#9ca3af}.route-input{height:24px;border-radius:6px;border:1px solid rgba(148,163,184,.6);background:#020617;color:#e5e7eb;padding:0 8px;font-size:12px;outline:none}.route-input:disabled{opacity:.5}.route-filter-row{display:grid;grid-template-columns:minmax(0,1fr);margin-bottom:8px}.route-start-sections{display:grid;gap:10px}.route-start-section{display:grid;gap:8px}.route-start-section-title{margin:0;font-size:12px;font-weight:700;color:#cbd5e1}.route-start-group{display:grid;gap:6px;padding:6px;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:#02061738}.route-start-group .fiber-meta{margin-bottom:0}.fiber-routes-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:10px;padding-top:2px;min-height:0;height:100%}.fiber-routes-panel{display:flex;flex-direction:column;height:100%;min-height:0}.fiber-routes-panel .fiber-header{position:sticky;top:0;z-index:10;background:#020617eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.fiber-routes-panel .fiber-routes-layout{flex:1;min-height:0;overflow:hidden}.fiber-routes-panel .fiber-routes-left{display:flex;flex-direction:column;min-height:0}.fiber-routes-panel .fiber-col{flex:1;min-height:0;overflow:auto}.fiber-routes-panel .fiber-routes-right{display:flex;flex-direction:column;min-height:0}.fiber-routes-panel .route-result{flex:1;min-height:0;overflow:auto}.fiber-routes-left,.fiber-routes-right{min-width:0}.route-result{border:1px solid rgba(148,163,184,.25);background:#0f172a59;border-radius:10px;padding:8px;min-height:120px}.route-picked{font-size:12px;color:#cbd5e1;opacity:.9;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-tree{list-style:none;margin:0;padding:0}.route-node{padding:6px 6px 6px 10px;border-left:2px solid rgba(148,163,184,.35);margin-left:4px}.route-node-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.route-children{list-style:none;margin:6px 0 0;padding:0 0 0 10px;display:flex;flex-direction:column;gap:6px}.route-child-wrap{margin-left:4px}.route-via{font-size:11px;padding:2px 6px;border-radius:999px;border:1px solid rgba(148,163,184,.45);color:#e5e7eb;background:#02061799;white-space:nowrap}.route-via--along-cable{border-color:#38bdf88c}.route-via--splice{border-color:#22c55e8c}.route-via--patch{border-color:#facc158c}.route-via--cycle{border-color:#f87171a6}.route-via--cut{border-color:#94a3b8a6;opacity:.9}.route-badge{display:inline-flex;align-items:center;gap:8px;min-width:0}.route-loc{font-size:11px;color:#94a3b8;padding:2px 6px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#02061799;white-space:nowrap}.route-more{font-size:11px;color:#cbd5e1;opacity:.75}@media(max-width:900px){.route-select-row,.fiber-routes-layout{grid-template-columns:minmax(0,1fr)}}.route-ladders{display:grid;gap:10px}.route-ladder-wrap{border:1px solid rgba(148,163,184,.18);background:#02061740;border-radius:10px;padding:8px}.route-ladder-title{font-size:12px;color:#e5e7eb;margin-bottom:6px;display:flex;gap:8px;align-items:baseline}.route-ladder-meta{font-size:11px;color:#94a3b8}.route-ladder-more{font-size:11px;color:#94a3b8;opacity:.85;padding:4px 2px}.route-ladder{display:grid;gap:10px}.route-step{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;position:relative}.route-rail{position:relative;display:flex;align-items:flex-start;justify-content:center}.route-dot{width:10px;height:10px;border-radius:999px;border:2px solid rgba(148,163,184,.65);background:#020617e6;margin-top:6px;z-index:2}.route-line{position:absolute;top:18px;bottom:-10px;width:2px;background:#94a3b840;left:50%;transform:translate(-50%)}.route-step-body{min-width:0;display:grid;gap:6px}.route-connector{font-size:11px;color:#cbd5e1;opacity:.95;padding-left:2px}.route-connector-label{padding:2px 8px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#0206178c;display:inline-block}.route-connector--along-cable .route-connector-label{border-color:#38bdf88c}.route-connector--splice .route-connector-label{border-color:#22c55e8c}.route-connector--patch .route-connector-label{border-color:#facc158c}.route-connector--cycle .route-connector-label{border-color:#f87171a6}.route-connector--cut .route-connector-label{border-color:#94a3b8a6;opacity:.85}.route-step-card{border:1px solid rgba(148,163,184,.22);background:#0f172a59;border-radius:10px;padding:8px;min-width:0}.route-step-head{display:flex;gap:8px;align-items:center;margin-bottom:6px}.route-step-loc{font-size:11px;color:#94a3b8;padding:2px 8px;border-radius:999px;border:1px solid rgba(148,163,184,.28);background:#02061780}.route-here-pill{font-size:11px;font-weight:700;color:#111827;background:#f472b6;padding:2px 8px;border-radius:999px;box-shadow:0 0 0 2px #f472b640}.route-step-content{min-width:0}.route-step--here .route-step-card{border-color:#f472b68c;box-shadow:0 0 0 2px #f472b62e}.route-dot--here{border-color:#f472b6f2;background:#f472b659;box-shadow:0 0 0 4px #f472b624}.fiber-routes-right{display:flex;flex-direction:column;min-height:0}.route-result{flex:1;min-height:0;overflow:auto}.route-linear-wrap{width:100%;overflow:visible;max-height:none;padding:2px}.route-linear{display:flex;flex-direction:column;gap:10px;width:100%;min-width:0;max-width:100%}.route-linear-item{display:flex;flex-direction:column;width:100%;min-width:0}.route-box{border:2px solid rgba(148,163,184,.25);background:#161d3b59;border-radius:12px;padding:10px}.route-box--click{cursor:pointer}.route-box:hover{border-color:var(--dev-accent, rgba(99, 115, 185, .6));box-shadow:0 0 0 1px #02061759 inset,0 0 0 2px #94a3b81a,0 0 18px #94a3b814}.route-box--you{border-color:#38bdf899;box-shadow:0 0 0 1px #38bdf840 inset}.route-box-title{font-size:12px;font-weight:700;color:#e5e7eb;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-box-body{display:grid;gap:6px}.route-box-row{display:flex;min-width:0}.route-connector{position:relative;height:34px;display:flex;align-items:center;justify-content:center}.route-connector-line{width:2px;height:100%;background:#94a3b840;border-radius:2px}.route-connector-label{position:absolute;top:50%;transform:translateY(-50%);padding:2px 8px;font-size:11px;color:#cbd5e1;border:1px solid rgba(148,163,184,.25);background:#0f172a8c;border-radius:999px;white-space:nowrap}.route-splitter-select{display:flex;align-items:center;gap:8px;margin-top:6px}.route-splitter-select-label{font-size:11px;color:#94a3b8}.route-result{--pe: #0ea5e9;--pst: #22c55e;--you: #f472b6;--edge-cable: rgba(56, 189, 248, .55);--edge-splice: rgba(34, 197, 94, .55);--edge-patch: rgba(250, 204, 21, .6);--edge-cycle: rgba(248, 113, 113, .65);--edge-muted: rgba(148, 163, 184, .25)}.route-box{position:relative;padding-left:14px;min-height:58px}.route-box:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:4px;border-radius:999px;background:var(--loc-accent, rgba(148, 163, 184, .35));opacity:.95}.route-box--flex{--loc-accent: var(--pe);border-color:#0ea5e959}.route-box--pst{--loc-accent: var(--pst);border-color:#22c55e59}.route-box--unknown{--loc-accent: rgba(148, 163, 184, .45)}.route-box-title{display:flex;align-items:center;gap:8px;margin-bottom:8px;white-space:nowrap;overflow:hidden}.route-box-title-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.route-kind-pill{font-size:10px;font-weight:800;letter-spacing:.4px;padding:2px 8px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#020617a6;color:#e5e7eb;flex:0 0 auto}.route-kind-pill--flex{border-color:#0ea5e98c;box-shadow:0 0 0 2px #0ea5e91a}.route-kind-pill--pst{border-color:#22c55e8c;box-shadow:0 0 0 2px #22c55e1a}.route-you-pill{margin-left:auto;font-size:11px;font-weight:900;color:#111827;background:var(--you);padding:2px 10px;border-radius:999px;box-shadow:0 0 0 2px #f472b62e;flex:0 0 auto}.route-box--you{border-color:#f472b6b3!important;box-shadow:0 0 0 2px #f472b62e,0 0 24px #f472b61a}.route-box--you:before{background:var(--you)!important}.route-box-row{align-items:center}.route-box-row .fiber-rect-conn{width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-device-chip{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:10px;border:1px solid rgba(148,163,184,.3);background:#0206178c;box-shadow:0 0 0 1px #02061759 inset;width:100%}.route-device-chip-dot{width:8px;height:8px;border-radius:999px;background:var(--dev-accent, rgba(148, 163, 184, .8));box-shadow:0 0 0 2px #020617a6;flex:0 0 auto}.route-device-chip-dev{color:#e5e7eb;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-device-chip-sep{color:#94a3b8e6;flex:0 0 auto}.route-device-chip-port{color:#cbd5e1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-device-chip-kind{margin-left:auto;font-size:10px;font-weight:900;letter-spacing:.3px;padding:2px 8px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#020617a6;color:#e5e7eb;flex:0 0 auto}.route-device-chip--splitter{border-color:#c084fc66;background:#581c872e}.route-device-chip--patch_panel{border-color:#fbbf2466;background:#78350f2e}.route-device-chip--active{border-color:#22d3ee59;background:#0c4a6e2e}.route-device-chip--router .route-device-chip-kind{border-color:#60a5fa8c}.route-device-chip--switch .route-device-chip-kind{border-color:#2dd4bf8c}.route-device-chip--olt .route-device-chip-kind{border-color:#34d3998c}.route-device-chip--access_point .route-device-chip-kind{border-color:#0ea5e9a6}.route-device-chip{box-shadow:0 0 0 1px #02061759 inset,0 0 0 2px #94a3b814}.route-device-chip:hover{border-color:var(--dev-accent, rgba(148, 163, 184, .6));box-shadow:0 0 0 1px #02061759 inset,0 0 0 2px #94a3b81a,0 0 18px #94a3b814}.route-connector-line{background:var(--edge-muted)}.route-connector--along-cable .route-connector-line{background:var(--edge-cable)}.route-connector--splice .route-connector-line{background:var(--edge-splice)}.route-connector--patch .route-connector-line{background:var(--edge-patch)}.route-connector--cycle .route-connector-line{background:var(--edge-cycle)}.route-connector--cut .route-connector-line{background:var(--edge-muted);opacity:.85}.route-box,.route-box-body,.route-box-row{width:100%;min-width:0}.route-box-row>*{min-width:0}.route-device-chip{max-width:100%}.route-box-empty{color:#94a3b8;font-size:12px;padding:6px 4px;opacity:.9}.route-device-frame{width:100%;min-width:0;border-radius:12px;border:1px solid rgba(148,163,184,.28);background:#0206178c;box-shadow:0 0 0 1px #02061759 inset;padding:8px;display:grid;gap:8px}.route-device-frame--click{cursor:pointer}.route-device-frame-head{display:flex;align-items:center;gap:8px;min-width:0}.route-device-frame-head--click{cursor:pointer}.route-device-frame-dot{width:8px;height:8px;border-radius:999px;background:var(--dev-accent, rgba(148, 163, 184, .8));box-shadow:0 0 0 2px #020617a6;flex:0 0 auto}.route-device-frame-name{color:#e5e7eb;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-device-frame-kind{margin-left:auto;font-size:10px;font-weight:900;letter-spacing:.3px;padding:2px 8px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#020617a6;color:#e5e7eb;flex:0 0 auto}.route-device-ports{display:grid;gap:6px;min-width:0}.route-device-ports-row{display:flex;align-items:center;gap:8px;min-width:0}.route-ports-label{font-size:11px;color:#94a3b8;font-weight:800;flex:0 0 auto}.route-ports-list{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.route-port-pill{font-size:11px;color:#e5e7eb;padding:2px 8px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#0f172a73;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-port-pill--in{border-color:#38bdf88c}.route-port-pill--out{border-color:#facc1599}.route-port-pill--other{border-color:#94a3b873}.route-port-pill--selected{border-color:#f472b6d9;box-shadow:0 0 0 2px #f472b62e}.route-device-out-select{height:22px;margin-left:auto;flex:0 0 auto}.route-device-frame--splitter{border-color:#c084fc66;background:#581c872e}.route-device-frame--patch_panel{border-color:#fbbf2466;background:#78350f2e}.route-device-frame--active{border-color:#22d3ee59;background:#0c4a6e2e}.route-device-frame--access_point .route-device-frame-kind{border-color:#0ea5e9a6}.route-device-frame:hover{border-color:var(--dev-accent, rgba(148, 163, 184, .6));box-shadow:0 0 0 1px #02061759 inset,0 0 0 2px #94a3b81a,0 0 18px #94a3b814}.fiber-whole-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:11px;font-weight:900;line-height:1;border-radius:6px;border:1px solid rgba(56,189,248,.75);background:#38bdf82e;color:#e5e7eb;box-shadow:0 0 0 1px #02061759 inset;flex:0 0 auto}.route-box-row--whole{justify-content:flex-end}.route-whole-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:12px;font-weight:900;line-height:1;border-radius:7px;border:1px solid rgba(56,189,248,.75);background:#38bdf82e;color:#e5e7eb;box-shadow:0 0 0 1px #02061759 inset}.route-connector--whole .route-connector-line{background:#38bdf88c}.route-connector--whole .route-connector-label{border-color:#38bdf88c}.route-branch-btn{height:24px;border-radius:8px;border:1px solid rgba(148,163,184,.35);background:#0206178c;color:#e5e7eb;padding:0 10px;font-size:12px;cursor:pointer;white-space:nowrap}.route-branch-btn:hover{border-color:var(--dev-accent, rgba(99, 115, 185, .75));box-shadow:0 0 0 1px #02061759 inset,0 0 0 2px #94a3b81a,0 0 18px #94a3b814}.route-branch-btn:disabled{opacity:.5;cursor:default}.devices-panel{margin-top:8px;display:flex;flex-direction:column;gap:8px;font-size:12px}.devices-disabled{margin-top:8px;font-size:12px;opacity:.8}.devices-readonly-list{margin:4px 0 0;padding-left:16px;font-size:12px;color:#e5e7eb}.devices-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px}.devices-add-btn{height:28px;padding:0 10px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#ffffff1a;color:#fff;cursor:pointer;font-size:12px;flex:1 1 120px;max-width:100%;white-space:normal;text-align:center}.devices-add-btn:hover{background:#ffffff29}.devices-empty{font-size:12px;opacity:.8}.device-card{border-radius:6px;border:1px solid #334155;background:#0f172af2;padding:6px;display:flex;flex-direction:column;gap:4px}.device-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.device-name-input{flex:1 1 auto;min-width:0;box-sizing:border-box;font-weight:600;font-size:12px}.device-remove-btn,.device-delete-btn{border-radius:4px;border:1px solid #b91c1c;background:#7f1d1de6;color:#fee2e2;font-size:12px;padding:2px 6px;cursor:pointer;white-space:nowrap}.device-remove-btn:hover,.device-delete-btn:hover{border-color:#fecaca}.device-header-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.device-port-count{display:inline-flex;align-items:center;gap:4px;font-size:12px}.device-port-count input{width:60px}.device-type-pill{font-size:12px;padding:2px 6px;border-radius:999px;border:1px solid #64748b;background:#0f172ae6;color:#e5e7eb;white-space:nowrap}.device-active-config{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.device-active-field{display:inline-flex;align-items:center;gap:4px;font-size:12px}.device-active-field input[type=number]{width:56px}.device-type-select{padding:2px 6px;border-radius:999px;border:1px solid rgba(148,163,184,.6);background:#020617;color:#e5e7eb;font-size:12px}.device-ports{max-height:180px;overflow-y:auto;padding-top:4px;border-top:1px solid rgba(148,163,184,.3);margin-top:4px}.device-ports-header{display:grid;grid-template-columns:70px minmax(0,1fr);column-gap:4px;font-size:12px;color:#9ca3af;margin-bottom:2px}.device-ports-header span:last-child{text-align:left}.device-port-row{display:grid;grid-template-columns:70px minmax(0,1fr);column-gap:4px;align-items:center;margin-bottom:2px}.device-port-label{opacity:.8;font-variant-numeric:tabular-nums;font-size:12px}.device-port-input{flex:1;min-width:0;font-size:12px}@media(max-width:700px){.device-ports{max-height:140px}}.notes-panel{display:flex;flex-direction:column;gap:8px;font-size:12px}.notes-header{display:flex;flex-direction:column;align-items:left;justify-content:space-between;gap:8px;margin-bottom:4px}.notes-counter{font-size:11px;color:#e5e7eb}.notes-sort select{height:28px;border-radius:999px;border:1px solid rgba(148,163,184,.6);background:#0f172af2;color:#e5e7eb;font-size:11px;padding:0 10px}.notes-new{margin-top:4px;margin-bottom:8px;padding:8px;border-radius:8px;background:#0f172ae6;border:1px solid rgba(148,163,184,.4)}.notes-new .attr-field{margin-bottom:6px}.notes-new .attr-actions{justify-content:flex-end}.notes-list{display:flex;flex-direction:column;gap:6px}.notes-empty{font-size:12px;color:#9ca3af}.note-card{border-radius:8px;border:1px solid rgba(148,163,184,.4);padding:8px;background:#0f172ae6}.note-title-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.note-title-input{flex:1;min-width:0;font-size:12px;font-weight:600;padding:3px 8px;border-radius:6px;border:1px solid rgba(148,163,184,.5);background:#0f172af2;color:#e5e7eb}.note-title-input::placeholder{color:#6b7280}.note-title-input:focus{outline:none;border-color:#3b82f6f2;box-shadow:0 0 0 1px #3b82f6d9}.note-delete-btn{width:26px;height:26px;border-radius:999px;border:1px solid rgba(248,113,113,.8);background:#7f1d1df2;color:#fee2e2;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;padding:0}.note-delete-btn:hover{background-color:#b91c1cf2;border-color:#fca5a5}.note-meta{font-size:11px;color:#9ca3af;display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.note-body-input{width:100%;min-height:60px;max-width:100%;border-radius:6px;border:1px solid rgba(148,163,184,.4);background:#0f172af2;color:#e5e7eb;padding:6px 8px;font-size:12px;resize:vertical;box-sizing:border-box}.note-body-input::placeholder{color:#6b7280}.note-body-input:focus{outline:none;border-color:#3b82f6f2;box-shadow:0 0 0 1px #3b82f6cc}@media(max-width:768px){.notes-panel{gap:10px}.note-card{padding:8px}}.project-screen{min-height:calc(100vh - 60px);padding:48px 24px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 20%,rgba(15,118,110,.18),transparent 45%),#0f172a;color:#e2e8f0}.project-screen-card{padding:24px 28px;border-radius:16px;border:1px solid rgba(148,163,184,.2);background:#0f172ad9;box-shadow:0 20px 50px #00000059}.project-screen-error{color:#f87171e6;margin-bottom:12px}.project-screen-link{color:#93c5fd;text-decoration:none}.project-screen-link:hover{text-decoration:underline}.project-screen-debug{margin-top:8px;font-size:12px;color:#e2e8f0a6}
