:root{--bg:#111;--text:#eee;--muted:#aaa;--accent:#36a9ff;--accent-ghost:rgba(58, 134, 255, 0.12);--danger:#ff4d4f;--shadow:0 8px 24px rgba(0, 0, 0, 0.25);--radius:12px;--radius-sm:8px;--radius-xs:4px;--font-size-base:16px;--font-size-icon:18px;--font-size-big:1.1em;--spacing-xxs:3px;--spacing-xs:4px;--spacing-sm:6px;--spacing-md:8px;--spacing-lg:10px;--spacing-xl:12px;--spacing-xxl:14px;--spacing-xxxl:16px;--padding-toolbar:8px 16px;--padding-dialog:14px 32px;--border-main:1px solid rgba(255, 255, 255, 0.08);--border-strong:1px solid rgba(255, 255, 255, 0.12);--border-hover:1px solid var(--accent)}body{overflow:hidden}:is(body,#app,html){background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,'Apple Color Emoji','Segoe UI Emoji';height:100%;margin:0}a{color:#33f;font-size:var(--font-size-big)}.import-btn,button{display:flex;align-items:center;min-width:48px;min-height:48px;max-width:48px;max-height:48px;justify-content:center;border:none;background:0 0;color:var(--text);cursor:pointer;font-size:var(--font-size-icon);padding:0 var(--spacing-lg);border-radius:var(--radius-sm);cursor:pointer}:is(button,.import-btn) img{cursor:pointer}.menu-btn{display:none}button:hover img,label.import-btn:hover img{filter:brightness(50%) sepia(100%) saturate(1000%) hue-rotate(180deg)}button.active{background-color:var(--accent)}button.active img,button.invert img{filter:invert(1)}button.invert:hover img{filter:invert(1) brightness(50%) sepia(100%) saturate(1000%) hue-rotate(180deg)}.dialog-message{position:fixed;left:50%;top:100px;transform:translateX(-50%);transition:opacity .3s;padding:var(--padding-dialog);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg),transparent 10%);box-shadow:0 2px 16px #0003;color:#fff;font-size:var(--font-size-big);z-index:9999}.dialog-message:has(button)~.dialog-mask{position:fixed;left:0;right:0;top:0;bottom:0;backdrop-filter:blur(3px);z-index:9998}.dialog-message:not(:has(button)){pointer-events:none}.dialog-data{width:min(600px,50vw)}.dialog-data textarea{width:100%;height:4rem;margin-top:var(--spacing-sm);resize:none}.dialog-actions{margin-top:var(--spacing-md);display:flex;justify-content:flex-start;flex-direction:row-reverse;gap:var(--spacing-sm)}.dialog-btn{color:#fff;padding:var(--spacing-xs) var(--spacing-lg);font-size:1em;cursor:pointer;font-weight:600;min-width:none;max-width:none}.dialog-btn:hover{color:var(--accent)}.legal-btn{background:0 0;border:none;color:var(--text);cursor:pointer;font-size:var(--font-size-large)}.legal-close-btn{position:absolute;top:calc(10vh - var(--spacing-xxxl) - 15px);right:calc(10vw - var(--spacing-sm) - 15px);width:40px;height:40px;background:#fff;border:none;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-base);z-index:1}.legal-close-btn:hover{background-color:var(--accent)}.legal-dialog{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xxxl);backdrop-filter:blur(6px);z-index:99999}.legal-dialog-frame{width:80vw;height:80vh;position:relative;border-radius:var(--radius);background:var(--bg);overflow:hidden;padding:var(--spacing-xxxl) var(--spacing-sm) var(--spacing-sm) var(--spacing-sm)}.legal-dialog-content{width:calc(100% - 2 * var(--spacing-xl));height:calc(100% - 2 * var(--spacing-xxxl));background:var(--bg);color:var(--text);overflow-y:auto;border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--spacing-xl)}.legal-dialog-content h2{margin-top:0}.legal-section:last-child p{margin-bottom:0}.legal-contact p{margin:0}:is(.loading,.no-results){background:var(--bg);border:var(--border-main);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--muted);margin-top:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl)}#map{inset:0;position:absolute;z-index:1}.results{background:var(--bg);border:var(--border-main);border-radius:var(--radius);box-shadow:var(--shadow);list-style:none;margin:var(--spacing-md) 0 0 0;max-height:42vh;overflow:auto;padding:var(--spacing-md)}.results li{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-lg) var(--spacing-xl);border-radius:var(--radius-sm);justify-content:space-between;user-select:none;cursor:pointer}.results li:is(.highlighted,:hover){background:var(--accent-ghost)}.results li .already-selected{flex-grow:0}.results li .result-name{flex-grow:1}.result-name{color:var(--text)}.result-type{color:var(--muted);font-size:var(--font-size-base)}.search-container{left:var(--spacing-xxxl);position:absolute;top:var(--spacing-xxxl);width:min(720px,92vw);z-index:1000}.toolbar-search{display:flex;flex-grow:1}.selected-container{background:var(--bg);border:var(--border-main);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(6px);bottom:min(var(--spacing-xxxl),1vw,1vh);left:min(var(--spacing-xxxl),1vw,1vh);position:absolute;width:min(360px,80vw);z-index:900}.selected-header{border-bottom:var(--border-main);color:var(--muted);font-size:var(--font-size-base);font-weight:600;padding:var(--spacing-lg) var(--spacing-xl)}.selected-header img{width:100%;max-height:6vh;object-fit:fill}.selected-covered{text-align:center;color:var(--accent);font-size:var(--font-size-big)}.selected-list{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none;margin:0;max-height:20vh;overflow:auto;padding:var(--spacing-sm);scrollbar-color:#fff transparent;scrollbar-width:thin}.selected-list li{align-items:center;border-radius:var(--radius-sm);display:flex;gap:var(--spacing-lg);justify-content:space-between;padding:0 var(--spacing-lg)}.selected-list-item.highlight{background:#404547}.selected-remove-btn{appearance:none;background:0 0;border:var(--border-strong);border-radius:var(--radius-sm);min-width:34px;min-height:34px;color:var(--text);cursor:pointer;line-height:1;padding:var(--spacing-xs) var(--spacing-lg)}.selected-remove-btn:hover{border:var(--border-hover)}.selected-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-container{position:absolute;top:min(var(--spacing-xxxl),1vw,1vh);left:min(var(--spacing-xxxl),1vw,1vh);width:min(900px,88vw);z-index:1000}.toolbar{display:flex;flex-wrap:wrap;gap:0 var(--spacing-xxxl);align-items:center;background:var(--bg);border:var(--border-main);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--padding-toolbar);backdrop-filter:blur(6px)}.toolbar-options{display:flex;gap:0 var(--spacing-sm);align-items:center;padding:var(--spacing-sm) 0}.toolbar-options:not(.menu) :is(button,.import-btn) label{display:none}.toolbar input[type=text]{background:0 0;border:none;color:var(--text);flex:1;font-size:var(--font-size-base);outline:0;padding:var(--spacing-xxl) var(--spacing-xl)}.toolbar .import-btn{align-items:center;display:flex;gap:var(--spacing-xs);min-width:28px;max-width:28px}.toolbar .import-btn input[type=file]{display:none}.toolbar-options.menu{display:flex;position:fixed;top:calc(min(var(--spacing-xxxl),1vw,1vh) + 60px);left:calc(min(var(--spacing-xxxl),1vw,1vh) - var(--spacing-md));flex-wrap:wrap;gap:0 var(--spacing-sm);background:var(--bg);border:var(--border-main);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--padding-toolbar);backdrop-filter:blur(6px)}.toolbar-options.menu :is(button,.import-btn){min-width:min(400px,40vw);max-width:min(400px,40vw);gap:0 var(--spacing-lg);padding:var(--spacing-sm) 0 var(--spacing-sm) var(--spacing-lg)}.toolbar-options.menu :is(button,.import-btn) label{display:inline-block;text-align:left;cursor:pointer}.toolbar-options.menu select{margin-left:var(--spacing-xxxl)}#map .leaflet-top{top:min(var(--spacing-xxxl),1vw,1vh);right:min(var(--spacing-xxxl),1vw,1vh)}#map .leaflet-control-zoom{color:var(--text);background:var(--bg);margin:0;border:0;border-radius:var(--radius-sm);padding:var(--spacing-xxs)}#map .leaflet-control-zoom a{background:var(--bg);border-color:rgba(255,255,255,.08);color:var(--text)}#map :is(.leaflet-popup-content-wrapper,.leaflet-popup-tip){background:#1c1c1c;border:var(--border-main);color:var(--text)}#map .leaflet-control-zoom :is(.leaflet-control-zoom-in,.leaflet-control-zoom-out){border:0;color:var(--text);background:var(--bg)}#map .leaflet-control-zoom :is(.leaflet-control-zoom-in,.leaflet-control-zoom-out).leaflet-disabled:hover,#map .leaflet-control-zoom :is(.leaflet-control-zoom-in,.leaflet-control-zoom-out).leaflet-disabled{color:var(--bg);background:var(--text);filter:none}#map .leaflet-control-zoom .leaflet-control-zoom-in{border-top-left-radius:var(--radius-xs);border-top-right-radius:var(--radius-xs)}#map .leaflet-control-zoom .leaflet-control-zoom-out{border-bottom-left-radius:var(--radius-xs);border-bottom-right-radius:var(--radius-xs)}#map .leaflet-control-zoom :is(.leaflet-control-zoom-in,.leaflet-control-zoom-out):hover{filter:brightness(50%) sepia(100%) saturate(1000%) hue-rotate(180deg)}@media (max-width:1100px){.toolbar-search{width:100%;display:flex}.menu-btn{display:block}.toolbar-options{display:none}}@media (max-width:600px) or (max-height:500px){.search-container,.selected-container,.toolbar-container{left:0!important;right:0!important;width:100vw!important;min-width:0!important;max-width:100vw!important;border-radius:0!important;box-shadow:none!important;padding:0!important}.toolbar-container{top:0}.toolbar{flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:0}.toolbar-options.menu{flex-wrap:wrap;width:100%;top:56px;border-top-left-radius:0;border-top-right-radius:0}.search-box input,.toolbar input[type=text]{font-size:var(--font-size-base);padding:var(--spacing-md) var(--spacing-md)}.selected-container{bottom:0!important;left:0!important;width:100vw!important;border-radius:0!important;max-width:100vw!important}.selected-header{padding:var(--spacing-md);font-size:var(--font-size-small)}.selected-list{max-height:30vh;padding:var(--spacing-xs)}.results{max-height:30vh;padding:var(--spacing-xs);font-size:var(--font-size-small)}.toolbar .lang-dropdown{min-width:90px;font-size:var(--font-size-small)}button{min-width:40px;min-height:40px;font-size:var(--font-size-large);touch-action:manipulation;overflow:hidden}.lang-dropdown{min-width:120px;font-size:var(--font-size-base);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);border:var(--border-main)}#map .leaflet-top{top:60px;right:2px}}@media (max-width:400px) or (max-height:300px){:root{--font-size-base:14px;--font-size-icon:16px}}@media (max-height:800px){.selected-list{max-height:20vh}}