  *{margin:0;padding:0;box-sizing:border-box}
  html,body{height:100%;overflow:hidden}
  button,input,select,textarea{font-family:inherit}
  body{
    font:14px/1.45 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;
    color:#1c1c1e;-webkit-font-smoothing:antialiased;background:#fff;
    display:flex;flex-direction:column;
    --app-header-h:54px;
  }

  #app-header{
    flex:0 0 var(--app-header-h); height:var(--app-header-h); z-index:100;
    display:flex; align-items:center; gap:12px; padding:0 14px 0 0;
    background:rgba(14,20,32,.96); backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px); border-bottom:1px solid #1b2333;
    color:#e2e8f5;
  }
  #app-header-brand{
    display:inline-flex; align-items:center; justify-content:center;
    align-self:stretch; width:320px;
    background:#fff666; color:#000; font-size:19px; font-weight:800;
    margin:0; line-height:inherit;
    letter-spacing:-.2px; white-space:nowrap; border-radius:0;
  }
  #app-header-nav{ display:flex; align-items:center; gap:16px; overflow-x:auto; padding-right:10px; margin-left:auto; }
  #app-header-nav .sb-link{ display:inline-block; white-space:nowrap; padding:0; }
  #app-header-nav .sb-link svg{ width:18px; height:18px; display:block; vertical-align:middle; }
  #app-header-nav #mc-ui-theme{ padding:0; }
  #auth-modal-open{ margin-right:10px; }
  body.ui-themed #app-header{ background:var(--ui-topbar-bg); color:var(--ui-fg); border-color:var(--ui-line); }
  #tb-count-head, #layers-modal-open{
    position:relative;
  }
  #tb-count-head::after, #layers-modal-open::after{
    content:''; position:absolute; top:50%; right:-10px; width:5px; height:5px;
    border-radius:50%; background:#fff; opacity:.5; transform:translateY(-50%);
    transition:background .15s, opacity .15s;
  }
  body:has(#taibreak-modal.open) #tb-count-head::after,
  body:has(#layers-modal.open) #layers-modal-open::after{
    background:#34c759; opacity:1;
  }

  #app-body{ flex:1 1 auto; display:flex; min-height:0; }

  #map-wrap{ flex:1 1 auto; position:relative; min-width:0; }
  #map{position:absolute;inset:0;background:var(--ui-bg-t,#fff)}

  .bento-card{
    position:fixed; z-index:70; width:320px; max-width:calc(100vw - 28px);
    max-height:calc(100vh - var(--app-header-h) - 94px); overflow-y:auto; overflow-x:hidden;
    display:none; background:#fff;
    border-radius:12px; box-shadow:0 4px 24px rgba(0,0,0,.16);
  }
  .bento-card.open{ display:block; }
  .bento-card.open.stashed{ display:none; }
  #taibreak-modal, #layers-modal{ right:14px; bottom:66px; }
  #auth-modal{ left:50%; top:50%; transform:translate(-50%,-50%); max-height:70vh; }
  #share-modal{ left:50%; top:50%; transform:translate(-50%,-50%); width:300px; }
  #share-modal-body{ padding:0 14px 14px; }
  .share-link-row{ display:flex; gap:6px; margin-bottom:14px; }
  .share-link-row input{
    flex:1; min-width:0; padding:6px 8px; border-radius:6px; border:1px solid #ddd;
    font-size:11px; color:#666; background:#f7f7f8;
  }
  .share-link-row .clr-save{ flex:none; width:auto; padding:6px 12px; font-size:12px; }
  .share-grid{
    display:grid; grid-template-columns:repeat(4, 1fr); gap:12px 6px;
    text-align:center;
  }
  .share-btn{
    display:flex; flex-direction:column; align-items:center; gap:5px;
    text-decoration:none; color:#555; font-size:10.5px; cursor:pointer;
  }
  .share-btn-ico{
    width:42px; height:42px; border-radius:50%; display:flex; align-items:center;
    justify-content:center; color:#fff; font-weight:700; font-size:14px;
    font-family:inherit; transition:transform .12s; box-shadow:0 2px 6px rgba(0,0,0,.15);
  }
  .share-btn-ico svg{ width:20px; height:20px; }
  .share-btn:hover .share-btn-ico{ transform:scale(1.08); }
  .share-ico-telegram{ background:#29A9EA; }
  .share-ico-max{ background:#232631; }
  .share-ico-vk{ background:#0077FF; font-size:12px; }
  .share-ico-ok{ background:#EE8208; font-size:12px; }
  .share-ico-whatsapp{ background:#25D366; }
  .share-ico-facebook{ background:#1877F2; font-style:italic; font-family:Georgia,serif; }
  .share-ico-x{ background:#000; }
  .share-ico-link{ background:#64748b; }
  .tb-share-menu{ margin-top:8px; gap:7px; flex-wrap:wrap; align-items:center; }
  .tb-share-menu a, .tb-share-menu .tb-share-copy{
    display:inline-flex; text-decoration:none; border:0; padding:0; background:none; cursor:pointer;
  }
  .tb-share-menu .share-btn-ico{ width:30px; height:30px; font-size:11.5px; }
  .tb-share-menu .share-btn-ico svg{ width:15px; height:15px; }
  .tb-share-menu a:hover .share-btn-ico, .tb-share-menu .tb-share-copy:hover .share-btn-ico{ transform:scale(1.1); }
  .tb-share-menu .tb-share-label{ font-size:11px; color:#22a55a; }
  body.ui-theme-dark .tb-share-menu .share-ico-max,
  body.ui-theme-dark .tb-share-menu .share-ico-x{ box-shadow:0 0 0 1px rgba(255,255,255,.28); }
  body.ui-themed .share-btn{ color:var(--ui-fg); }
  body.ui-themed .share-link-row input{ background:var(--ui-bg); border-color:var(--ui-line); color:var(--ui-fg); }
  #discoveries-editor-modal{ left:50%; top:50%; transform:translate(-50%,-50%); max-height:82vh; width:360px; }
  #expedition-info-modal{ left:50%; top:50%; transform:translate(-50%,-50%); max-height:none; overflow-y:visible; }
  .p-nav-btn{
    background:none; border:1px solid #ddd; border-radius:4px; width:20px; height:20px;
    line-height:1; font-size:14px; color:#555; cursor:pointer; padding:0;
  }
  .p-nav-btn:hover{ background:#f0f0f0; }
  .p-nav-btn:disabled{ opacity:.35; cursor:default; }
  .p-nav-btn:disabled:hover{ background:none; }
  .p-nav-pager{ font-size:13px; font-weight:700; color:#444; padding:0 3px; white-space:nowrap; }
  #expedition-info-modal-body, #discoveries-editor-modal-body, #discoveries-list-modal-body{
    padding-left:14px; padding-right:14px;
  }
  #discoveries-list-modal{ left:50%; top:50%; transform:translate(-50%,-50%); max-height:75vh; width:300px; }
  .disc-expl-chip{
    display:inline-flex; align-items:center; gap:5px;
    font-size:11px; padding:4px 10px; border-radius:20px; border:0;
    background:#eef0f2; color:#111; font-weight:400; cursor:pointer;
    font-family:inherit; transition:background .12s, color .12s, transform .1s;
  }
  .disc-expl-chip:hover{ filter:brightness(.97); }
  .disc-expl-chip:active{ transform:scale(.96); }
  .disc-expl-chip.disc-chip-shown{
    background:color-mix(in srgb, var(--tag-color,#c7cbd1) 60%, white);
  }
  .disc-expl-chip.disc-chip-active{
    background:var(--tag-color,#c7cbd1); color:#fff; font-weight:700;
    box-shadow:0 0 0 2px rgba(0,0,0,.25);
  }
  .disc-expl-chip-del{
    opacity:.6; font-size:13px; line-height:1; padding:0 2px; border-radius:50%;
  }
  .disc-expl-chip-del:hover{ opacity:1; background:rgba(0,0,0,.15); }
  .disc-mode-btn{
    font-size:11px; padding:4px 10px; border:1px solid #ddd; border-radius:6px;
    background:#f5f5f5; color:#333; cursor:pointer; flex:1;
  }
  .disc-mode-btn:hover{ background:#eee; }
  .disc-mode-btn.disc-mode-active{ background:#3A8FD6; border-color:#3A8FD6; color:#fff; }
  #arch-style-modal{ left:50%; top:50%; transform:translate(-50%,-50%); max-height:75vh; width:340px; }
  .arch-style-chip{
    display:inline-flex; align-items:center; gap:4px;
    font-size:11px; padding:4px 10px; border-radius:20px; border:0;
    background:#eef0f2; color:#111; font-weight:400; cursor:pointer;
    font-family:inherit; transition:background .12s, color .12s, transform .1s;
  }
  .arch-style-chip:hover{ filter:brightness(.97); }
  .arch-style-chip:active{ transform:scale(.96); }
  .arch-style-chip.arch-chip-on{ background:#b8622e; color:#fff; font-weight:700; }
  .arch-style-chip-count{ opacity:.7; font-weight:400; }
  .disc-page-images img, .disc-event-images img{ width:56px; height:56px; object-fit:cover; border-radius:4px; }
  .disc-hero-thumb-wrap{ position:relative; margin-bottom:6px; }
  .disc-hero-thumb{ width:100%; height:120px; object-fit:cover; display:block; border-radius:6px; cursor:zoom-in; }
  .disc-hero-zoom{
    position:absolute; right:7px; bottom:13px; z-index:2;
    width:22px; height:22px; border-radius:50%;
    background:rgba(15,23,42,.72); backdrop-filter:blur(3px);
    border:1px solid rgba(255,255,255,.25);
    display:flex; align-items:center; justify-content:center;
    pointer-events:none;
  }
  .disc-hero-zoom-ico{
    width:12px; height:12px; background:#fff;
    -webkit-mask:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228%22%20/%3E%3Cline%20x1%3D%2221%22%20x2%3D%2216.65%22%20y1%3D%2221%22%20y2%3D%2216.65%22%20/%3E%3Cline%20x1%3D%2211%22%20x2%3D%2211%22%20y1%3D%228%22%20y2%3D%2214%22%20/%3E%3Cline%20x1%3D%228%22%20x2%3D%2214%22%20y1%3D%2211%22%20y2%3D%2211%22%20/%3E%3C/svg%3E') center/contain no-repeat;
    mask:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228%22%20/%3E%3Cline%20x1%3D%2221%22%20x2%3D%2216.65%22%20y1%3D%2221%22%20y2%3D%2216.65%22%20/%3E%3Cline%20x1%3D%2211%22%20x2%3D%2211%22%20y1%3D%228%22%20y2%3D%2214%22%20/%3E%3Cline%20x1%3D%228%22%20x2%3D%2214%22%20y1%3D%2211%22%20y2%3D%2211%22%20/%3E%3C/svg%3E') center/contain no-repeat;
  }
  .disc-hero-del{
    position:absolute; left:7px; top:7px; z-index:2;
    width:20px; height:20px; border-radius:50%; padding:0; border:1px solid rgba(255,255,255,.25);
    background:rgba(15,23,42,.72); color:#fff; font-size:14px; line-height:18px; text-align:center;
    cursor:pointer;
  }
  .disc-hero-del:hover{ background:#c0392b; }
  .disc-img-thumb{ position:relative; }
  .disc-img-thumb .disc-img-rm{
    position:absolute; top:-5px; right:-5px; width:16px; height:16px; border-radius:50%;
    background:#c0392b; color:#fff; border:0; font-size:10px; line-height:16px; text-align:center;
    cursor:pointer; padding:0;
  }
  .disc-list-row{ display:flex; align-items:center; gap:6px; padding:4px 0; font-size:12px; border-bottom:1px solid #f0f0f0; }
  .disc-list-row .disc-swatch{ width:10px; height:10px; border-radius:50%; flex:none; }
  .disc-list-row .disc-list-name{ flex:1; cursor:pointer; }
  .disc-list-row button{ font-size:10px; padding:2px 6px; border:1px solid #ddd; border-radius:4px; background:#f5f5f5; cursor:pointer; }
  #auth-modal-body{ padding-left:2%; }
  #globe-modal{ left:50%; bottom:90px; transform:translateX(-50%); width:320px; height:230px; padding:0; }
  body.tb-hint-showing #globe-modal{ bottom:280px; }
  #globe-modal.open{ display:flex; flex-direction:column; }
  #globe-modal-body{ flex:1 1 auto; min-height:0; display:flex; padding:0; }
  #globe-map{
    flex:1 1 auto; min-height:0; margin:0;
    overflow:hidden; background:var(--ui-bg-t, #fff); cursor:grab;
  }
  #globe-map:active{ cursor:grabbing; }
  #globe-map .maplibregl-ctrl-attrib, #globe-map .maplibregl-ctrl-logo{ display:none; }
  #globe-modal .modal-drag, #globe-modal .p-close{
    position:absolute; top:6px; width:22px; height:22px; z-index:2;
    border:0; border-radius:50%; background:rgba(0,0,0,.45); color:#fff;
    font-size:13px; line-height:1; cursor:pointer; display:flex;
    align-items:center; justify-content:center; padding:0;
  }
  #globe-modal .p-close{ right:6px; font-size:15px; }
  #globe-modal .modal-drag{ right:32px; cursor:grab; touch-action:none; }
  #globe-modal .modal-drag:active{ cursor:grabbing; }
  #globe-modal .modal-drag:hover, #globe-modal .p-close:hover{ background:rgba(0,0,0,.65); }
  #globe-modal.wide #globe-map{ flex:0 0 180px; }
  #globe-modal.tall #globe-modal-body{ flex-direction:column; }
  #globe-modal.tall #globe-map{ flex:0 0 160px; }
  #globe-info{
    display:none; flex:1 1 auto; min-width:0; overflow-y:auto;
    padding:10px 12px 10px 8px;
  }
  #globe-modal.wide #globe-info, #globe-modal.tall #globe-info{ display:block; }
  .gi-title{ font-weight:600; font-size:13px; margin-bottom:6px; }
  .gi-text{ font-size:12px; line-height:1.7; opacity:.75; }
  body.ui-theme-dark #globe-info{ color:var(--ui-fg); }
  #taibreak-modal-head .p-head-title{ flex-direction:column; align-items:flex-start; gap:0; }
  .p-head-sub{ font-size:10.5px; font-weight:400; text-transform:none; letter-spacing:0; color:#a0a0a5; }

  #map-crosshair{
    position:absolute;inset:0;z-index:10;
    display:none;align-items:center;justify-content:center;
    pointer-events:none;
  }
  #map-crosshair.show{display:flex}

  #map-info-btn.on{background:#1a73e8;color:#fff}
  body.ui-themed #map-info-btn.on{background:var(--ui-accent);color:var(--ui-bg)}

  #tb-travel{
    display:flex; position:absolute; left:50%; bottom:calc(26px + env(safe-area-inset-bottom)); transform:translateX(-50%);
    z-index:56; gap:10px; align-items:center;
  }
  body.sb-collapsed #tb-travel{   bottom:calc(34px + env(safe-area-inset-bottom)); }
  #tb-random-btn{
    border:0; font:inherit; cursor:pointer; display:inline-flex; align-items:center; gap:8px;
    transition:background .12s, transform .1s, box-shadow .12s;
    padding:13px 22px; border-radius:26px;
    background:#1a73e8; box-shadow:0 4px 16px rgba(26,115,232,.45); color:#fff;
    font-size:15px; font-weight:700;
  }
  #tb-random-btn:hover{ background:#1560c4; box-shadow:0 6px 20px rgba(26,115,232,.55); }
  #tb-random-btn:active{ transform:scale(.96); }
  #tb-random-btn .tb-dice{
    width:18px; height:18px; flex:none; background:currentColor;
    -webkit-mask:var(--icon-dice) center/contain no-repeat; mask:var(--icon-dice) center/contain no-repeat;
  }
  body.ui-themed #tb-random-btn{ background:var(--ui-accent); color:var(--ui-bg); }
  #tb-random-btn.tb-empty{
    background:#8a8f98; box-shadow:none; cursor:default;
  }
  #tb-random-btn.tb-empty:hover{ background:#8a8f98; }
  body.ui-themed #tb-random-btn.tb-empty{ background:var(--ui-mute); color:var(--ui-bg); }

  #bottom-tools{
    display:flex; align-items:center; gap:10px;
    background:rgba(15,23,42,.82); backdrop-filter:blur(4px);
    border:1px solid rgba(255,255,255,.16); border-radius:24px;
    padding:8px 14px; box-shadow:0 4px 14px rgba(0,0,0,.3);
  }
  body.ui-themed #bottom-tools{ background:var(--ui-bg-t); border-color:var(--ui-line); }

  #tb-hint{
    display:none; position:absolute; left:50%; bottom:82px; transform:translateX(-50%);
    z-index:57; max-width:280px; padding:12px 16px; border-radius:14px;
    background:#0f172a; color:#f1f5f9; box-shadow:0 8px 28px rgba(0,0,0,.4);
    font-size:13px; line-height:1.45; text-align:center;
    border:1px solid rgba(255,255,255,.12);
  }
  #tb-hint.show{ display:block; animation:hint-in .35s ease-out; }
  #tb-hint::after{
    content:''; position:absolute; left:50%; bottom:-7px; transform:translateX(-50%) rotate(45deg);
    width:14px; height:14px; background:#0f172a; border-right:1px solid rgba(255,255,255,.12);
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  #tb-hint b{ color:#7dd3fc; }
  #tb-hint .tb-hint-close{
    display:inline-block; margin-top:9px; font-size:12px; font-weight:600;
    color:#94a3b8; cursor:pointer; text-decoration:underline;
  }
  #tb-hint .tb-hint-close:hover{ color:#e2e8f5; }
  @keyframes hint-in{ from{ opacity:0; transform:translateX(-50%) translateY(8px); } to{ opacity:1; transform:translateX(-50%) translateY(0); } }
  @media (prefers-reduced-motion: reduce){ #tb-hint.show{ animation:none; } }

  #tb-invite-popup{
    display:none; position:fixed; z-index:81;
    left:50%; top:50%; transform:translate(-50%,-50%);
    max-width:300px; padding:18px 20px;
    background:#fff; border-radius:14px;
    box-shadow:0 8px 32px rgba(0,0,0,.28);
    font-size:13.5px; line-height:1.5; color:#222; text-align:center;
  }
  #tb-invite-popup.show{display:block}
  #tb-invite-popup a{color:#2563eb; text-decoration:none; font-weight:600}
  #tb-invite-popup a:hover{text-decoration:underline}
  #tb-invite-popup .tb-invite-close{
    position:absolute; top:6px; right:8px; border:0; background:none;
    font-size:18px; line-height:1; color:#94a3b8; cursor:pointer; padding:4px;
  }
  body.ui-themed #tb-invite-popup{background:var(--ui-bg-t);color:var(--ui-fg)}


  #img-lightbox{
    position:absolute; inset:0; z-index:90; padding-top:56px;
    display:none; align-items:flex-start; justify-content:center;
    background:rgba(10,10,14,.82); cursor:zoom-out;
  }
  #img-lightbox.show{display:flex}
  #img-lightbox img{
    max-width:calc(100% - 56px); max-height:calc(100% - 56px);
    object-fit:contain; border-radius:6px; box-shadow:0 8px 40px rgba(0,0,0,.5);
    cursor:default; display:block;
  }
  #img-lightbox.has-caption img{
    max-height:calc(100% - 210px); border-radius:6px 6px 0 0;
  }
  #img-lightbox .ilb-close{
    position:absolute; top:16px; right:16px; width:34px; height:34px;
    border:0; border-radius:50%; background:rgba(0,0,0,.72);
    color:#fff; font-size:20px; line-height:1; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    z-index:3;
  }
  #img-lightbox .ilb-close:hover{background:rgba(0,0,0,.88)}
  #img-lightbox .ilb-nav{
    position:absolute; top:0; bottom:0; width:15%; min-width:56px; max-width:120px;
    border:0; background:none; color:rgba(255,255,255,.55); cursor:pointer;
    display:flex; align-items:center; z-index:2;
  }
  #img-lightbox .ilb-nav:hover{ color:rgba(255,255,255,.95); }
  #img-lightbox .ilb-nav svg{ width:40px; height:40px; display:block; filter:drop-shadow(0 1px 4px rgba(0,0,0,.6)); }
  #img-lightbox .ilb-prev{ left:0; justify-content:flex-start; padding-left:12px; }
  #img-lightbox .ilb-next{ right:0; justify-content:flex-end; padding-right:12px; }
  #img-lightbox .ilb-info{
    position:absolute; left:0; right:0; z-index:1;
    box-sizing:border-box; text-align:left;
    color:#fff; scrollbar-width:none;
    overflow-y:auto; -webkit-overflow-scrolling:touch; max-height:50vh;
  }
  #img-lightbox .ilb-info::-webkit-scrollbar{ display:none; }
  #img-lightbox .ilb-info-spacer{ cursor:default; }
  #img-lightbox .ilb-info-card{
    padding:14px 20px 18px; border-radius:0 0 6px 6px;
    background:rgba(23,23,28,.74);
    -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
    box-shadow:0 -10px 24px rgba(0,0,0,.35); box-sizing:border-box;
  }
  #img-lightbox .ilb-info-tag{
    display:inline-block; font-size:11px; font-weight:700; padding:4px 11px;
    border-radius:20px; color:#2a2a2e; letter-spacing:.3px; margin-bottom:8px;
  }
  #img-lightbox .ilb-info-title{
    font-size:19px; font-weight:800; letter-spacing:-.01em; line-height:1.22;
    margin-bottom:5px;
  }
  #img-lightbox .ilb-info-descr{
    font-size:13.5px; line-height:1.45; color:rgba(255,255,255,.72);
    white-space:pre-line;
  }
  #img-lightbox .ilb-info-descr .whc-inline-link{ color:#7dd3fc; text-decoration:underline; }
  body.ui-themed:not(.ui-theme-dark) #img-lightbox .ilb-info-card{
    background:rgba(255,255,255,.76);
    background:color-mix(in srgb, var(--ui-bg, #fff) 76%, transparent);
    color:var(--ui-fg, #1c1c22); box-shadow:0 -10px 24px rgba(0,0,0,.18);
  }
  body.ui-themed:not(.ui-theme-dark) #img-lightbox .ilb-info-descr{ color:var(--ui-fg, #1c1c22); opacity:.8; }
  body.ui-themed:not(.ui-theme-dark) #img-lightbox .ilb-info-descr .whc-inline-link{ color:#2563eb; }
  @media (max-width:640px){
    #img-lightbox.has-caption img{ max-height:calc(100% - 170px); }
    #img-lightbox .ilb-info-card{ padding:11px 15px 13px; }
    #img-lightbox .ilb-info-tag{ font-size:10px; padding:3px 9px; margin-bottom:6px; }
    #img-lightbox .ilb-info-title{ font-size:16px; margin-bottom:4px; }
    #img-lightbox .ilb-info-descr{ font-size:12.5px; }
    #img-lightbox .ilb-nav svg{ width:30px; height:30px; }
  }
  .whc-thumb{ cursor:zoom-in; }
  .sidebar{
    flex:0 0 auto;width:260px;z-index:20;
    background:rgba(14,20,32,.92);backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);border-right:1px solid #1b2333;
    display:flex;flex-direction:column;
    color:#c7d0e0;
  }
  .sb-brand{
    padding:17px 16px 14px;font-size:14.5px;font-weight:600;letter-spacing:-.2px;
    border-bottom:1px solid #1b2333; color:#e2e8f5;
  }
  .sb-title::before{
    content:''; display:inline-block; width:8px; height:8px; border-radius:50%;
    margin-right:8px; vertical-align:baseline;
    background:#3a8fd6; box-shadow:0 0 8px rgba(58,143,214,.55);
  }
  body.ui-themed .sb-title::before{ background:var(--ui-accent); box-shadow:none; }
  .sb-brand small{display:block;font-size:10.5px;font-weight:400;color:#5b6b8c;margin-top:4px;margin-left:16px;letter-spacing:.02em}
  .sb-body{
    flex:1 1 auto; min-height:0; overflow-y:auto; padding:6px 0;
    scrollbar-gutter:stable;
  }

  .tool{
    width:100%;display:flex;align-items:center;justify-content:space-between;
    font:inherit;font-size:13.5px;padding:11px 18px;text-align:left;
    color:#3a3a3c;background:none;border:0;cursor:pointer;
    transition:background .12s,color .12s;
  }
  .tool:hover{background:#f7f7f8;color:#1c1c1e}
  .tool.on{background:#f2f4f8;color:#1a73e8;font-weight:600}
  .tool::after{
    content:'';width:6px;height:6px;margin-left:8px;flex:none;
    border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
    transform:rotate(45deg);opacity:.45;transition:transform .18s;
  }
  .tool.on::after{transform:rotate(-135deg);opacity:.8}

  .panel,.clr-panel{
    display:none;padding:4px 18px 16px;background:#fbfbfc;
    border-top:1px solid #f2f2f4;border-bottom:1px solid #f2f2f4;
  }
  .panel.visible,.clr-panel.visible{display:block}

  #clr-modal-backdrop, #profile-backdrop{
    display:none; position:fixed; inset:0; z-index:90;
    background:rgba(8,12,20,.58); backdrop-filter:blur(1px);
  }
  #clr-modal-backdrop.show, #profile-backdrop.show{ display:block; }
  #clr-panel{
    position:fixed; z-index:91; left:50%; top:50%; transform:translate(-50%,-50%);
    width:320px; max-width:90vw; max-height:82vh; overflow-y:auto;
    border:1px solid #e2e2e5; border-radius:14px;
    padding:16px 18px 20px; box-shadow:0 20px 60px rgba(0,0,0,.45);
  }
  .clr-modal-head{
    display:flex; align-items:center; justify-content:space-between;
    font-size:14px; font-weight:700; color:#1c1c1e;
    margin:0 -18px 10px; padding:0 18px 12px; border-bottom:1px solid #f2f2f4;
  }
  .clr-modal-head button{
    border:0; background:none; font-size:20px; line-height:1; color:#8a8f98;
    cursor:pointer; padding:2px 4px;
  }
  .clr-modal-head button:hover{ color:#1c1c1e; }
  #profile-points-list{ max-height:40vh; overflow-y:auto; }
  .wc-point-card{
    padding:9px 10px; margin-bottom:8px; border:1px solid #e6e6e9; border-radius:8px;
  }
  .wc-point-card .wc-title-row{
    display:flex; align-items:center; justify-content:space-between; gap:8px;
  }
  .wc-name-btn{
    font:inherit; font-weight:700; font-size:13px; overflow-wrap:anywhere; text-align:left;
    border:0; background:none; padding:0; cursor:pointer; color:#1c1c1e; flex:1;
  }
  .wc-name-btn:hover{ text-decoration:underline; }
  .wc-badge{
    font-size:10px; font-weight:700; padding:2px 7px; border-radius:999px; white-space:nowrap;
  }
  .wc-badge.private{ background:#eef0f3; color:#5a5a5e; }
  .wc-badge.published{ background:#e3f3e6; color:#2e7d32; }

  #profile-panel{
    position:fixed; display:none; z-index:91;
    left:50%; top:50%; transform:translate(-50%,-50%);
    width:320px; height:518px; max-width:90vw; max-height:90vh;
    background:#fff; border-radius:10px; overflow:hidden;
    box-shadow:0 6px 24px rgba(0,0,0,.28); border:1px solid rgba(0,0,0,.08);
    font-size:12px; color:#222;
  }
  #profile-panel .whc-close, #profile-panel .whc-drag{
    position:absolute; top:6px; width:22px; height:22px; z-index:2;
    border:0; border-radius:50%; background:rgba(0,0,0,.45); color:#fff;
    font-size:13px; line-height:1; cursor:pointer; display:flex;
    align-items:center; justify-content:center; padding:0;
  }
  #profile-panel .whc-close{ right:6px; font-size:15px; }
  #profile-panel .whc-drag{ right:32px; cursor:grab; touch-action:none; }
  #profile-panel .whc-drag:active{ cursor:grabbing; }
  #profile-panel .whc-close:hover, #profile-panel .whc-drag:hover{ background:rgba(0,0,0,.65); }
  #profile-panel .whc-collapse{
    position:absolute; top:6px; right:58px; width:22px; height:22px; z-index:2;
    border:0; border-radius:50%; background:rgba(0,0,0,.45); color:#fff;
    font-size:12px; line-height:1; cursor:pointer; display:flex;
    align-items:center; justify-content:center; padding:0;
  }
  #profile-panel .whc-collapse:hover{ background:rgba(0,0,0,.65); }
  #profile-panel .whc-resize{
    position:absolute; right:0; bottom:0; width:18px; height:18px;
    z-index:2; cursor:nwse-resize; touch-action:none;
  }
  #profile-panel .whc-resize::before{
    content:''; position:absolute; right:4px; bottom:4px; width:9px; height:9px;
    background-image:
      linear-gradient(135deg, transparent 0 40%, rgba(0,0,0,.4) 40% 48%, transparent 48% 100%),
      linear-gradient(135deg, transparent 0 65%, rgba(0,0,0,.4) 65% 73%, transparent 73% 100%);
  }
  #profile-panel .whc-resize-left{
    position:absolute; left:0; bottom:0; width:18px; height:18px;
    z-index:2; cursor:nesw-resize; touch-action:none;
  }
  #profile-panel .whc-resize-left::before{
    content:''; position:absolute; left:4px; bottom:4px; width:9px; height:9px;
    background-image:
      linear-gradient(45deg, transparent 0 40%, rgba(0,0,0,.4) 40% 48%, transparent 48% 100%),
      linear-gradient(45deg, transparent 0 65%, rgba(0,0,0,.4) 65% 73%, transparent 73% 100%);
  }
  #profile-theme-toggle{
    position:absolute; top:6px; left:6px; z-index:2;
    width:22px; height:22px; padding:0; border-radius:50%;
    border:1px solid #d7d7db; background:#fff; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
  }
  #profile-theme-toggle::after{ content:''; width:10px; height:10px; border-radius:50%; background:#1c1c1e; }
  #profile-panel.dark #profile-theme-toggle{ background:#1c1c1e; border-color:#3a3a3d; }
  #profile-panel.dark #profile-theme-toggle::after{ background:#fff; }
  #profile-panel.dark{ background:#1c1c1e; color:#e8e8ea; }
  #profile-panel.dark .clr-sel{ background:#28282b; color:#e8e8ea; border-color:#3a3a3d; }
  #profile-panel.dark #profile-tabs button{ background:#28282b; color:#c9c9cc; border-color:#3a3a3d; }
  #profile-panel.dark #profile-tabs button.on{ background:#e8e8ea; color:#1c1c1e; border-color:#e8e8ea; }
  #profile-panel.dark .wc-point-card{ border-color:#3a3a3d; }
  #profile-panel.dark .wc-name-btn{ color:#e8e8ea; }
  #profile-panel.dark #profile-view-bio{ color:#a8a8ae; }

  #profile-content{
    display:flex; flex-direction:column; width:100%; height:100%;
    padding-top:38px; box-sizing:border-box;
  }
  #profile-tabs{ flex:none; display:flex; gap:6px; padding:0 14px 10px; }
  #profile-tabs button{
    flex:1; font:inherit; font-size:12px; font-weight:700; padding:6px 8px;
    border:1px solid #e2e2e5; border-radius:8px; background:#fff; color:#5a5a5e;
    cursor:pointer; transition:background .12s;
  }
  #profile-tabs button.on{ background:#1c1c1e; color:#fff; border-color:#1c1c1e; }
  #profile-title{ flex:none; display:none; padding:0 14px 10px; font-size:14px; font-weight:700; }
  #profile-body{ flex:1 1 auto; min-height:0; overflow-y:auto; padding:0 14px 14px; }

  #profile-avatar-btn{
    display:flex; justify-content:center; width:100%; margin:6px 0 10px; padding:0;
    border:0; background:none; cursor:pointer; position:relative;
  }
  #profile-panel:not(.own-mode) #profile-avatar-btn{ cursor:default; }
  #profile-avatar-big{ font-size:48px; line-height:1; }
  #profile-avatar-edit-ico{
    position:absolute; right:calc(50% - 34px); bottom:-2px; font-size:12px;
    width:20px; height:20px; border-radius:50%; background:#fff; border:1px solid #e2e2e5;
    display:flex; align-items:center; justify-content:center; box-shadow:0 1px 4px rgba(0,0,0,.18);
  }
  #profile-panel:not(.own-mode) #profile-avatar-edit-ico{ display:none; }
  .profile-avatar-opt{
    font-size:20px; width:36px; height:36px; line-height:1;
    border:1px solid #e2e2e5; border-radius:8px; background:#fff; cursor:pointer;
  }
  .profile-avatar-opt.sel{ border:2px solid #7c3aed; }
  #profile-avatar-grid{ justify-content:center; margin-bottom:10px; }
  #profile-view-nickname{
    display:block; font-size:16px; font-weight:700; text-align:center;
    border-radius:6px; padding:2px 6px; margin:0 -6px 4px;
  }
  #profile-view-bio{
    font-size:13px; color:#5a5a5e; text-align:center; white-space:pre-wrap;
    border-radius:6px; padding:2px 6px; margin:0 -6px; min-height:1.4em;
  }
  #profile-panel.own-mode .profile-editable-field{ cursor:text; }
  #profile-panel.own-mode .profile-editable-field:hover{ background:rgba(0,0,0,.045); }
  #profile-nickname-input{ text-align:center; font-weight:700; margin-bottom:4px; }
  #profile-bio-input{ resize:vertical; }
  .tb-author-btn{
    font:inherit; font-size:11px; padding:3px 9px; border:1px solid #e2e2e5; border-radius:14px;
    background:#fff; cursor:pointer; display:inline-flex; align-items:center; gap:5px; color:#334155;
  }
  .tb-author-btn:hover{ background:rgba(124,58,237,.08); border-color:rgba(124,58,237,.35); }

  .sb-foot{padding:12px 18px 16px;border-top:1px solid #1b2333}
  .sb-link{
    display:block;font-size:12.5px;color:#8a97b3;text-decoration:none;
    padding:7px 0;transition:color .12s;
    border:0;background:none;outline:none;-webkit-appearance:none;appearance:none;
    font-family:inherit;cursor:pointer;
  }
  .sb-link:hover{color:#2b6cb0}
  #myprofile-block{ margin-top:14px; padding-top:10px; border-top:1px solid #eef0f4; }
  body.ui-themed #myprofile-block{ border-color:var(--ui-line); }
  #myprofile-avatar-btn{
    display:flex; justify-content:center; width:100%; margin:2px 0 10px; padding:0;
    border:0; background:none; cursor:pointer; position:relative;
  }
  #myprofile-avatar-big{ font-size:40px; line-height:1; }
  #myprofile-avatar-edit-ico{
    position:absolute; right:calc(50% - 30px); bottom:-2px; font-size:12px;
    width:20px; height:20px; border-radius:50%; background:#fff; border:1px solid #e2e2e5;
    display:flex; align-items:center; justify-content:center; box-shadow:0 1px 4px rgba(0,0,0,.18);
  }
  #myprofile-avatar-grid{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-bottom:10px; }
  #myprofile-view-nickname{
    display:block; font-size:15px; font-weight:700; text-align:center;
    border-radius:6px; padding:2px 6px; margin:0 -6px 4px; cursor:text;
  }
  #myprofile-view-bio{
    font-size:12.5px; color:#5a5a5e; text-align:center; white-space:pre-wrap;
    border-radius:6px; padding:2px 6px; margin:0 -6px; min-height:1.4em; cursor:text;
  }
  #myprofile-block .profile-editable-field:hover{ background:rgba(0,0,0,.045); }
  body.ui-themed #myprofile-view-bio{ color:var(--ui-mute); }
  #myprofile-nickname-input{ text-align:center; font-weight:700; margin-bottom:4px; }
  #myprofile-bio-input{ resize:vertical; }

  .title-badge{
    position:absolute;top:calc(14px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:10;
    padding:7px 14px;background:rgba(20,27,43,.92);backdrop-filter:blur(8px);
    border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,.25);
    font-size:12.5px;color:#c7d0e0;white-space:nowrap;
  }
  .title-badge a{ color:inherit; text-decoration:none; cursor:pointer; }
  .title-badge a:hover{ text-decoration:underline; }
  #title-badge-coords{ cursor:pointer; border-bottom:1px dashed rgba(199,208,224,.5); }
  #title-badge-coords:hover{ border-bottom-color:currentColor; }

  #coord-goto-popup{
    display:none; position:fixed; z-index:11;
    top:calc(14px + env(safe-area-inset-top) + 42px); left:50%; transform:translateX(-50%);
    width:260px; max-width:calc(100vw - 24px); padding:14px 16px;
    background:#fff; border-radius:12px; box-shadow:0 8px 32px rgba(0,0,0,.28);
    font-size:13px; line-height:1.4; color:#2c2c2e; text-align:left;
  }
  #coord-goto-popup.show{ display:block; }
  #coord-goto-popup label{ display:block; font-weight:600; margin-bottom:8px; }
  #coord-goto-popup .cgp-close{
    position:absolute; top:6px; right:8px; border:0; background:none;
    font-size:18px; line-height:1; color:#94a3b8; cursor:pointer; padding:4px;
  }
  #coord-goto-input{
    width:100%; box-sizing:border-box; padding:8px 10px; border-radius:8px;
    border:1px solid #d8dbe2; font:inherit; font-size:12.5px;
  }
  #coord-goto-input:focus{ outline:2px solid #2563eb; outline-offset:1px; }
  #coord-goto-error{
    display:none; color:#c0392b; font-size:11.5px; margin-top:7px; line-height:1.35;
  }
  #coord-goto-error.show{ display:block; }
  .cgp-actions{ display:flex; gap:8px; margin-top:12px; }
  .cgp-actions button{
    flex:1; font:inherit; font-size:12.5px; padding:8px 10px;
    border-radius:8px; cursor:pointer; transition:background .12s, opacity .12s;
  }
  .cgp-cancel{ border:1px solid #e2e2e5; background:#fff; color:#5b6472; }
  .cgp-cancel:hover{ background:#f7f7f8; }
  .cgp-ok{ border:1px solid #2563eb; background:#2563eb; color:#fff; font-weight:600; }
  .cgp-ok:hover{ background:#1d4ed8; }
  body.ui-themed #coord-goto-popup{ background:var(--ui-bg-t); color:var(--ui-fg); }

  #panel{
    position:fixed;left:14px;top:calc(var(--app-header-h) + 14px);z-index:45;width:320px;max-width:calc(100% - 28px);
    max-height:calc(100% - 90px);overflow-y:auto;display:none;background:#fff;
    border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.16);padding:0;border:0;
  }
  #panel.visible{display:block}
  #panel.collapsed{max-height:none;overflow:visible}
  #panel.collapsed #p-body{display:none}
  #panel.collapsed{height:auto !important;min-height:0 !important}
  #panel.collapsed .modal-resize, #panel.collapsed .modal-resize-left{display:none}
  #panel.collapsed .p-head{border-radius:12px}
  .p-head{
    position:sticky;top:0;background:#fff;padding:14px 16px 10px;
    border-bottom:1px solid #f0f0f0;border-radius:12px 12px 0 0;
    display:flex;justify-content:space-between;align-items:center;gap:8px;
    font-size:13px;font-weight:600;z-index:2;cursor:pointer;user-select:none;
  }
  #panel.collapsed .p-head{border-bottom:0}
  .p-head-title{display:flex;align-items:center;gap:6px;overflow:hidden}
  .p-head-actions{ display:flex; align-items:center; gap:2px; flex:none; }
  .p-arrow{
    transition:transform .15s;color:#8a94a3;font-size:11px;flex:none;
  }
  #panel.collapsed .p-arrow{transform:rotate(-90deg)}
  .p-close{
    background:none;border:0;color:#b0b0b4;font-size:18px;line-height:1;
    cursor:pointer;font-family:inherit;padding:0 2px;
  }
  .p-close:hover{color:#1c1c1e}
  .modal-drag{
    background:none;border:0;color:#b0b0b4;font-size:14px;line-height:1;
    cursor:grab;font-family:inherit;padding:0 2px;
  }
  .modal-drag:hover{color:#1c1c1e}
  .modal-drag:active{cursor:grabbing}
  body.ui-themed .modal-drag{color:var(--ui-mute)}
  body.ui-themed .modal-drag:hover{color:var(--ui-fg)}
  .p-collapse{
    background:none;border:0;color:#b0b0b4;font-size:11px;line-height:1;
    cursor:pointer;font-family:inherit;padding:0 2px;
  }
  .p-collapse:hover{color:#1c1c1e}
  body.ui-themed .p-collapse{color:var(--ui-mute)}
  body.ui-themed .p-collapse:hover{color:var(--ui-fg)}
  .p-reload{
    background:none;border:0;color:#b0b0b4;line-height:1;
    cursor:pointer;font-family:inherit;padding:0 2px;display:flex;align-items:center;
  }
  .p-reload svg{ width:14px; height:14px; display:block; }
  .p-reload:hover{color:#1c1c1e}
  body.ui-themed .p-reload{color:var(--ui-mute)}
  body.ui-themed .p-reload:hover{color:var(--ui-fg)}
  .modal-resize{
    position:absolute; right:0; bottom:0; width:18px; height:18px;
    z-index:3; cursor:nwse-resize; touch-action:none;
  }
  .modal-resize::before{
    content:''; position:absolute; right:4px; bottom:4px; width:9px; height:9px;
    background-image:
      linear-gradient(135deg, transparent 0 40%, rgba(0,0,0,.4) 40% 48%, transparent 48% 100%),
      linear-gradient(135deg, transparent 0 65%, rgba(0,0,0,.4) 65% 73%, transparent 73% 100%);
  }
  body.ui-theme-dark .modal-resize::before{
    background-image:
      linear-gradient(135deg, transparent 0 40%, rgba(255,255,255,.45) 40% 48%, transparent 48% 100%),
      linear-gradient(135deg, transparent 0 65%, rgba(255,255,255,.45) 65% 73%, transparent 73% 100%);
  }
  .modal-resize-left{
    position:absolute; left:0; bottom:0; width:18px; height:18px;
    z-index:3; cursor:nesw-resize; touch-action:none;
  }
  .modal-resize-left::before{
    content:''; position:absolute; left:4px; bottom:4px; width:9px; height:9px;
    background-image:
      linear-gradient(45deg, transparent 0 40%, rgba(0,0,0,.4) 40% 48%, transparent 48% 100%),
      linear-gradient(45deg, transparent 0 65%, rgba(0,0,0,.4) 65% 73%, transparent 73% 100%);
  }
  body.ui-theme-dark .modal-resize-left::before{
    background-image:
      linear-gradient(45deg, transparent 0 40%, rgba(255,255,255,.45) 40% 48%, transparent 48% 100%),
      linear-gradient(45deg, transparent 0 65%, rgba(255,255,255,.45) 65% 73%, transparent 73% 100%);
  }
  .p-sec{padding:12px 16px;border-bottom:1px solid #f5f5f5}
  .p-sec:last-child{border-bottom:none}
  .p-row{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 0;color:#2c2c2e}
  .p-badge{
    min-width:32px;text-align:center;padding:3px 7px;color:#fff;
    font-size:12px;font-weight:600;border-radius:6px;
  }
  .p-badge.bus{background:#34a853}.p-badge.trolley{background:#1a73e8}.p-badge.tram{background:#d93025}
  .p-dim{color:#a0a0a5;font-size:11px}
  .p-note{font-size:12px;color:#8e8e93;line-height:1.5}
  .blink{animation:bl 1.2s steps(2,start) infinite}
  @keyframes bl{to{visibility:hidden}}

  .p-title,.clr-head{
    font-size:10.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;
    color:#a0a0a5;margin:14px 0 7px;
  }
  .clr-head:first-of-type{margin-top:8px}
  .clr-sel{
    width:100%;font:inherit;font-size:13px;padding:8px 10px;color:#1c1c1e;
    border:1px solid #e2e2e5;border-radius:8px;background:#fff;cursor:pointer;
  }
  .clr-sel:focus{outline:none;border-color:#b0b0b4}
  .clr-save,.clr-refresh{
    width:100%;font:inherit;font-size:13px;padding:8px 12px;margin-top:6px;
    text-align:left;color:#1c1c1e;background:#fff;
    border:1px solid #e6e6e9;border-radius:8px;cursor:pointer;transition:background .12s;
  }
  .clr-save:hover,.clr-refresh:hover{background:rgba(66,153,225,.08);color:#2b6cb0;border-color:rgba(66,153,225,.2)}
  .danger{color:#c0392b}
  .danger:hover{background:#fdeceb}
  .row-inline{display:flex;align-items:center;gap:10px;font-size:13px;color:#4a5568;margin-top:10px}
  #info-stack{
    position:absolute; top:16px; right:14px; z-index:40;
    display:flex; flex-direction:column; gap:8px;
    width:280px; max-width:calc(100% - 28px);
    max-height:calc(100% - 30px); overflow-y:auto;
  }
  .info-card{
    background:rgba(255,255,255,.93); backdrop-filter:blur(8px);
    border-radius:10px; box-shadow:0 3px 14px rgba(0,0,0,.18);
    overflow:hidden; font-size:12px; flex:none;
  }
  .info-card-header{
    display:flex; align-items:center; justify-content:space-between;
    padding:8px 10px; cursor:pointer; font-weight:700; font-size:12.5px; color:#222;
    background:rgba(0,0,0,.03); user-select:none;
  }
  .info-card-header:hover{ background:rgba(0,0,0,.07); }
  .info-card-arrow{ transition:transform .15s; color:#8a94a3; font-size:11px; flex:none; margin-left:8px; }
  .info-card.collapsed .info-card-arrow{ transform:rotate(-90deg); }
  .info-card-body{ padding:2px 10px 10px; }
  .info-card.collapsed .info-card-body{ display:none; }
  .info-card-sub{ font-size:11px; color:#777; margin:2px 0 6px; }
  .info-sl-row{ display:flex; gap:6px; padding:4px 0; border-top:1px solid rgba(0,0,0,.07); }
  .info-sl-row:first-child{ border-top:none; }
  .info-sl-icon{ flex:none; display:flex; gap:3px; align-items:flex-start; padding-top:2px; }
  .info-sw{
    width:11px; height:11px; border-radius:2px; flex:none;
    border:1px solid rgba(0,0,0,.18); box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);
  }
  .info-sl-text b{ display:block; font-size:11.5px; }
  .info-sl-text span{ font-size:11px; color:#555; line-height:1.35; }
  .info-links{ margin-top:8px; padding-top:8px; border-top:1px solid rgba(0,0,0,.08); }
  .info-links a{
    display:block; font-size:11px; color:#1a73e8; text-decoration:none; padding:2px 0;
  }
  .info-links a:hover{ text-decoration:underline; }
  body.ui-themed .info-card{ background:var(--ui-bg-t); color:var(--ui-fg); }
  body.ui-themed .info-card-header{ color:var(--ui-fg); }

  #tb-panel-top{ margin:0 0 10px 0; padding:0 3.5%; }

  #live-panel{
    display:flex; flex-direction:column; gap:2px; padding-top:2px;
    background:none; border-top:0; border-bottom:0;
    --icon-live: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M15.914%204a1.5%201.5%200%2000-2.474-1.561l-9%209A1.5%201.5%200%20005.5%2014h4.002a.5.5%200%2001.471.666L8.086%2020a1.5%201.5%200%20002.475%201.56l9-9A1.5%201.5%200%200018.5%2010h-3.997a.5.5%200%2001-.472-.667z%22%20/%3E%3C/svg%3E');
    --icon-history: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M10%2018v-7%22%20/%3E%3Cpath%20d%3D%22M11.119%202.205a2%202%200%200%201%201.762%200l7.84%203.846A.5.5%200%200%201%2020.5%207h-17a.5.5%200%200%201-.22-.949z%22%20/%3E%3Cpath%20d%3D%22M14%2018v-7%22%20/%3E%3Cpath%20d%3D%22M18%2018v-7%22%20/%3E%3Cpath%20d%3D%22M3%2022h18%22%20/%3E%3Cpath%20d%3D%22M6%2018v-7%22%20/%3E%3C/svg%3E');
    --icon-infra: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M17%2019a1%201%200%200%201-1-1v-2a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202v2a1%201%200%200%201-1%201z%22%20/%3E%3Cpath%20d%3D%22M17%2021v-2%22%20/%3E%3Cpath%20d%3D%22M19%2014V6.5a1%201%200%200%200-7%200v11a1%201%200%200%201-7%200V10%22%20/%3E%3Cpath%20d%3D%22M21%2021v-2%22%20/%3E%3Cpath%20d%3D%22M3%205V3%22%20/%3E%3Cpath%20d%3D%22M4%2010a2%202%200%200%201-2-2V6a1%201%200%200%201%201-1h4a1%201%200%200%201%201%201v2a2%202%200%200%201-2%202z%22%20/%3E%3Cpath%20d%3D%22M7%205V3%22%20/%3E%3C/svg%3E');
    --icon-grids: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Crect%20width%3D%2218%22%20height%3D%2218%22%20x%3D%223%22%20y%3D%223%22%20rx%3D%222%22%20/%3E%3Cpath%20d%3D%22M3%209h18%22%20/%3E%3Cpath%20d%3D%22M3%2015h18%22%20/%3E%3Cpath%20d%3D%22M9%203v18%22%20/%3E%3Cpath%20d%3D%22M15%203v18%22%20/%3E%3C/svg%3E');
    --icon-geo: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20/%3E%3Cpath%20d%3D%22M12%202a14.5%2014.5%200%200%200%200%2020%2014.5%2014.5%200%200%200%200-20%22%20/%3E%3Cpath%20d%3D%22M2%2012h20%22%20/%3E%3C/svg%3E');
    --icon-satellite: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22m13.5%206.5-3.148-3.148a1.205%201.205%200%200%200-1.704%200L6.352%205.648a1.205%201.205%200%200%200%200%201.704L9.5%2010.5%22%20/%3E%3Cpath%20d%3D%22M16.5%207.5%2019%205%22%20/%3E%3Cpath%20d%3D%22m17.5%2010.5%203.148%203.148a1.205%201.205%200%200%201%200%201.704l-2.296%202.296a1.205%201.205%200%200%201-1.704%200L13.5%2014.5%22%20/%3E%3Cpath%20d%3D%22M9%2021a6%206%200%200%200-6-6%22%20/%3E%3Cpath%20d%3D%22M9.352%2010.648a1.205%201.205%200%200%200%200%201.704l2.296%202.296a1.205%201.205%200%200%200%201.704%200l4.296-4.296a1.205%201.205%200%200%200%200-1.704l-2.296-2.296a1.205%201.205%200%200%200-1.704%200z%22%20/%3E%3C/svg%3E');
    --icon-city: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M10%2012h4%22%20/%3E%3Cpath%20d%3D%22M10%208h4%22%20/%3E%3Cpath%20d%3D%22M14%2021v-3a2%202%200%200%200-4%200v3%22%20/%3E%3Cpath%20d%3D%22M6%2010H4a2%202%200%200%200-2%202v7a2%202%200%200%200%202%202h16a2%202%200%200%200%202-2V9a2%202%200%200%200-2-2h-2%22%20/%3E%3Cpath%20d%3D%22M6%2021V5a2%202%200%200%201%202-2h8a2%202%200%200%201%202%202v16%22%20/%3E%3C/svg%3E');
    --icon-nature: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M11%2020A7%207%200%200%201%209.8%206.1C15.5%205%2017%204.48%2019%202c1%202%202%204.18%202%208%200%205.5-4.78%2010-11%2010Z%22%20/%3E%3Cpath%20d%3D%22M2%2021c0-3%201.85-5.36%205.08-6C9.5%2014.52%2012%2013%2013%2012%22%20/%3E%3C/svg%3E');
  }

  .cat-block{ margin:0; }
  .cat-header{
    width:100%; display:flex; align-items:center; gap:8px;
    min-height:44px; margin:0; padding:8px 14px;
    border:0; background:none; font:inherit; font-family:inherit;
    text-align:left; cursor:pointer; transition:background .12s;
  }
  .cat-label{
    flex:1; min-width:0; font-size:13.5px; font-weight:400; color:#1f1f24;
    letter-spacing:.1px; transition:color .15s;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  }
  .cat-header::after{
    content:''; width:7px; height:7px; flex:none; margin:0 2px 0 4px;
    border-right:1.5px solid #aab0bd; border-bottom:1.5px solid #aab0bd;
    transform:rotate(45deg); transition:transform .15s, border-color .12s;
  }
  .cat-block.open .cat-header::after{ transform:rotate(-135deg); margin-top:3px; }
  .cat-block:has(.layer-btn.active) .cat-header{ background:#3A8FD6; }
  .cat-block:has(.layer-btn.active) .cat-label{ color:#fff; font-weight:600; }
  .cat-block:has(.layer-btn.active) .cat-header::after{ border-color:#fff; }
  body.ui-themed .cat-label{ color:var(--ui-fg); }
  body.ui-themed .cat-block:has(.layer-btn.active) .cat-header{ background:var(--ui-accent); }
  body.ui-themed .cat-block:has(.layer-btn.active) .cat-label{ color:var(--ui-bg); }

  #tb-sort-label{
    font-size:9.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
    color:#9a9aa0; margin:0 0 6px;
  }
  #tb-sort-row{ margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid #eef0f4; }
  .tb-sort-special{
    background:#fff !important; border:1.5px dashed #c9ccd4 !important; color:#111 !important;
  }
  .tb-sort-special:hover{ border-color:var(--sort-color,#7a7f8a) !important; color:#111 !important; }
  .tb-sort-special.on{
    background:color-mix(in srgb, var(--sort-color,#e0a622) 40%, white) !important;
    border:1.5px solid var(--sort-color,#e0a622) !important;
    color:#111 !important;
  }

  .cat-content{ display:none; }
  .cat-block.open .cat-content{
    display:flex; flex-wrap:wrap; gap:6px; align-content:flex-start;
    padding:0 0 14px; margin-top:0;
  }

  .layer-btn{
    flex:none; text-align:left; padding:6px 12px; border-radius:8px;
    border:0; background:#eef0f2; color:#4a4d57;
    font-size:11.5px; font-family:inherit; cursor:pointer; white-space:nowrap;
    transition:background .1s, color .1s;
  }
  .layer-btn:hover{ background:#e4e7eb; }
  .layer-btn-info{ margin-left:4px; opacity:.5; cursor:help; }
  .layer-btn-info:hover{ opacity:1; }
  .layer-btn.active{
    background:#3A8FD6; color:#fff; font-weight:600;
  }
  body.ui-themed .layer-btn{ background:var(--ui-soft); color:var(--ui-fg); }
  body.ui-themed .layer-btn.active{ background:#3A8FD6; color:#fff; }
  .layer-btn.heavy-locked{ opacity:.4; pointer-events:none; cursor:not-allowed; }
  body.ui-themed .layer-btn.heavy-locked{ opacity:.4; }


  .maplibregl-ctrl-attrib{font-size:11px !important}

  .sb-brand{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
  .sb-toggle{
    flex:none;width:36px;height:36px;border:1px solid #232d42;border-radius:9px;
    background:#141b2b;color:#8a97b3;font:inherit;font-size:16px;line-height:1;
    cursor:pointer;transition:all .15s;
  }
  .sb-toggle:hover{background:#1a2540;color:#c7d0e0}

  body.sb-collapsed .sidebar{width:44px;overflow:hidden}
  body.sb-collapsed .sb-title,
  body.sb-collapsed .sb-body,
  body.sb-collapsed .sb-foot{display:none}
  body.sb-collapsed .sb-mini{display:flex !important}
  body.sb-collapsed .sb-brand{padding:10px 9px;border-bottom:0}
  body.sb-collapsed .sb-toggle{transform:rotate(180deg)}
  .sb-mini{
    display:none;flex-direction:column;align-items:center;gap:2px;
    padding:8px 0;
  }
  .sb-mini button{
    width:34px;height:34px;border:0;border-radius:8px;
    background:none;color:#64748b;font-size:15px;cursor:pointer;
    transition:all .12s;display:flex;align-items:center;justify-content:center;
  }
  .sb-mini button:hover{background:rgba(66,153,225,.1);color:#2b6cb0}
  .sb-mini button.on{color:#2b6cb0;background:rgba(66,153,225,.12)}
  body.ui-themed .sb-mini button{color:var(--ui-mute)}
  body.ui-themed .sb-mini button:hover,
  body.ui-themed .sb-mini button.on{color:var(--ui-accent);background:var(--ui-soft)}
  .sidebar{transition:width .18s}

  body.ui-themed .sidebar,
  body.ui-themed #panel,
  body.ui-themed .title-badge,
  body.ui-themed .bento-card{
    background:var(--ui-bg);color:var(--ui-fg);
    border-color:var(--ui-line);
  }
  body.ui-themed .sidebar{border-right:1px solid var(--ui-line)}
  body.ui-themed .sb-brand{border-color:var(--ui-line);color:var(--ui-fg)}
  body.ui-themed .sb-foot,
  body.ui-themed .p-head,
  body.ui-themed .p-sec{border-color:var(--ui-line)}
  body.ui-themed .p-head{background:var(--ui-head-bg);color:var(--ui-fg)}
  body.ui-themed .tool{color:var(--ui-fg)}
  body.ui-themed .tool:hover{background:var(--ui-soft)}
  body.ui-themed .tool.on{background:var(--ui-soft);color:var(--ui-accent)}
  body.ui-themed .panel,
  body.ui-themed .clr-panel{
    background:var(--ui-soft);border-color:var(--ui-line);color:var(--ui-fg);
  }
  body.ui-themed .clr-head,
  body.ui-themed .p-title,
  body.ui-themed .p-dim,
  body.ui-themed .p-note,
  body.ui-themed .sb-brand small{color:var(--ui-mute)}
  body.ui-themed .sb-link{color:var(--ui-mute)}
  body.ui-themed .sb-link:hover{color:var(--ui-accent)}
  body.ui-themed .p-row,
  body.ui-themed .row-inline{color:var(--ui-fg)}
  body.ui-themed .clr-sel,
  body.ui-themed .clr-save,
  body.ui-themed .clr-refresh,
  body.ui-themed .sb-toggle{
    background:var(--ui-bg);color:var(--ui-fg);border-color:var(--ui-line);
  }
  body.ui-themed .clr-save:hover,
  body.ui-themed .clr-refresh:hover,
  body.ui-themed .sb-toggle:hover{background:var(--ui-soft)}
  body.ui-themed .clr-sel option{background:var(--ui-bg);color:var(--ui-fg)}
  body.ui-themed .p-close{color:var(--ui-mute)}
  body.ui-themed .p-close:hover{color:var(--ui-fg)}
  body.ui-themed .danger{color:var(--ui-danger)}

  .map-ctrl{
    position:absolute;right:calc(16px + env(safe-area-inset-right));top:calc(16px + env(safe-area-inset-top));z-index:56;
    display:flex;flex-direction:column;gap:6px;
  }
  .mc-btn{
    width:auto;height:auto;font:inherit;font-size:14.5px;font-weight:600;
    color:#8a97b3;background:none;backdrop-filter:none;
    border:0;border-radius:0;box-shadow:none;padding:6px;
    cursor:pointer;display:flex;align-items:center;justify-content:center;
    transition:color .12s;
  }
  .mc-btn:hover{color:#c7d0e0}
  .mc-btn svg{ width:20px; height:20px; display:block; }
  #mc-3d{ --c:#1a73e8; color:#1a73e8; }
  #mc-weather{--c:#0288d1}
  #mc-zoom{--c:#2e7d32}
  #mc-ruler{--c:#3a8fd6}
  .mc-btn.on{color:var(--c)}
  .mc-btn.dim{color:var(--c);opacity:.65}
  .mc-btn .compass{font-size:16px;display:block;transition:transform .2s}
  body.ui-themed .mc-btn{color:var(--ui-fg)}
  body.ui-themed .mc-btn:hover{color:var(--ui-accent)}
  body.ui-themed .mc-btn.on{color:var(--c)}
  body.ui-themed .mc-btn.dim{color:var(--c);opacity:.65}
  #mc-ui-theme{ font-size:15px; color:#3A8FD6; }

  .map-ctrl{align-items:flex-end}
  .auth-row{display:flex;align-items:center;gap:8px;padding:6px 0}
  .auth-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover}
  .auth-name{font-size:13px;color:#4a5568;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .auth-out{border:0;background:none;color:#94a3b8;font-size:14px;cursor:pointer;padding:4px}
  .auth-out:hover{color:#ef4444}
  body.ui-themed .auth-name{color:var(--ui-fg)}
  body.ui-themed .auth-out{color:var(--ui-mute)}
  .auth-tg-btn, .auth-yandex-btn{
    display:inline-flex; align-items:center; gap:6px; margin-top:6px;
    padding:6px 10px; border-radius:10px; font:inherit; font-size:11.5px;
    font-weight:600; color:#fff; text-decoration:none; border:0; cursor:pointer;
    width:100%; box-sizing:border-box; justify-content:center; white-space:nowrap;
  }
  .auth-tg-btn{ background:#29a9eb; }
  .auth-tg-btn:hover{ background:#1f92cf; }
  .auth-yandex-btn{ background:#fc3f1d; margin-top:8px; }
  .auth-yandex-btn:hover{ background:#e2350f; }
  .account-add-btn{
    display:flex; align-items:center; justify-content:center; gap:6px;
    width:100%; box-sizing:border-box; margin-top:10px; padding:9px 10px;
    border:0; border-radius:10px; font:inherit; font-size:12.5px; font-weight:700;
    color:#fff; background:#2962ff; cursor:pointer;
    box-shadow:0 2px 10px rgba(41,98,255,.4); transition:background .12s, transform .1s;
  }
  .account-add-btn:hover{ background:#1948c9; }
  .account-add-btn:active{ transform:scale(.97); }
  .account-add-btn.on{ background:#c0392b; box-shadow:0 2px 10px rgba(192,57,43,.4); }
  .account-add-btn.on:hover{ background:#a93226; }
  #admin-account-tools{ margin-top:14px; padding-top:10px; border-top:1px solid #eef0f4; }
  body.ui-themed #admin-account-tools{ border-color:var(--ui-line); }
  .admin-tool-ico{ display:inline-block; width:12px; text-align:center; font-weight:700; }
  #taibreak-add-btn.on{ color:#e0546a; font-weight:700; }
  body.ui-themed #taibreak-add-btn.on{ color:#e0546a; }
  .auth-tg-ico{
    width:14px; height:14px; flex:none; background:#fff;
    -webkit-mask:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cline%20x1%3D%2222%22%20y1%3D%222%22%20x2%3D%2211%22%20y2%3D%2213%22/%3E%3Cpolygon%20points%3D%2222%202%2015%2022%2011%2013%202%209%22/%3E%3C/svg%3E') center/contain no-repeat;
    mask:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cline%20x1%3D%2222%22%20y1%3D%222%22%20x2%3D%2211%22%20y2%3D%2213%22/%3E%3Cpolygon%20points%3D%2222%202%2015%2022%2011%2013%202%209%22/%3E%3C/svg%3E') center/contain no-repeat;
  }

  .ui-toggle{
    display:flex;align-items:center;gap:8px;font-size:12.5px;color:#8a97b3;
    padding:8px 0 2px;cursor:pointer;user-select:none;
  }
  .ui-toggle input{width:14px;height:14px;cursor:pointer;accent-color:#3a8fd6}
  body.ui-themed .ui-toggle{color:var(--ui-mute)}
  body.ui-themed .ui-toggle input{accent-color:var(--ui-accent)}

  @media(max-width:640px){
    .sidebar{width:212px}
    #panel{width:calc(100% - 28px);left:8px}
    body.sb-collapsed #panel{width:calc(100% - 60px)}
  }
  #scale-bar{
    position:fixed; bottom:calc(12px + env(safe-area-inset-bottom)); right:calc(14px + env(safe-area-inset-right));
    z-index:55; display:flex; flex-direction:column; align-items:flex-end;
    gap:2px; pointer-events:none; user-select:none;
  }
  #map-info{
    display:flex; align-items:center; gap:6px; pointer-events:auto;
    font-size:11px; font-weight:500; color:rgba(20,20,20,.85);
    background:rgba(255,255,255,.78); backdrop-filter:blur(4px);
    padding:3px 10px; border-radius:8px;
    box-shadow:0 1px 4px rgba(0,0,0,.12);
    white-space:nowrap; max-width:380px;
    transition:opacity .3s;
  }
  #map-info.loading{ opacity:.5; }
  #map-info .mi-sep{ color:rgba(0,0,0,.2); margin:0 1px; }
  body.ui-themed #map-info{ background:var(--ui-bg-t); color:var(--ui-fg); }
  #scale-line{
    display:flex; width:100px; height:6px;
    border:1px solid rgba(20,20,20,.85);
    box-shadow:0 0 0 1px rgba(255,255,255,.6) inset;
    overflow:hidden;
  }
  #scale-line span{ flex:1 1 20%; background:#fff; }
  #scale-line span:nth-child(odd){ background:#1a1a1a; }
  #scale-text{
    font-size:12px; font-weight:600; color:rgba(20,20,20,.85);
    background:rgba(255,255,255,.75); backdrop-filter:blur(4px);
    padding:1px 8px; border-radius:6px; cursor:pointer; pointer-events:auto;
    box-shadow:0 1px 3px rgba(0,0,0,.15);
  }
  #scale-text:hover{ background:rgba(255,255,255,.92); }
  body.ui-themed #scale-text{ background:var(--ui-bg-t); color:var(--ui-fg); }
  #ruler-readout{
    position:fixed; top:calc(var(--app-header-h) + 62px); left:50%; transform:translateX(-50%);
    z-index:56; display:flex; align-items:center; gap:6px;
    background:rgba(255,255,255,.9); backdrop-filter:blur(6px);
    padding:5px 8px 5px 12px; border-radius:20px; box-shadow:0 2px 10px rgba(0,0,0,.18);
    font-size:12.5px; font-weight:600; color:rgba(20,20,20,.88);
  }
  #ruler-readout .ruler-value{ cursor:pointer; white-space:nowrap; }
  #ruler-readout .ruler-value:hover{ text-decoration:underline; }
  #ruler-readout .ruler-clear{
    border:0; background:#eef0f2; color:#4a4d57; width:20px; height:20px;
    border-radius:50%; font-size:14px; line-height:1; cursor:pointer;
    display:flex; align-items:center; justify-content:center; padding:0;
  }
  #ruler-readout .ruler-clear:hover{ background:#e4e7eb; }
  body.ui-themed #ruler-readout{ background:var(--ui-bg-t); color:var(--ui-fg); }
  body.ui-themed #ruler-readout .ruler-clear{ background:var(--ui-soft); color:var(--ui-fg); }
  @media(max-width:640px), (max-height:430px){
    #tb-random-btn{ padding:11px 16px; font-size:14px; }
    #tb-travel{ bottom:calc(52px + env(safe-area-inset-bottom)); gap:6px; }
    #scale-bar{ bottom:calc(8px + env(safe-area-inset-bottom)); }
    #map-info{ display:none; }
  }

  #depth-slider-wrap{
    position:fixed; bottom:52px; left:50%; transform:translateX(-50%);
    z-index:56; display:none; flex-direction:column; align-items:center; gap:3px;
    width:min(440px, calc(100vw - 32px));
    background:rgba(255,255,255,.80); backdrop-filter:blur(6px);
    padding:7px 14px 8px; border-radius:12px;
    box-shadow:0 2px 10px rgba(0,0,0,.18); user-select:none;
  }
  #depth-slider-label{
    font-size:12px; font-weight:700; color:rgba(20,20,20,.88);
    font-variant-numeric:tabular-nums; letter-spacing:.2px;
  }
  #depth-slider{
    -webkit-appearance:none; appearance:none;
    width:100%; margin:8px 0 4px; cursor:grab; background:transparent;
  }
  #depth-slider:active{ cursor:grabbing; }
  #depth-slider::-webkit-slider-runnable-track{
    height:5px; border-radius:3px;
    background:linear-gradient(90deg, #671f1f, #f0eae6, #1f3f7a);
  }
  #depth-slider::-webkit-slider-thumb{
    -webkit-appearance:none; margin-top:-5px;
    width:15px; height:15px; border-radius:50%;
    background:#fff; border:2px solid #333; box-shadow:0 1px 3px rgba(0,0,0,.4);
  }
  #depth-slider::-moz-range-track{
    height:5px; border-radius:3px;
    background:linear-gradient(90deg, #671f1f, #f0eae6, #1f3f7a);
  }
  #depth-slider::-moz-range-thumb{
    width:15px; height:15px; border-radius:50%;
    background:#fff; border:2px solid #333; box-shadow:0 1px 3px rgba(0,0,0,.4);
  }
  body.ui-themed #depth-slider-wrap{ background:var(--ui-bg-t); }
  body.ui-themed #depth-slider-label{ color:var(--ui-fg); }

  #wiki-hover-card{
    position:fixed; display:none; pointer-events:auto;
    left:14px; top:calc(var(--app-header-h) + 14px); z-index:65;
    width:416px; max-width:calc(100vw - 28px); max-height:calc(100vh - var(--app-header-h) - 28px);
    overflow-y:auto;
    background:#fff; border-radius:12px;
    box-shadow:0 4px 24px rgba(0,0,0,.16); font-size:12px; color:#222;
    --icon-pano: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m15.194%2013.707%203.814%201.86-1.86%203.814%22%20/%3E%3Cpath%20d%3D%22M16.47214%207.52786%20A%205%2010%200%201%200%2013%2021.79796%22%20/%3E%3Cpath%20d%3D%22M21.79796%2011%20A%2010%205%200%201%200%2019%2015.57071%22%20/%3E%3C/svg%3E');
    --icon-zoom: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228%22%20/%3E%3Cline%20x1%3D%2221%22%20x2%3D%2216.65%22%20y1%3D%2221%22%20y2%3D%2216.65%22%20/%3E%3Cline%20x1%3D%2211%22%20x2%3D%2211%22%20y1%3D%228%22%20y2%3D%2214%22%20/%3E%3Cline%20x1%3D%228%22%20x2%3D%2214%22%20y1%3D%2211%22%20y2%3D%2211%22%20/%3E%3C/svg%3E');
  }
  #wiki-hover-card .whc-thumb{ width:100%; height:132px; object-fit:cover; display:block; flex:0 0 auto; }
  #wiki-hover-card .whc-thumb.whc-thumb-lg{ height:396px; }
  #wiki-hover-card .whc-thumb-wrap{ position:relative; flex:0 0 auto; }
  #wiki-hover-card .whc-thumb-wrap.whc-thumb-wrap--sticky{ position:sticky; top:0; z-index:0; }
  #wiki-hover-card .whc-thumb-wrap--sticky ~ .whc-body{ position:relative; z-index:1; background:var(--ui-bg-t, #fff); }
  #wiki-hover-card .whc-zoom-badge{
    position:absolute; right:7px; bottom:7px; z-index:2;
    width:24px; height:24px; border-radius:50%;
    background:rgba(15,23,42,.72); backdrop-filter:blur(3px);
    border:1px solid rgba(255,255,255,.25);
    display:flex; align-items:center; justify-content:center;
    pointer-events:none;
  }
  #wiki-hover-card .whc-zoom-badge .whc-zoom-ico{
    width:13px; height:13px; background:#fff;
    -webkit-mask:var(--icon-zoom) center/contain no-repeat; mask:var(--icon-zoom) center/contain no-repeat;
  }
  #wiki-hover-card .whc-pano{
    position:static; margin:8px 10px 2px; display:flex; justify-content:center;
    align-items:center; gap:6px;
    padding:8px 14px; border-radius:20px;
    background:linear-gradient(135deg,#0ea5e9,#2563eb); border:1px solid transparent;
    color:#fff; font-size:12.5px; font-weight:600; text-decoration:none;
    box-shadow:0 2px 8px rgba(37,99,235,.35);
    transition:filter .15s, transform .1s;
  }
  #wiki-hover-card .whc-pano:hover{ filter:brightness(1.08); }
  #wiki-hover-card .whc-pano:active{ transform:scale(.97); }
  #wiki-hover-card .whc-pano .whc-pano-ico{
    width:15px; height:15px; flex:none;
    background:currentColor;
    -webkit-mask:var(--icon-pano) center/contain no-repeat; mask:var(--icon-pano) center/contain no-repeat;
  }
  #wiki-hover-card .whc-content{
    display:flex; flex-direction:column; width:100%; height:auto;
  }
  #wiki-hover-card .whc-body{
    padding:8px 10px 9px; flex:1 1 auto; min-height:0; overflow-y:auto;
  }
  #wiki-hover-card .whc-body b{ font-size:12.5px; display:block; margin-bottom:3px; }
  #wiki-hover-card .whc-extract{
    color:#555; line-height:1.35; display:-webkit-box;
    -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden;
    white-space:pre-line;
  }
  #wiki-hover-card.whc-resized .whc-extract{ -webkit-line-clamp:unset; }
  #wiki-hover-card .tb-teaser-text{ color:#333; font-size:12.5px; line-height:1.45; }
  #wiki-hover-card .tb-read-full{
    margin-top:6px; padding:0; border:0; background:none; cursor:pointer;
    font:inherit; font-size:11.5px; font-weight:600; color:#2563eb;
  }
  #wiki-hover-card .tb-read-full:hover{ text-decoration:underline; }
  body.ui-theme-dark #wiki-hover-card .tb-read-full{ color:#38bdf8; }
  body.ui-themed #wiki-hover-card .whc-extract.tb-teaser-text{ color:var(--ui-fg); }
  #wiki-hover-card .whc-inline-link{ color:#2563eb; text-decoration:underline; }
  body.ui-theme-dark #wiki-hover-card .whc-inline-link{ color:#38bdf8; }
  #wiki-hover-card .whc-loading{ padding:9px 10px; color:#888; }
  #wiki-hover-card .whc-note{
    margin-top:8px; padding:7px 8px; background:#f5f0ff; border-radius:6px;
    border-left:3px solid #8b5cf6;
  }
  #wiki-hover-card .whc-note a{ display:block; font-size:10.5px; color:#6d28d9;
    text-decoration:none; margin-bottom:3px; }
  #wiki-hover-card .whc-note a:hover{ text-decoration:underline; }
  #wiki-hover-card .whc-note div{ font-size:12px; color:#3a2e52; line-height:1.35; }
  .whc-tags{ display:flex; flex-wrap:wrap; gap:4px; margin-top:7px; }
  .whc-tag{
    font-size:10px; padding:2px 7px; border-radius:20px;
    color:#3a3a3e; white-space:nowrap; letter-spacing:.2px;
  }
  .tb-tag-chip{
    display:inline-flex; align-items:center; gap:4px;
    font-size:10px; padding:2px 7px; border-radius:20px; border:0;
    background:color-mix(in srgb, var(--tag-color,#c7cbd1) 60%, white);
    cursor:pointer; font-family:inherit;
    color:#111; font-weight:400;
    transition:background .12s, color .12s, transform .1s;
  }
  .tb-tag-chip:hover{ filter:brightness(.97); }
  .tb-tag-chip:active{ transform:scale(.96); }
  .tb-tag-chip.off{
    background:#eef0f2; color:#111; font-weight:400;
  }
  .tb-tag-chip.off:hover{ background:#e4e7eb; }
  .tb-tag-add{
    background:#fff !important; border:1.5px dashed #c3c7ce !important;
    color:#111 !important;
  }
  .tb-tag-add:hover{ border-color:#8a8f98 !important; color:#111 !important; }
  #tb-adult-confirm{
    display:none; position:fixed; z-index:82;
    left:50%; top:50%; transform:translate(-50%,-50%);
    max-width:300px; padding:18px 20px;
    background:#fff; border-radius:14px;
    box-shadow:0 8px 32px rgba(0,0,0,.28);
    font-size:13px; line-height:1.5; color:#2c2c2e; text-align:left;
  }
  #tb-adult-confirm.show{ display:block; }
  #tb-adult-confirm .tbac-close{
    position:absolute; top:6px; right:8px; border:0; background:none;
    font-size:18px; line-height:1; color:#94a3b8; cursor:pointer; padding:4px;
  }
  #tb-adult-confirm .tbac-check{
    display:flex; align-items:flex-start; gap:8px; margin-top:12px;
    font-size:12.5px; color:#3a3a3e; cursor:pointer; user-select:none;
  }
  #tb-adult-confirm .tbac-check input{ margin:2px 0 0; cursor:pointer; flex:none; }
  #tb-adult-confirm .tbac-actions{ display:flex; gap:8px; margin-top:14px; }
  #tb-adult-confirm .tbac-actions button{
    flex:1; font:inherit; font-size:12.5px; padding:8px 10px;
    border-radius:8px; cursor:pointer; transition:background .12s, opacity .12s;
  }
  #tb-adult-confirm .tbac-cancel{ border:1px solid #e2e2e5; background:#fff; color:#5b6472; }
  #tb-adult-confirm .tbac-cancel:hover{ background:#f7f7f8; }
  #tb-adult-confirm .tbac-ok{
    border:1px solid #e07a7a; background:#e07a7a; color:#fff; font-weight:600;
  }
  #tb-adult-confirm .tbac-ok:disabled{
    opacity:.4; cursor:not-allowed;
  }
  #tb-adult-confirm .tbac-ok:not(:disabled):hover{ background:#d96868; }
  #tb-adult-backdrop{
    display:none; position:fixed; inset:0; z-index:81; background:rgba(0,0,0,.32);
  }
  #tb-adult-backdrop.show{ display:block; }
  body.ui-themed #tb-adult-confirm{ background:var(--ui-bg-t); color:var(--ui-fg); }
  #wiki-hover-card .whc-close, #wiki-hover-card .whc-drag{
    position:absolute; top:6px; width:22px; height:22px; z-index:1;
    border:0; border-radius:50%; background:rgba(0,0,0,.45); color:#fff;
    font-size:13px; line-height:1; cursor:pointer; display:flex;
    align-items:center; justify-content:center; padding:0;
  }
  #wiki-hover-card .whc-close{ right:6px; font-size:15px; }
  #wiki-hover-card .whc-drag{ right:32px; cursor:grab; touch-action:none; }
  #wiki-hover-card .whc-drag:active{ cursor:grabbing; }
  #wiki-hover-card .whc-close:hover, #wiki-hover-card .whc-drag:hover{ background:rgba(0,0,0,.65); }
  #wiki-hover-card .whc-collapse{ position:absolute; top:6px; right:58px; width:22px; height:22px; z-index:1;
    border:0; border-radius:50%; background:rgba(0,0,0,.45); color:#fff;
    font-size:12px; line-height:1; cursor:pointer; display:flex;
    align-items:center; justify-content:center; padding:0; }
  #wiki-hover-card .whc-collapse:hover{ background:rgba(0,0,0,.65); }
  #wiki-hover-card.whc-collapsed{ width:auto; height:auto; }
  #wiki-hover-card.whc-collapsed .whc-content,
  #wiki-hover-card.whc-collapsed .whc-resize{ display:none; }
  #wiki-hover-card .whc-collapsed-label{ display:none; }
  #wiki-hover-card.whc-collapsed .whc-collapsed-label{
    display:block; cursor:pointer; padding:9px 84px 9px 12px;
    font-size:12.5px; font-weight:600; color:#222;
    max-width:220px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  #wiki-hover-card .whc-resize{
    position:absolute; right:0; bottom:0; width:18px; height:18px;
    z-index:1; cursor:nwse-resize; touch-action:none;
  }
  #wiki-hover-card .whc-resize::before{
    content:''; position:absolute; right:4px; bottom:4px; width:9px; height:9px;
    background-image:
      linear-gradient(135deg, transparent 0 40%, rgba(0,0,0,.4) 40% 48%, transparent 48% 100%),
      linear-gradient(135deg, transparent 0 65%, rgba(0,0,0,.4) 65% 73%, transparent 73% 100%);
  }
  #wiki-hover-card .whc-resize-left{
    position:absolute; left:0; bottom:0; width:18px; height:18px;
    z-index:1; cursor:nesw-resize; touch-action:none;
  }
  #wiki-hover-card .whc-resize-left::before{
    content:''; position:absolute; left:4px; bottom:4px; width:9px; height:9px;
    background-image:
      linear-gradient(45deg, transparent 0 40%, rgba(0,0,0,.4) 40% 48%, transparent 48% 100%),
      linear-gradient(45deg, transparent 0 65%, rgba(0,0,0,.4) 65% 73%, transparent 73% 100%);
  }
  #wiki-hover-card.whc-collapsed .whc-resize-left{ display:none; }

  body.ui-themed #wiki-hover-card{ background:var(--ui-bg-t); color:var(--ui-fg); }
  body.ui-themed #wiki-hover-card .whc-extract{ color:var(--ui-mute); }
  body.ui-themed #wiki-hover-card .whc-loading{ color:var(--ui-mute); }
  body.ui-themed #wiki-hover-card .whc-resize::before{
    background-image:
      linear-gradient(135deg, transparent 0 40%, rgba(255,255,255,.45) 40% 48%, transparent 48% 100%),
      linear-gradient(135deg, transparent 0 65%, rgba(255,255,255,.45) 65% 73%, transparent 73% 100%);
  }
  body.ui-themed #wiki-hover-card .whc-resize-left::before{
    background-image:
      linear-gradient(45deg, transparent 0 40%, rgba(255,255,255,.45) 40% 48%, transparent 48% 100%),
      linear-gradient(45deg, transparent 0 65%, rgba(255,255,255,.45) 65% 73%, transparent 73% 100%);
  }
  body.ui-theme-dark #wiki-hover-card .whc-article-link{ color:#38bdf8; }

  .qth-help{
    width:20px;height:20px;border-radius:50%;border:1px solid #94a3b8;
    background:rgba(255,255,255,.7);color:#64748b;font-size:12px;font-weight:700;
    cursor:pointer;flex:none;display:flex;align-items:center;justify-content:center;
    transition:all .12s;
  }
  .qth-help:hover{background:#3b82f6;border-color:#3b82f6;color:#fff}
  body.ui-themed .qth-help{background:var(--ui-bg);border-color:var(--ui-line);color:var(--ui-fg)}

  #live-legend{ left:14px; top:calc(var(--app-header-h) + 14px); }
  #live-legend-body{ padding:10px 14px 14px; }
  #live-legend .sl-sub{font-size:12px;color:#94a3b8;margin-bottom:10px}
  body.ui-themed #live-legend .sl-sub{color:var(--ui-mute)}
  #live-legend .sl-row{padding:7px 0;border-bottom:1px solid rgba(0,0,0,.06)}
  body.ui-themed #live-legend .sl-row{border-bottom-color:var(--ui-line)}
  #live-legend .sl-text b{display:block;font-size:13px}
  #live-legend .sl-text span{font-size:12px;color:#64748b}
  body.ui-themed #live-legend .sl-text span{color:var(--ui-mute)}
  #live-legend .sl-close{
    margin-top:14px;width:100%;padding:9px;border:0;border-radius:9px;
    background:#3b82f6;color:#fff;font-size:13px;font-weight:600;cursor:pointer;
  }

  #utc-clock{
    position:fixed; top:56px; left:50%; transform:translateX(-50%);
    z-index:60; background:rgba(20,20,30,.82); backdrop-filter:blur(8px);
    color:#e8f0ff; font-family:'Courier New',monospace; font-size:15px;
    font-weight:700; letter-spacing:1px; padding:6px 16px; border-radius:10px;
    box-shadow:0 2px 10px rgba(0,0,0,.25); pointer-events:none;
  }
  body.ui-themed #utc-clock{background:var(--ui-bg-t);color:var(--ui-fg)}

.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.whc-content:has(.tb-partial-flag) button,.whc-content:has(.tb-partial-flag) .popup-edit-btn{pointer-events:none;opacity:.55}
@font-face {
  font-family: 'Noto Color Emoji';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Noto Color Emoji'), local('NotoColorEmoji'), url(/lib/fonts/noto-emoji-0.woff2) format('woff2');
  unicode-range: U+1f1e6-1f1ff;
}
@font-face {
  font-family: 'Noto Color Emoji';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Noto Color Emoji'), local('NotoColorEmoji'), url(/lib/fonts/noto-emoji-1.woff2) format('woff2');
  unicode-range: U+200d, U+2620, U+26a7, U+fe0f, U+1f308, U+1f38c, U+1f3c1, U+1f3f3-1f3f4, U+1f6a9, U+e0062-e0063, U+e0065, U+e0067, U+e006c, U+e006e, U+e0073-e0074, U+e0077, U+e007f;
}
@font-face {
  font-family: 'Noto Color Emoji';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Noto Color Emoji'), local('NotoColorEmoji'), url(/lib/fonts/noto-emoji-2.woff2) format('woff2');
  unicode-range: U+23, U+2a, U+30-39, U+a9, U+ae, U+200d, U+203c, U+2049, U+20e3, U+2122, U+2139, U+2194-2199, U+21a9-21aa, U+23cf, U+23e9-23ef, U+23f8-23fa, U+24c2, U+25aa-25ab, U+25b6, U+25c0, U+25fb-25fe, U+2611, U+2622-2623, U+2626, U+262a, U+262e-262f, U+2638, U+2640, U+2642, U+2648-2653, U+2660, U+2663, U+2665-2666, U+2668, U+267b, U+267e-267f, U+2695, U+269b-269c, U+26a0, U+26a7, U+26aa-26ab, U+26ce, U+26d4, U+2705, U+2714, U+2716, U+271d, U+2721, U+2733-2734, U+2747, U+274c, U+274e, U+2753-2755, U+2757, U+2764, U+2795-2797, U+27a1, U+27b0, U+27bf, U+2934-2935, U+2b05-2b07, U+2b1b-2b1c, U+2b55, U+3030, U+303d, U+3297, U+3299, U+fe0f, U+1f170-1f171, U+1f17e-1f17f, U+1f18e, U+1f191-1f19a, U+1f201-1f202, U+1f21a, U+1f22f, U+1f232-1f23a, U+1f250-1f251, U+1f310, U+1f3a6, U+1f3b5-1f3b6, U+1f3bc, U+1f3e7, U+1f441, U+1f499-1f49c, U+1f49f-1f4a0, U+1f4ac-1f4ad, U+1f4b1-1f4b2, U+1f4b9, U+1f4db, U+1f4f2-1f4f6, U+1f500-1f507, U+1f515, U+1f518-1f524, U+1f52f-1f53d, U+1f549, U+1f54e, U+1f5a4, U+1f5e8, U+1f5ef, U+1f6ab, U+1f6ad-1f6b1, U+1f6b3, U+1f6b7-1f6bc, U+1f6be, U+1f6c2-1f6c5, U+1f6d0-1f6d1, U+1f6d7, U+1f6dc, U+1f7e0-1f7eb, U+1f7f0, U+1f90d-1f90e, U+1f9d1-1f9d2, U+1f9e1, U+1fa75-1fa77, U+1faaf;
}
@font-face {
  font-family: 'Noto Color Emoji';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Noto Color Emoji'), local('NotoColorEmoji'), url(/lib/fonts/noto-emoji-3.woff2) format('woff2');
  unicode-range: U+200d, U+231a-231b, U+2328, U+23f0-23f3, U+2602, U+260e, U+2692, U+2694, U+2696-2697, U+2699, U+26b0-26b1, U+26cf, U+26d1, U+26d3, U+2702, U+2709, U+270f, U+2712, U+fe0f, U+1f302, U+1f321, U+1f392-1f393, U+1f3a9, U+1f3bd, U+1f3ee, U+1f3f7, U+1f3fa, U+1f451-1f462, U+1f484, U+1f489-1f48a, U+1f48c-1f48e, U+1f4a1, U+1f4a3, U+1f4a5, U+1f4b0, U+1f4b3-1f4b8, U+1f4bb-1f4da, U+1f4dc-1f4f1, U+1f4ff, U+1f508-1f514, U+1f516-1f517, U+1f526-1f529, U+1f52c-1f52e, U+1f550-1f567, U+1f56f-1f570, U+1f576, U+1f587, U+1f58a-1f58d, U+1f5a5, U+1f5a8, U+1f5b1-1f5b2, U+1f5c2-1f5c4, U+1f5d1-1f5d3, U+1f5dc-1f5de, U+1f5e1, U+1f5f3, U+1f6aa, U+1f6ac, U+1f6bd, U+1f6bf, U+1f6c1, U+1f6cb, U+1f6cd-1f6cf, U+1f6d2, U+1f6e0-1f6e1, U+1f6f0, U+1f97b-1f97f, U+1f9af, U+1f9ba, U+1f9e2-1f9e6, U+1f9ea-1f9ec, U+1f9ee-1f9f4, U+1f9f7-1f9ff, U+1fa71-1fa74, U+1fa79-1fa7b, U+1fa86, U+1fa8e-1fa8f, U+1fa91-1fa93, U+1fa96, U+1fa99-1faa0, U+1faa2-1faa7, U+1faaa-1faae;
}
@font-face {
  font-family: 'Noto Color Emoji';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Noto Color Emoji'), local('NotoColorEmoji'), url(/lib/fonts/noto-emoji-4.woff2) format('woff2');
  unicode-range: U+265f, U+26bd-26be, U+26f3, U+26f8, U+fe0f, U+1f004, U+1f0cf, U+1f380-1f384, U+1f386-1f38b, U+1f38d-1f391, U+1f396-1f397, U+1f399-1f39b, U+1f39e-1f39f, U+1f3a3-1f3a5, U+1f3a7-1f3a9, U+1f3ab-1f3b4, U+1f3b7-1f3bb, U+1f3bd-1f3c0, U+1f3c5-1f3c6, U+1f3c8-1f3c9, U+1f3cf-1f3d3, U+1f3f8-1f3f9, U+1f47e, U+1f4e2, U+1f4f7-1f4fd, U+1f52b, U+1f579, U+1f58c-1f58d, U+1f5bc, U+1f6f7, U+1f6f9, U+1f6fc, U+1f93f, U+1f941, U+1f945, U+1f947-1f94f, U+1f9e7-1f9e9, U+1f9f5-1f9f6, U+1fa70-1fa71, U+1fa80-1fa81, U+1fa83-1fa85, U+1fa87-1fa8a, U+1fa94-1fa95, U+1fa97-1fa98, U+1faa1, U+1faa9, U+1fadf;
}
@font-face {
  font-family: 'Noto Color Emoji';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Noto Color Emoji'), local('NotoColorEmoji'), url(/lib/fonts/noto-emoji-5.woff2) format('woff2');
  unicode-range: U+2693, U+26e9-26ea, U+26f1-26f2, U+26f4-26f5, U+26fa, U+26fd, U+2708, U+fe0f, U+1f301, U+1f303, U+1f306-1f307, U+1f309, U+1f310, U+1f3a0-1f3a2, U+1f3aa, U+1f3cd-1f3ce, U+1f3d5, U+1f3d7-1f3db, U+1f3df-1f3e6, U+1f3e8-1f3ed, U+1f3ef-1f3f0, U+1f488, U+1f492, U+1f4ba, U+1f54b-1f54d, U+1f5fa-1f5ff, U+1f680-1f6a2, U+1f6a4-1f6a8, U+1f6b2, U+1f6d1, U+1f6d5-1f6d6, U+1f6dd-1f6df, U+1f6e2-1f6e5, U+1f6e9, U+1f6eb-1f6ec, U+1f6f3-1f6f6, U+1f6f8, U+1f6fa-1f6fb, U+1f9bc-1f9bd, U+1f9ed, U+1f9f3, U+1fa7c;
}
@font-face {
  font-family: 'Noto Color Emoji';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Noto Color Emoji'), local('NotoColorEmoji'), url(/lib/fonts/noto-emoji-6.woff2) format('woff2');
  unicode-range: U+200d, U+2615, U+fe0f, U+1f32d-1f330, U+1f336, U+1f33d, U+1f344-1f37f, U+1f382, U+1f52a, U+1f7e9, U+1f7eb, U+1f942-1f944, U+1f950-1f96f, U+1f99e, U+1f9aa, U+1f9c0-1f9cb, U+1fad0-1fadc;
}
@font-face {
  font-family: 'Noto Color Emoji';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Noto Color Emoji'), local('NotoColorEmoji'), url(/lib/fonts/noto-emoji-7.woff2) format('woff2');
  unicode-range: U+200d, U+2600-2601, U+2603-2604, U+2614, U+2618, U+26a1, U+26c4-26c5, U+26c8, U+26f0, U+2728, U+2744, U+2b1b, U+2b50, U+fe0f, U+1f300, U+1f304-1f305, U+1f308, U+1f30a-1f30f, U+1f311-1f321, U+1f324-1f32c, U+1f331-1f335, U+1f337-1f33c, U+1f33e-1f344, U+1f3d4, U+1f3d6, U+1f3dc-1f3de, U+1f3f5, U+1f400-1f43f, U+1f490, U+1f4a7, U+1f4ae, U+1f525, U+1f54a, U+1f573, U+1f577-1f578, U+1f648-1f64a, U+1f6d8, U+1f940, U+1f980-1f9ae, U+1f9ba, U+1fa90, U+1faa8, U+1fab0-1fabf, U+1facd-1facf, U+1fae7;
}
@font-face {
  font-family: 'Noto Color Emoji';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Noto Color Emoji'), local('NotoColorEmoji'), url(/lib/fonts/noto-emoji-8.woff2) format('woff2');
  unicode-range: U+200d, U+2640, U+2642, U+2695-2696, U+26f7, U+26f9, U+2708, U+2764, U+27a1, U+fe0f, U+1f33e, U+1f373, U+1f37c, U+1f384-1f385, U+1f393, U+1f3a4, U+1f3a8, U+1f3c2-1f3c4, U+1f3c7, U+1f3ca-1f3cc, U+1f3eb, U+1f3ed, U+1f3fb-1f3ff, U+1f430, U+1f466-1f469, U+1f46b-1f478, U+1f47c, U+1f481-1f483, U+1f486-1f487, U+1f48b, U+1f48f, U+1f491, U+1f4bb-1f4bc, U+1f527, U+1f52c, U+1f574-1f575, U+1f57a, U+1f645-1f647, U+1f64b, U+1f64d-1f64e, U+1f680, U+1f692, U+1f6a3, U+1f6b4-1f6b6, U+1f6c0, U+1f6cc, U+1f91d, U+1f926, U+1f930-1f931, U+1f934-1f93a, U+1f93c-1f93e, U+1f977, U+1f9af-1f9b3, U+1f9b8-1f9b9, U+1f9bc-1f9bd, U+1f9cc-1f9cf, U+1f9d1-1f9df, U+1fa70, U+1fa82, U+1fac3-1fac5, U+1fac8, U+1faef;
}
@font-face {
  font-family: 'Noto Color Emoji';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Noto Color Emoji'), local('NotoColorEmoji'), url(/lib/fonts/noto-emoji-9.woff2) format('woff2');
  unicode-range: U+200d, U+2194-2195, U+2603, U+261d, U+2620, U+2639-263a, U+2665, U+26a1, U+26c4, U+270a-270d, U+2728, U+2763-2764, U+2b50, U+fe0f, U+1f31a-1f31f, U+1f32b, U+1f389-1f38a, U+1f3fb-1f3ff, U+1f440-1f450, U+1f463-1f465, U+1f479-1f47b, U+1f47d-1f480, U+1f485, U+1f48b-1f48c, U+1f493-1f49f, U+1f4a2, U+1f4a4-1f4a6, U+1f4a8-1f4ab, U+1f4af, U+1f525, U+1f573, U+1f590, U+1f595-1f596, U+1f5a4, U+1f5e3, U+1f600-1f644, U+1f648-1f64a, U+1f64c, U+1f64f, U+1f90c-1f925, U+1f927-1f92f, U+1f932-1f933, U+1f970-1f976, U+1f978-1f97a, U+1f9a0, U+1f9b4-1f9b7, U+1f9bb, U+1f9be-1f9bf, U+1f9d0, U+1f9e0-1f9e1, U+1fa75-1fa79, U+1fac0-1fac2, U+1fac6, U+1fae0-1fae6, U+1fae8-1faea, U+1faef-1fafa;
}
@font-face {
  font-family: 'Noto Color Emoji';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Noto Color Emoji'), local('NotoColorEmoji'), url(/lib/fonts/noto-emoji-10.woff2) format('woff2');
  unicode-range: U+1f6d9, U+1fa8b-1fa8d, U+1facc, U+1fadd, U+1faeb;
}
body {
  --google-font-color-notocoloremoji:colrv1;
}
#wiki-hover-card .place-title{ font-size:15px; font-weight:700; margin:0 0 6px; line-height:1.3; }
#wiki-hover-card .place-tags{ font-size:11px; color:#8a8f98; margin-bottom:8px; }
#wiki-hover-card .place-nearby h2{ font-size:12px; font-weight:700; margin:12px 0 4px; }
#wiki-hover-card .place-nearby ul{ margin:0; padding-left:16px; }
#wiki-hover-card .place-nearby a{ color:inherit; }
