:root{--anketa-bg:#f6efe3;--anketa-soft:#ece5d8;--badge-symbol-bg:#e4e5dd;--textcolor:#524b40;--wordcolor:#80776b;--accentcolor1:#6d8991;--accentcolor2:#ab9870;--accent-light:#9ebcc6;--bordercolor:#c7bb9f;--radius-medium:9px;--eng:Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--anketa-bg);color:var(--textcolor);font:14px/1.55 var(--eng)}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--bordercolor);border-radius:7px;padding:8px 12px;background:var(--anketa-soft)}button:hover{background:color-mix(in srgb,var(--accent-light) 22%,var(--anketa-bg))}button[aria-pressed=true]{background:var(--accentcolor1);color:var(--anketa-bg)}button:focus-visible,a:focus-visible{outline:2px solid var(--accentcolor1);outline-offset:3px}button:disabled{opacity:.5;cursor:wait}a{color:var(--accentcolor1)}h1,h2,p{margin:0 0 12px}h1{font:normal 32px Georgia,serif}h2{font:normal 24px Georgia,serif}small{letter-spacing:.16em;font-size:10px;color:var(--wordcolor)}label{display:block;font-size:12px;margin-bottom:10px}input,select,textarea{display:block;width:100%;min-width:0;padding:8px 10px;background:var(--anketa-bg);border:1px solid var(--bordercolor);border-radius:6px}textarea{resize:vertical;line-height:1.6}[hidden]{display:none!important}
#atlas{max-width:1500px;margin:auto;padding:20px;border:1px solid var(--bordercolor);box-shadow:inset 0 0 0 5px color-mix(in srgb,var(--accent-light) 10%,transparent);border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-light) 8%,transparent),transparent 60%),var(--anketa-bg)}.atlas-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:10px 4px 20px;border-bottom:1px solid var(--bordercolor);margin-bottom:18px}.atlas-head nav{display:flex;gap:6px;flex-wrap:wrap}.atlas-head p{color:var(--wordcolor);font-size:12px;max-width:560px}.atlas-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}.atlas-work{min-width:0}.atlas-tools{display:flex;align-items:end;gap:9px;flex-wrap:wrap;margin-bottom:10px}.atlas-tools label{flex:1;min-width:120px;margin:0}.atlas-zoom{display:flex;gap:4px}.atlas-viewport{height:600px;overflow:auto;overscroll-behavior:contain;border:3px double var(--bordercolor);border-radius:var(--radius-medium);background:var(--badge-symbol-bg);scrollbar-gutter:stable}.atlas-stage{position:relative;width:100%;min-width:100%;line-height:0}.atlas-stage>img{display:block;width:100%;height:auto}.atlas-sidebar{min-width:0;padding:15px;border:1px solid var(--bordercolor);background:var(--anketa-soft);border-radius:var(--radius-medium)}.atlas-list{display:flex;flex-direction:column;gap:4px;max-height:160px;overflow:auto;padding:0 4px 12px 0;border-bottom:1px solid var(--bordercolor);margin-bottom:18px}.atlas-list button{text-align:left;font-size:12px;background:var(--anketa-bg);padding:7px 10px}.atlas-list button[aria-pressed=true]{box-shadow:inset 3px 0 var(--accentcolor1);color:var(--textcolor);background:color-mix(in srgb,var(--accent-light) 17%,var(--anketa-bg))}[data-detail] img{width:100%;max-height:220px;object-fit:cover;border-radius:7px;margin-bottom:14px;border:1px solid var(--bordercolor)}[data-detail] p{white-space:pre-line;overflow-wrap:anywhere;max-height:400px;overflow:auto}[data-status]{font-size:12px;color:var(--wordcolor);margin:9px 0;min-height:20px}.atlas-point{--point:#77959e;position:absolute;transform:translate(-50%,-50%);width:17px;height:17px;padding:0;border:2px solid var(--anketa-bg);border-radius:50%;background:var(--point);box-shadow:0 0 0 1px var(--point),0 2px 5px #0005;z-index:1}.atlas-point:hover,.atlas-point[aria-pressed=true]{background:var(--point);outline:3px solid var(--accent-light);outline-offset:2px;z-index:2}.atlas-point.is-hidden{opacity:.4}.atlas-coordinates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.atlas-actions{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.atlas-check{display:flex;align-items:center;gap:8px}.atlas-check input{width:16px;height:16px}.atlas-login{width:min(440px,calc(100% - 24px));margin:8vh auto;padding:28px;background:var(--anketa-soft);border:1px solid var(--bordercolor);border-radius:12px}details{margin-top:20px}summary{cursor:pointer;font-weight:bold;margin-bottom:12px}[data-editor] label{margin:12px 0}[data-admin] .atlas-viewport.is-positioning{cursor:crosshair}
@media(max-width:850px){.atlas-layout{grid-template-columns:1fr}.atlas-head{align-items:start;flex-direction:column}.atlas-viewport{height:450px}.atlas-sidebar{display:block}.atlas-list{max-height:140px}#atlas{padding:12px}.atlas-head nav button{font-size:12px}}
.atlas-legend{margin:12px 0;padding:12px 14px;border:1px solid var(--bordercolor);border-radius:var(--radius-medium);background:var(--anketa-soft);line-height:1.5}.atlas-legend>strong{display:block;margin-bottom:8px;font-size:12px}.atlas-legend-keys{display:flex;flex-wrap:wrap;gap:5px 8px}.atlas-legend-keys button{display:inline-flex;align-items:center;gap:7px;padding:5px 8px;font-size:11px;background:transparent;border-color:transparent}.atlas-legend-keys button[aria-pressed=true]{border-color:var(--accentcolor1);color:var(--textcolor);background:var(--anketa-bg)}.atlas-legend-dot{width:13px;height:13px;border:1px solid #0004;border-radius:50%;flex:0 0 13px;box-shadow:0 0 0 2px var(--anketa-bg)}.atlas-legend-types{display:flex;gap:10px 16px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--bordercolor)}.atlas-legend-types>span{display:inline-flex;align-items:center;gap:6px;font-size:11px}.atlas-legend-types svg{width:20px;height:20px;flex-shrink:0}.atlas-point.is-landmark,.atlas-point.is-landmark:hover,.atlas-point.is-landmark[aria-pressed=true]{width:27px;height:27px;padding:3px;border:2px solid var(--point);background:var(--anketa-bg);color:var(--landmark);box-shadow:0 0 0 1px var(--anketa-bg),0 2px 6px #0005}.atlas-point.is-landmark svg{display:block;width:100%;height:100%}.atlas-open{display:inline-flex;align-items:center;min-height:40px;padding:7px 12px;border:1px solid var(--bordercolor);border-radius:7px;text-decoration:none;white-space:nowrap;background:var(--anketa-soft)}.atlas-back{display:block;margin-bottom:14px}.atlas-standalone{padding:20px}.atlas-standalone #atlas{max-width:1660px}.atlas-standalone .atlas-layout{grid-template-columns:minmax(0,1fr) 350px}.atlas-standalone .atlas-viewport{height:clamp(520px,72vh,850px)}
@media(max-width:1000px){.atlas-standalone .atlas-layout{grid-template-columns:minmax(0,1fr) 300px}.atlas-standalone{padding:10px}}
@media(max-width:850px){.atlas-standalone .atlas-layout{grid-template-columns:1fr}.atlas-standalone .atlas-viewport,.atlas-viewport{height:clamp(340px,60vh,540px)}.atlas-sidebar{display:flex;flex-direction:column}.atlas-sidebar [data-detail]{order:-1}.atlas-sidebar [data-detail]:not(:empty){margin-bottom:16px}.atlas-sidebar [data-detail] p{max-height:none}.atlas-list{max-height:180px}.atlas-head{gap:12px}.atlas-head h1{font-size:27px}.atlas-legend{padding:10px}.atlas-legend-keys button{min-height:36px}}
@media(max-width:600px){.atlas-standalone{padding:0}#atlas{padding:9px;border-radius:0}.atlas-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.atlas-tools label{min-width:0}.atlas-tools label:first-child{grid-column:1/-1}.atlas-tools input,.atlas-tools select{min-height:44px;font-size:16px}.atlas-zoom button{min-height:44px;min-width:40px;padding:7px}.atlas-stage{min-width:640px}.atlas-point{width:24px;height:24px}.atlas-point.is-landmark,.atlas-point.is-landmark:hover,.atlas-point.is-landmark[aria-pressed=true]{width:31px;height:31px}.atlas-legend-keys{gap:2px}.atlas-legend-keys button{min-height:40px;font-size:12px}.atlas-sidebar{padding:12px}.atlas-list button{min-height:44px;font-size:13px}.atlas-head nav{width:100%}.atlas-head nav button{min-height:44px;flex:1}.atlas-head form{align-self:flex-end}.atlas-actions button,[data-editor] button{min-height:44px}h2{font-size:22px}.atlas-viewport{scroll-padding:15px}}

/* Show the entire map at the default desktop scale. */
@media(min-width:851px){.atlas-viewport,.atlas-standalone .atlas-viewport{height:auto;scrollbar-gutter:auto;overscroll-behavior:auto}.atlas-viewport.is-zoomed,.atlas-standalone .atlas-viewport.is-zoomed{height:clamp(520px,72vh,850px);overscroll-behavior:contain}.atlas-sidebar{align-self:start}}

.atlas-point.is-landmark>img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}

/* Elite is independent of district and location icon. */
.atlas-point.is-elite,.atlas-point.is-landmark.is-elite{box-shadow:0 0 0 1px var(--anketa-bg),0 0 0 2px #b08a39,0 2px 5px #0004}
.atlas-point.is-elite::after{content:"";position:absolute;right:-4px;top:-4px;width:5px;height:5px;background:#c7a64f;border:1px solid #8a692d;transform:rotate(45deg);box-shadow:0 0 0 1px var(--anketa-bg);pointer-events:none}
.atlas-elite-symbol{color:#8a641d;font-size:18px;line-height:1}
.atlas-elite-label{display:inline-block;margin:0 0 12px;padding:4px 9px;border:1px solid #b08a39;border-radius:5px;color:#785719;background:#f4e8c7;font-size:12px}

/* Elite places: a coin with a centered diamond. */
.atlas-point.is-elite,.atlas-point.is-landmark.is-elite,.atlas-point.is-elite:hover,.atlas-point.is-elite[aria-pressed=true]{background:#ead28a;border:2px solid #fff2bf;box-shadow:0 0 0 1px #98732e,0 2px 5px #0004}
.atlas-point.is-elite>svg,.atlas-point.is-elite>img{visibility:hidden}
.atlas-point.is-elite::after{left:50%;top:50%;right:auto;width:5px;height:5px;transform:translate(-50%,-50%) rotate(45deg);background:#a47a26;border:0;box-shadow:none}
.atlas-point.is-landmark.is-elite::after{width:8px;height:8px}

/* Center the diamond as a background of the entire circular face. */
.atlas-point.is-elite::after{inset:0;width:auto;height:auto;margin:0;padding:0;border:0;transform:none;border-radius:50%;box-shadow:none;background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23a47a26' d='M10 2L18 10L10 18L2 10Z'/%3E%3C/svg%3E") center center / 10px 10px no-repeat}
.atlas-point.is-landmark.is-elite::after{width:auto;height:auto;background-size:14px 14px}

/* CSS-only diamond; no image source or transform rounding required. */
.atlas-point.is-elite::after,.atlas-point.is-landmark.is-elite::after{content:"";position:absolute;inset:0;width:auto;height:auto;margin:0;padding:0;border:0;border-radius:0;transform:none;box-shadow:none;background:#a47a26;clip-path:polygon(50% 20%,80% 50%,50% 80%,20% 50%);pointer-events:none}

.atlas-link-editor{position:fixed;z-index:1000;width:max-content;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:8px;background:var(--anketa-bg);border:1px solid var(--bordercolor);border-radius:9px;box-shadow:0 5px 24px #0003}
.atlas-link-editor form{width:300px;max-width:calc(100vw - 34px);padding:4px}.atlas-link-editor label{margin-bottom:10px}.atlas-link-editor input,.atlas-link-editor select{font-size:16px}.atlas-link-editor button{min-height:40px}.atlas-link-editor [role=alert]{font-size:12px;margin:0;color:#963d38}

.atlas-footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:12px;overflow-wrap:anywhere}.atlas-footer-editor{margin:16px 0;padding:12px 0;border-top:1px solid var(--bordercolor);border-bottom:1px solid var(--bordercolor)}.atlas-footer-row{margin:10px 0;padding:10px;border:1px solid var(--bordercolor);border-radius:7px}.atlas-footer-row button{font-size:12px}

.atlas-organization{margin-top:14px;padding-top:12px;border-top:1px solid var(--bordercolor);font-size:12px;overflow-wrap:anywhere}.atlas-organization>a{display:block;margin-bottom:10px}.atlas-organization>strong{display:block;font-size:11px;color:var(--wordcolor)}.atlas-organization ul{padding:0;margin:7px 0 0;list-style:none;max-height:150px;overflow:auto}.atlas-organization li{padding:4px 0}.atlas-organization li>span{color:var(--wordcolor)}.atlas-organization details{margin:10px 0 0}.atlas-organization summary{margin:0;min-height:30px}.atlas-organization details ul{max-height:180px}

.atlas-factions-status{font-size:11px;color:var(--wordcolor);line-height:1.5;margin:4px 0 12px}[data-faction-preview]{font-size:12px;margin:10px 0 16px}[data-faction-preview]>p{margin:8px 0;color:var(--wordcolor)}

/* Location description and organization card. */
[data-detail] p{text-align:justify;padding-right:5px}
.atlas-organization{margin-top:16px;padding:14px;background:var(--anketa-bg);border:1px solid var(--bordercolor);border-radius:var(--radius-medium);box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--accent-light) 9%,transparent);font-size:12px;line-height:1.6;text-align:left}
.atlas-organization>a{margin:0 0 13px;padding-bottom:10px;border-bottom:1px solid var(--bordercolor);font:normal 20px/1.2 Georgia,serif;text-decoration:none;color:var(--textcolor)}
.atlas-organization>a:hover{color:var(--accentcolor1);text-decoration:underline;text-underline-offset:3px}
.atlas-organization>strong{font-size:10px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--wordcolor)}
.atlas-organization ul{margin:6px 0 0;padding:0 5px 0 0;scrollbar-width:thin;scrollbar-color:var(--accentcolor1) transparent}
.atlas-organization li{padding:7px 0;border-bottom:1px solid color-mix(in srgb,var(--bordercolor) 55%,transparent)}
.atlas-organization li:last-child{border-bottom:0}
.atlas-organization li>a{font-weight:600;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accentcolor1) 40%,transparent);text-underline-offset:3px}
.atlas-organization li>a:hover{text-decoration-color:currentColor}
.atlas-organization li>span{color:var(--wordcolor)}
.atlas-organization details{margin-top:12px;border:1px solid var(--bordercolor);border-radius:6px;background:var(--anketa-soft);overflow:hidden}
.atlas-organization summary{margin:0;padding:9px 11px;min-height:38px;font-size:11px;font-weight:400;color:var(--textcolor)}
.atlas-organization summary:hover{background:color-mix(in srgb,var(--accent-light) 16%,transparent)}
.atlas-organization summary:focus-visible{outline:2px solid var(--accentcolor1);outline-offset:-3px}
.atlas-organization details[open]>summary{border-bottom:1px solid var(--bordercolor)}
.atlas-organization details ul{margin:0;padding:2px 10px;max-height:180px}
@media(max-width:600px){.atlas-organization{padding:12px}.atlas-organization summary{min-height:44px;padding:11px}.atlas-organization li{padding:9px 0}}

/* Shared dropdowns: map filters, location editor and link editor. */
.atlas-select{position:relative;display:block;width:100%;min-width:0}
.atlas-select .atlas-select-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);border:0;white-space:nowrap}
.atlas-select-button{position:relative;display:block;width:100%;min-height:38px;padding:8px 36px 8px 12px;text-align:left;font:inherit;font-weight:400;line-height:1.5;color:var(--textcolor);background:var(--anketa-bg);border:1px solid var(--bordercolor);border-radius:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.atlas-select-button::after{content:"";position:absolute;right:14px;top:50%;width:7px;height:7px;border-right:1.5px solid var(--accentcolor1);border-bottom:1.5px solid var(--accentcolor1);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.atlas-select-button[aria-expanded=true]{background:var(--anketa-bg);color:var(--textcolor);border-color:var(--accentcolor1);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-light) 25%,transparent)}
.atlas-select-button[aria-expanded=true]::after{transform:translateY(-20%) rotate(225deg)}
.atlas-select-button:disabled{cursor:default;opacity:.55}
.atlas-select-menu{position:fixed;z-index:1100;padding:5px;overflow:auto;overscroll-behavior:contain;background:var(--anketa-bg);color:var(--textcolor);border:1px solid var(--bordercolor);border-radius:8px;box-shadow:0 8px 24px #0002;scrollbar-width:thin;scrollbar-color:var(--accentcolor1) var(--anketa-soft);font:12px/1.5 var(--eng);text-align:left}
.atlas-select-option{position:relative;min-height:35px;padding:8px 30px 8px 10px;border-radius:5px;cursor:pointer;overflow-wrap:anywhere}
.atlas-select-option:hover,.atlas-select-option.is-active{background:color-mix(in srgb,var(--accent-light) 20%,var(--anketa-bg))}
.atlas-select-option[aria-selected=true]{color:var(--textcolor);background:var(--anketa-soft);box-shadow:inset 3px 0 var(--accentcolor1)}
.atlas-select-option[aria-selected=true]::after{content:"✓";position:absolute;right:10px;top:8px;color:var(--accentcolor1)}
.atlas-select-option[aria-disabled=true]{opacity:.45;cursor:default}
.atlas-select-menu::-webkit-scrollbar{width:7px}.atlas-select-menu::-webkit-scrollbar-track{background:var(--anketa-soft);border-radius:6px}.atlas-select-menu::-webkit-scrollbar-thumb{background:var(--accentcolor1);border:2px solid var(--anketa-soft);border-radius:6px}
@media(max-width:600px){.atlas-select-button{min-height:44px;font-size:16px}.atlas-select-option{min-height:44px;padding-top:11px;padding-bottom:11px;font-size:14px}.atlas-select-option[aria-selected=true]::after{top:11px}}

.atlas-legend-types{gap:5px 7px}
.atlas-legend-types>button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:5px 8px;border:1px solid transparent;background:transparent;color:var(--textcolor);font-size:11px;text-align:left}
.atlas-legend-types>button>svg{color:var(--type-color);width:20px;height:20px;flex:0 0 20px}
.atlas-legend-types>button:hover{background:color-mix(in srgb,var(--accent-light) 18%,var(--anketa-bg))}
.atlas-legend-types>button[aria-pressed=true]{background:var(--anketa-bg);color:var(--textcolor);border-color:var(--accentcolor1);box-shadow:inset 0 -2px var(--accentcolor1)}
@media(max-width:600px){.atlas-legend-types>button{min-height:44px;font-size:12px}}

/* Selected filters and dropdown options: subtle border, no accent stripes. */
.atlas-legend-types>button[aria-pressed=true]{box-shadow:none}
.atlas-select-option{border:1px solid transparent}
.atlas-select-option[aria-selected=true]{box-shadow:none;border-color:var(--bordercolor)}
.atlas-list button[aria-pressed=true]{box-shadow:none;border-color:var(--accentcolor1)}
