:root{font-family:'Manrope',sans-serif;color:#1e2d27;background:#e9e8dd;font-synthesis:none;text-rendering:optimizeLegibility;--forest:#172923;--muted:#747b70;--line:#dedfd4;--paper:#f8f7ef;--mono:'DM Mono',monospace}*{box-sizing:border-box}body{margin:0;min-width:360px;height:100vh;overflow:hidden;background:#e9e8dd}.topbar{height:64px;background:var(--forest);color:#f8f6eb;display:flex;align-items:center;padding:0 24px;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:1.4px}.brand b{font-weight:400;color:#b5c1a2}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border:1px solid #819180;color:#d0d8c0;font-family:var(--mono);font-size:16px}.top-meta{display:flex;align-items:center;gap:11px;color:#bcc4b5;font:10px var(--mono);letter-spacing:.7px}.live-dot{width:7px;height:7px;border-radius:50%;background:#8daa6d;box-shadow:0 0 0 3px #516450}.top-divider{height:15px;border-left:1px solid #45554a;margin:0 3px}.icon-button{border:1px solid #708071;background:transparent;color:#f7f5e8;width:34px;height:34px;font-size:22px;line-height:1;cursor:pointer}.workspace{height:calc(100vh - 64px);display:grid;grid-template-columns:236px minmax(400px,1fr) 294px}.rail{background:var(--paper);border-right:1px solid #d7d8cd;padding:25px 19px 17px;display:flex;flex-direction:column;min-height:0}.rail-heading,.section-title,.map-toolbar,.toolbar-actions,.map-footer,.detail-head{display:flex;align-items:center;justify-content:space-between}.eyebrow{font:10px var(--mono);letter-spacing:1px;color:#748073}.count-badge{font:11px var(--mono);padding:4px 7px;background:#e7e9dd;color:#35453b}.legend-section{margin-top:36px}.section-title h2{margin:0;font-size:16px;font-weight:700}.text-button{border:0;background:none;color:#647367;font-size:11px;cursor:pointer}.guild-list{margin-top:15px;display:grid;gap:4px}.guild-filter{display:grid;grid-template-columns:15px 9px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 3px;border-bottom:1px solid #ecece4;cursor:pointer}.guild-filter input{accent-color:#264c3b;width:14px;height:14px;margin:0}.guild-swatch,.detail-swatch{width:8px;height:20px;background:var(--guild-color);border-radius:1px}.guild-name{font-size:11px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.guild-count{font:10px var(--mono);color:#69776a;white-space:nowrap}.quiet{font-size:11px;line-height:1.7;color:#858a7f}.empty-legend{margin:17px 2px}.empty-legend[hidden]{display:none}.rail-divider{border-top:1px solid var(--line);margin:26px 0 20px}.map-key>.eyebrow{display:block;margin-bottom:15px}.map-key>div{display:flex;align-items:center;gap:9px;font-size:10px;color:#596259;margin:10px 0}.status-dot{width:8px;height:8px;border-radius:50%;background:#568766}.status-dot.stale{background:#c39a4b}.map-key .quiet{margin-top:14px;font-size:10px}.rail-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:14px;display:flex;gap:10px;align-items:center;font:9px var(--mono);line-height:1.6;letter-spacing:.45px;color:#536255}.rail-bottom small{font:9px 'Manrope',sans-serif;letter-spacing:0;color:#899086}.grid-icon{font-size:19px;color:#9c6746}.map-column{min-width:0;display:flex;flex-direction:column;padding:24px 24px 15px}.map-toolbar{margin-bottom:17px;gap:10px}.map-toolbar h1{font-size:22px;line-height:1.3;margin:5px 0 0;font-weight:700;letter-spacing:0}.toolbar-actions{gap:6px}.tab-button,.zoom-button{height:32px;border:1px solid #d5d7ca;background:#f4f3e9;color:#626b60;font-size:10px;padding:0 11px;cursor:pointer}.tab-button.selected{background:#20392f;border-color:#20392f;color:#f5f5e9}.toolbar-divider{height:20px;border-left:1px solid #cccec2;margin:0 4px}.zoom-button{width:32px;padding:0;font:18px var(--mono)}.fit-button{font-size:17px}.map-frame{position:relative;flex:1;min-height:250px;overflow:hidden;border:1px solid #c5c9ba;background-color:#e5e5d7;background-image:radial-gradient(#b8bba9 .7px,transparent .7px);background-size:17px 17px;box-shadow:inset 0 0 0 6px rgba(248,247,239,.34)}#world-map{width:100%;height:100%;touch-action:none;cursor:grab}#world-map:active{cursor:grabbing}.map-coord{position:absolute;z-index:1;pointer-events:none;color:#737c6d;font:9px var(--mono);letter-spacing:.6px}.map-coord span{color:#9b9d8c}.coord-nw{top:17px;left:18px}.coord-se{right:17px;bottom:15px}.map-scale{position:absolute;left:20px;bottom:22px;font:9px var(--mono);color:#616c60;display:flex;align-items:center;gap:8px}.map-scale span{width:28px;border-top:1px solid #616c60}.map-instructions{position:absolute;right:17px;bottom:17px;font-size:9px;color:#898d7f}.axis-label{font:1.8px var(--mono);fill:#777f70;pointer-events:none}.marker{cursor:pointer;outline:none}.marker-halo{fill:var(--guild-color);opacity:.18;stroke:var(--guild-color);stroke-width:.14}.marker-core{fill:var(--guild-color);stroke:#f8f7ef;stroke-width:.22}.marker-center{fill:#fffaf0}.marker.is-stale .marker-core{fill:#c39a4b}.marker.is-killed{opacity:.55}.marker.is-killed .marker-core{fill:#68756b}.marker.is-selected .marker-halo{opacity:.48;stroke-width:.25}.map-footer{padding-top:11px;color:#858a7d;font:9px var(--mono);letter-spacing:.45px}.detail-panel{background:#f5f4eb;border-left:1px solid #d7d8cd;padding:25px 20px;overflow:auto}.detail-empty{height:100%;display:flex;flex-direction:column;align-items:flex-start;padding-top:47px}.target-icon{font-size:37px;font-weight:300;color:#a4a894;margin-bottom:20px}.detail-empty p{font-size:12px;line-height:1.8;color:#798075;max-width:220px}.detail-head{margin-bottom:28px}.close-button{border:0;background:transparent;color:#7a8175;font-size:23px;font-weight:300;cursor:pointer;line-height:1}.detail-swatch{height:5px;width:35px;display:block;margin-bottom:12px}.detail-guild{font-size:19px;line-height:1.35;margin:0 0 6px;overflow-wrap:anywhere}.coordinates{font:15px var(--mono);color:#596b58}.freshness-tag{display:inline-block;margin-top:19px;padding:6px 7px;font:9px var(--mono);letter-spacing:.3px;background:#e2ecdf;color:#45724d}.freshness-tag.stale{background:#f1e9d4;color:#967536}.detail-facts{margin:21px 0 0;padding:0;border-top:1px solid #dedfd4}.detail-facts dt{margin-top:15px;font-size:10px;color:#82877d}.detail-facts dd{margin:5px 0 0;font-size:11px;line-height:1.6;color:#36443a}.source-link{display:inline-block;margin-top:20px;color:#426c59;font-size:11px;text-decoration:none;border-bottom:1px solid #a9b7a8;padding-bottom:3px}.source-link.is-disabled{color:#92968b;border:0}.result-actions{display:grid;gap:7px;margin-top:26px;padding-top:16px;border-top:1px solid #dedfd4}.result-button{height:38px;text-align:left;padding:0 11px;font:11px 'Manrope',sans-serif;cursor:pointer}.result-button.defended{border:1px solid #98ae92;background:#e8eee2;color:#3e6849}.result-button.killed{border:1px solid #d4aaa0;background:#f4e8e3;color:#a44e3b}.undo-button{border:0;background:none;text-decoration:underline;text-underline-offset:3px;color:#747b70;font-size:10px;margin-top:12px;cursor:pointer;text-align:left}dialog{border:1px solid #c9ccbf;background:#f8f7ef;color:#1e2d27;width:min(420px,calc(100vw - 28px));padding:25px;box-shadow:0 16px 60px #1729233b}dialog::backdrop{background:#14211c99}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head .close-button{order:2}dialog h2{font-size:21px;margin:9px 0 22px}#manual-form label{display:grid;gap:7px;font-size:11px;color:#596259;margin:14px 0}.optional{font-size:9px;color:#8a8d83}#manual-form input{height:39px;border:1px solid #d4d6c9;background:#fffef8;padding:0 10px;color:#24352b;font:12px 'Manrope',sans-serif;min-width:0}.coordinate-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.submit-button{width:100%;height:40px;background:#20392f;color:#fffdf3;border:0;font:11px 'Manrope',sans-serif;margin-top:8px;cursor:pointer}
@media(max-width:1050px){.workspace{grid-template-columns:205px minmax(360px,1fr)}.detail-panel{grid-column:1/-1;border-left:0;border-top:1px solid #d7d8cd;height:230px;padding:18px 22px}.detail-empty{padding-top:7px}.detail-empty p{max-width:500px}.map-column{min-height:500px}.rail{grid-row:1/3}}
@media(max-width:680px){body{height:auto;min-height:100vh;overflow:auto}.topbar{height:56px;padding:0 14px}.brand{font-size:10px;gap:8px}.brand-mark{width:27px;height:27px}.top-meta{gap:7px;font-size:8px}.top-meta #updated-label,.top-divider{display:none}.icon-button{width:31px;height:31px}.workspace{height:auto;min-height:calc(100vh - 56px);display:flex;flex-direction:column}.map-toolbar{align-items:flex-end;flex-wrap:wrap}.map-toolbar h1{font-size:19px}.toolbar-actions{gap:4px}.tab-button{padding:0 8px;font-size:9px}.toolbar-divider{margin:0 2px}.zoom-button{width:29px;height:30px}.rail{order:2;padding:15px 16px;border-right:0;border-top:1px solid #d7d8cd;min-height:0}.rail-heading{display:none}.legend-section{margin-top:0}.section-title h2{font-size:14px}.guild-list{grid-template-columns:1fr 1fr;gap:0 9px;margin-top:7px}.guild-filter{grid-template-columns:15px 7px minmax(0,1fr) auto;padding:8px 2px;gap:6px}.guild-name{font-size:10px}.guild-count{font-size:9px}.rail-divider,.map-key,.rail-bottom{display:none}.map-column{order:1;padding:19px 12px 11px;min-height:calc(100svh - 245px);height:calc(100svh - 245px)}.map-frame{min-height:300px}.map-instructions{display:none}.map-footer{font-size:8px}.detail-panel{order:3;flex:none;height:auto;min-height:178px;padding:16px}.detail-empty{padding-top:0}.detail-head{margin-bottom:16px}.detail-empty p{font-size:11px;margin:8px 0}.detail-facts{display:grid;grid-template-columns:1fr 1fr;column-gap:10px}.detail-facts dt{font-size:9px}.detail-facts dd{font-size:10px}.source-link{margin-top:15px}.result-actions{grid-template-columns:1fr 1fr;margin-top:17px}.freshness-tag{font-size:8px}}

/* Dofus Touch Map background and point overlay. */
#world-map{position:absolute;inset:0;width:100%;height:100%;cursor:grab;background:#163c3b}
#world-map:active{cursor:grabbing}.leaflet-container{font-family:'Manrope',sans-serif}.leaflet-control-attribution{font-size:9px!important;background:#f8f7efdb!important;color:#48564d}.leaflet-control-attribution a{color:#315f50}.map-instructions{z-index:500;background:#f8f7efcc;padding:4px 6px}.map-status{position:absolute;z-index:600;top:50%;left:50%;transform:translate(-50%,-50%);max-width:min(360px,calc(100% - 32px));padding:12px 16px;background:#f8f7eff0;border:1px solid #c5c9ba;color:#536255;font-size:11px;line-height:1.5;text-align:center;box-shadow:0 5px 20px #17292330}.map-status.is-error{border-color:#c79788;color:#8c4234}.map-status[hidden]{display:none}.perceptor-marker-wrap{background:none;border:0}.perceptor-marker{position:relative;display:block;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--guild-color) 22%,transparent);border:1px solid color-mix(in srgb,var(--guild-color) 65%,transparent);filter:drop-shadow(0 2px 2px #10251e99)}.perceptor-marker::before{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--guild-color);border:2px solid #fffaf0}.perceptor-marker i{position:absolute;inset:15px;border-radius:50%;background:#fffaf0}.perceptor-marker.is-stale::before{background:#c39a4b}.perceptor-marker.is-killed{opacity:.6;filter:grayscale(.55)}.perceptor-marker.is-selected{outline:3px solid #fffaf0;outline-offset:2px;transform:scale(1.12)}.leaflet-marker-icon:focus{outline:3px solid #f3d36a;outline-offset:3px}.leaflet-tile{image-rendering:auto}
@media(max-width:680px){.leaflet-control-attribution{max-width:75%;font-size:7px!important}.map-status{font-size:10px}.perceptor-marker{width:30px;height:30px;margin:2px}.perceptor-marker::before{inset:7px}.perceptor-marker i{inset:13px}}
.perceptor-marker b{position:absolute;left:50%;top:35px;transform:translateX(-50%);padding:2px 4px;border-radius:2px;background:#172923e6;color:#fffef5;font:9px var(--mono);font-weight:500;white-space:nowrap;box-shadow:0 1px 3px #0005}
.marker-overlay{position:absolute;inset:0;z-index:550;overflow:hidden;pointer-events:none}.map-marker-button{position:absolute;left:0;top:0;width:34px;height:34px;padding:0;border:0;background:none;pointer-events:auto;cursor:pointer}.map-marker-button:focus-visible{outline:3px solid #f3d36a;outline-offset:4px;border-radius:50%}.map-marker-button .perceptor-marker{position:absolute;inset:0}.map-instructions{left:17px;right:auto}
@media(max-width:680px){.top-meta{display:none}.map-toolbar{align-items:flex-start}.toolbar-actions{width:100%;justify-content:flex-start}}

/* Layout inspired by the full-screen Dofus Touch Map interface. */
body{background:#063b3b}.topbar{position:relative;z-index:900;height:52px;background:#087c7e;padding:0 16px}.brand-mark{border-color:#9dd2ca}.workspace{position:relative;display:block;height:calc(100vh - 52px);overflow:hidden}.map-column{position:absolute;inset:0;z-index:1;padding:0}.map-frame{position:absolute;inset:0;min-height:0;border:0;box-shadow:none;background:#001f20}.map-toolbar{position:absolute;z-index:700;top:12px;right:12px;margin:0;padding:8px;background:#006b6be8;border:1px solid #71aaa5;color:#fff;box-shadow:0 4px 16px #001b1b80}.map-toolbar>div:first-child{display:none}.toolbar-actions{width:auto}.tab-button,.zoom-button{border-color:#68a7a1;background:#075958;color:#eafffa}.tab-button.selected{background:#f3f7e9;border-color:#fff;color:#075958}.toolbar-divider{border-color:#74aaa5}.map-footer{display:none}.map-instructions{display:none}.leaflet-control-attribution{background:#003f3edb!important;color:#d6efea!important}.leaflet-control-attribution a{color:#fff}.rail{position:absolute;z-index:700;left:16px;bottom:16px;width:340px;max-height:calc(100% - 92px);overflow:auto;padding:18px;background:#006461e8;color:#f6fffb;border:1px solid #63a49e;box-shadow:0 6px 22px #001b1bb3}.rail .eyebrow,.rail .quiet,.rail-bottom,.guild-count,.text-button{color:#d4ece6}.rail-heading,.rail-divider,.guild-filter,.rail-bottom{border-color:#70a6a0}.count-badge{background:#eaf4e8;color:#075958}.guild-filter input{accent-color:#eaf4e8}.detail-panel{position:absolute;z-index:700;right:16px;top:76px;width:294px;max-height:calc(100% - 92px);height:auto;min-height:210px;padding:20px;background:#006461eb;color:#f6fffb;border:1px solid #63a49e;box-shadow:0 6px 22px #001b1bb3}.detail-panel .eyebrow,.detail-empty p,.detail-facts dt,.detail-facts dd,.coordinates,.close-button{color:#e1f2ed}.detail-facts,.result-actions{border-color:#70a6a0}.marker-overlay{z-index:650}.map-marker-button{width:126px;height:42px}.map-marker-button .perceptor-marker{position:absolute;inset:0;display:flex;align-items:center;gap:7px;width:126px;height:42px;padding:5px 8px;border:1px solid #b5ded7;border-radius:4px;background:#007b78;filter:drop-shadow(0 2px 4px #001f1fbb);color:#fff;text-align:left}.map-marker-button .perceptor-marker::before{display:none}.map-marker-button .perceptor-marker i{position:relative;inset:auto;flex:0 0 15px;width:15px;height:15px;border:3px solid #fff;border-radius:50%;background:var(--guild-color)}.map-marker-button .perceptor-marker>span{display:grid;min-width:0}.map-marker-button .perceptor-marker b{position:static;transform:none;padding:0;background:none;box-shadow:none;color:#fff;font:600 10px var(--mono)}.map-marker-button .perceptor-marker small{overflow:hidden;color:#d9f1ec;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.map-marker-button .perceptor-marker.is-stale{background:#8b6d2f}.map-marker-button .perceptor-marker.is-killed{background:#4f5d59}.map-marker-button .perceptor-marker.is-selected{outline:3px solid #e9f79b;outline-offset:2px;transform:none}.coordinate-grid-tile{pointer-events:none}
@media(max-width:680px){body{min-width:320px;height:100vh;overflow:hidden}.topbar{height:48px}.workspace{height:calc(100vh - 48px);min-height:0}.map-toolbar{top:8px;right:8px;left:8px;padding:6px}.toolbar-actions{width:100%;justify-content:center}.rail{left:8px;right:8px;bottom:8px;width:auto;max-height:190px;padding:12px}.legend-section{margin-top:0}.guild-list{grid-template-columns:1fr 1fr}.detail-panel{left:8px;right:8px;top:auto;bottom:8px;width:auto;max-height:230px;min-height:0}.detail-panel:has(.detail-empty){display:none}.map-marker-button{width:108px;height:38px}.map-marker-button .perceptor-marker{width:108px;height:38px}.map-marker-button .perceptor-marker small{font-size:7px}}
.coordinate-grid{position:absolute;inset:0;z-index:600;pointer-events:none}.map-marker-button{width:94px;height:36px}.map-marker-button .perceptor-marker{width:94px;height:36px;padding:4px 6px}.map-marker-button .perceptor-marker i{flex-basis:13px;width:13px;height:13px}.map-marker-button .perceptor-marker b{font-size:9px}.map-marker-button .perceptor-marker small{font-size:7px}
:root{font-family:Arial,sans-serif;--mono:Consolas,'Courier New',monospace}
@media(min-width:681px){.workspace{display:grid;grid-template-columns:300px minmax(360px,1fr) 294px;overflow:hidden}.rail{position:relative;left:auto;bottom:auto;grid-column:1;grid-row:1;width:auto;height:100%;max-height:none;padding:20px;background:#006461;color:#f6fffb;border:0;border-right:1px solid #63a49e;box-shadow:none}.map-column{position:relative;inset:auto;grid-column:2;grid-row:1;min-width:0;height:100%;padding:0}.detail-panel{position:relative;right:auto;top:auto;grid-column:3;grid-row:1;width:auto;height:100%;max-height:none;padding:20px;background:#006461;color:#f6fffb;border:0;border-left:1px solid #63a49e;box-shadow:none}.map-toolbar{right:12px}.map-frame{inset:0}}

/* Guild emblems are shown only for guilds already present in report data. */
.guild-filter{grid-template-columns:15px 26px minmax(0,1fr) auto}
.guild-logo{width:26px;height:26px;object-fit:contain}
.marker-guild-logo{position:relative!important;inset:auto!important;flex:0 0 24px!important;width:24px!important;height:24px!important;object-fit:contain;border:0!important;border-radius:0!important;background:transparent!important}
.detail-guild-logo{display:block;width:50px;height:50px;margin:0 0 12px;object-fit:contain}
@media(max-width:680px){.guild-filter{grid-template-columns:15px 23px minmax(0,1fr) auto}.guild-logo{width:23px;height:23px}.marker-guild-logo{flex-basis:21px!important;width:21px!important;height:21px!important}}

.brand-controls{display:flex;align-items:center;gap:10px}.sidebar-toggle{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #75aaa5;background:#076b6c;color:#f3fff9;font-size:19px;line-height:1;cursor:pointer}.sidebar-toggle:focus-visible{outline:2px solid #e9f79b;outline-offset:2px}.workspace.sidebar-collapsed .rail{display:none}
@media(min-width:681px){.workspace.sidebar-collapsed{grid-template-columns:0 minmax(360px,1fr) 294px}}
@media(max-width:680px){.workspace.sidebar-collapsed .map-column{height:calc(100svh - 48px);min-height:calc(100svh - 48px)}}

.history-marker-button{width:38px;height:38px}.history-guild-logo,.history-guild-fallback{display:grid;width:38px;height:38px;place-items:center;object-fit:contain;border:2px solid #dff3ed;border-radius:7px;background:#075958;box-shadow:0 3px 8px #001b1bcc}.history-guild-fallback{background:var(--guild-color);color:#fff;font:700 15px var(--mono)}.history-marker-button.is-selected .history-guild-logo,.history-marker-button.is-selected .history-guild-fallback{outline:3px solid #e9f79b;outline-offset:2px}.delete-history-button{display:block;width:100%;height:38px;margin-top:10px;border:1px solid #d7a094;background:#783b35;color:#fff;font:11px 'Manrope',sans-serif;cursor:pointer}.delete-history-button:hover{background:#8e463e}.delete-history-button:focus-visible{outline:2px solid #e9f79b;outline-offset:2px}

.top-actions{display:flex;align-items:center;gap:9px}.panel-toggle{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #75aaa5;background:#076b6c;color:#f3fff9;font-size:16px;line-height:1;cursor:pointer}.panel-toggle:focus-visible,.add-perceptor-button:focus-visible{outline:2px solid #e9f79b;outline-offset:2px}.add-perceptor-button{height:34px;padding:0 13px;border:1px solid #9bc3bd;background:#f3f7e9;color:#075958;font:600 11px 'Manrope',sans-serif;cursor:pointer}.workspace.details-collapsed .detail-panel{display:none}
@media(min-width:681px){.workspace.details-collapsed{grid-template-columns:300px minmax(360px,1fr) 0}.workspace.sidebar-collapsed.details-collapsed{grid-template-columns:0 minmax(360px,1fr) 0}}
@media(max-width:680px){.topbar{gap:8px}.top-meta{margin-left:auto}.add-perceptor-button{padding:0 8px;font-size:9px}.panel-toggle{width:31px;height:31px}.workspace.details-collapsed .detail-panel{display:none}}

.topbar{justify-content:center}.panel-edge-toggle{position:absolute;z-index:850;top:50%;transform:translateY(-50%);transition:left .18s ease,right .18s ease}.left-panel-toggle{left:283px}.right-panel-toggle{right:277px}.workspace.sidebar-collapsed .left-panel-toggle{left:8px}.workspace.details-collapsed .right-panel-toggle{right:8px}.rail-add-button{width:100%;margin-top:18px}
@media(max-width:680px){.left-panel-toggle,.workspace.sidebar-collapsed .left-panel-toggle{left:8px}.right-panel-toggle,.workspace.details-collapsed .right-panel-toggle{right:8px}.rail-add-button{margin-top:12px}}

/* High-contrast light theme. The game map and guild emblems retain their colours. */
body{background:#fff;color:#111}.topbar{background:#fff;color:#111;border-bottom:1px solid #111}.top-meta{color:#222}.live-dot{background:#111;box-shadow:0 0 0 3px #d8d8d2}.top-divider{border-color:#aaa}.rail,.detail-panel{background:#fff!important;color:#111!important;border-color:#111!important}.rail .eyebrow,.rail .quiet,.rail-bottom,.guild-count,.text-button,.detail-panel .eyebrow,.detail-empty p,.detail-facts dt,.detail-facts dd,.coordinates,.close-button{color:#30302d}.rail-heading,.guild-filter,.detail-facts,.result-actions{border-color:#d5d5cf}.count-badge{background:#111;color:#fff}.guild-filter input{accent-color:#111}.panel-toggle{border-color:#111;background:#111;color:#fff}.add-perceptor-button{border-color:#111;background:#111;color:#fff}.map-toolbar{background:#fffffff2;border-color:#111;color:#111;box-shadow:0 4px 16px #0003}.tab-button,.zoom-button{border-color:#111;background:#fff;color:#111}.tab-button.selected{border-color:#111;background:#111;color:#fff}.toolbar-divider{border-color:#777}.map-marker-button .perceptor-marker{border-color:#111;background:#fff;color:#111;filter:drop-shadow(0 2px 4px #0006)}.map-marker-button .perceptor-marker b{color:#111}.map-marker-button .perceptor-marker small{color:#333}.map-marker-button .perceptor-marker i{border-color:#111}.map-marker-button .perceptor-marker.is-killed{background:#deded8}.map-marker-button .perceptor-marker.is-selected{outline-color:#111}.history-guild-logo,.history-guild-fallback{border-color:#111;background:#fff;box-shadow:0 3px 8px #0007}.history-marker-button.is-selected .history-guild-logo,.history-marker-button.is-selected .history-guild-fallback{outline-color:#111}.leaflet-control-attribution{background:#ffffffe6!important;color:#111!important}.leaflet-control-attribution a{color:#111}.detail-swatch{background:#111}.freshness-tag{background:#eee;color:#111}.source-link{color:#111;border-color:#777}.result-button.defended{border-color:#111;background:#fff;color:#111}.result-button.killed,.delete-history-button{border-color:#111;background:#111;color:#fff}.delete-history-button:hover{background:#333}.undo-button{color:#222}dialog{border-color:#111;background:#fff;color:#111;box-shadow:0 16px 60px #0005}dialog::backdrop{background:#0008}#manual-form label{color:#222}#manual-form input{border-color:#777;background:#fff;color:#111}.submit-button{background:#111;color:#fff}.map-status{border-color:#111;background:#fffffff2;color:#111}.map-status.is-error{border-color:#111;color:#8a2018}

/* Refined monochrome palette: warm panels, dark framing, restrained borders. */
body{background:#20221f}.topbar{background:#111210;color:#f7f5ed;border-bottom-color:#3d3e39}.top-meta{color:#deddd5}.live-dot{background:#f1efe5;box-shadow:0 0 0 3px #4a4b45}.top-divider{border-color:#55564f}.rail,.detail-panel{background:#f4f2ea!important;color:#171815!important;border-color:#b8b8b0!important}.rail .eyebrow,.rail .quiet,.guild-count,.text-button,.detail-panel .eyebrow,.detail-empty p,.detail-facts dt,.detail-facts dd,.coordinates,.close-button{color:#55564f}.rail-heading,.guild-filter,.detail-facts,.result-actions{border-color:#d2d1c8}.count-badge{background:#1b1c19;color:#f7f5ed}.map-frame{background:#202522}.map-toolbar{background:#f4f2eaf2;border-color:#343530;color:#171815;box-shadow:0 6px 18px #0006}.tab-button,.zoom-button{border-color:#8d8e87;background:#faf9f3;color:#1b1c19}.tab-button.selected{border-color:#171815;background:#171815;color:#fff}.panel-toggle{border-color:#f4f2ea;background:#171815;color:#fff;box-shadow:0 2px 8px #0006}.add-perceptor-button{border-color:#171815;background:#171815;color:#fff;letter-spacing:.15px}.map-marker-button .perceptor-marker{border-color:#e9e7dd;background:#171815;color:#fff;filter:drop-shadow(0 3px 5px #0008)}.map-marker-button .perceptor-marker b{color:#fff}.map-marker-button .perceptor-marker small{color:#d8d7d0}.map-marker-button .perceptor-marker i{border-color:#fff}.map-marker-button .perceptor-marker.is-selected{outline-color:#fff}.history-guild-logo,.history-guild-fallback{border-color:#f4f2ea;background:#171815}.history-marker-button.is-selected .history-guild-logo,.history-marker-button.is-selected .history-guild-fallback{outline-color:#fff}.leaflet-control-attribution{background:#171815e6!important;color:#deddd5!important}.leaflet-control-attribution a{color:#fff}.source-link{color:#171815;border-color:#77786f}.result-button.defended{border-color:#171815;background:#f8f7f0;color:#171815}dialog{background:#f4f2ea;color:#171815}.map-status{background:#f4f2eaf2;color:#171815}

.map-column,.map-frame,#world-map{background:#f4f2ea}

@media(max-width:680px){html,body{width:100%;height:100%;min-width:0;overflow:hidden;overscroll-behavior:none}.topbar{display:none}.workspace{width:100%;height:100dvh;min-height:0}.map-column,.workspace.sidebar-collapsed .map-column{width:100%;height:100dvh;min-height:0}.map-frame{width:100%;height:100%;min-height:0}.map-toolbar{top:8px;left:8px;right:8px;width:auto;max-width:calc(100vw - 16px);padding:6px 8px}.toolbar-actions{width:100%;justify-content:center}.panel-edge-toggle{top:50%;width:34px;height:42px}.rail,.detail-panel{left:8px;right:8px;bottom:8px;width:auto;max-width:calc(100vw - 16px);max-height:42dvh;border:1px solid #aaa!important;box-shadow:0 7px 24px #0006}.workspace.detail-open .rail{display:none}.detail-panel{z-index:900}.detail-panel:has(.detail-empty){display:none}.guild-list{max-height:23dvh;overflow:auto}.leaflet-control-attribution{max-width:70%;font-size:6px!important}.map-marker-button{width:106px}.map-marker-button .perceptor-marker{width:106px}.map-marker-button .perceptor-marker small{font-size:7px}}

.mobile-guilds-button{display:none}
@media(max-width:680px){.panel-edge-toggle{display:none!important}.mobile-guilds-button{display:block}.workspace.details-collapsed.detail-open .detail-panel{display:block}.map-marker-button{width:44px;height:44px}.map-marker-button .perceptor-marker{display:grid;width:44px;height:44px;padding:4px;place-items:center;border:2px solid #f4f2ea;border-radius:9px}.map-marker-button .perceptor-marker>span{display:none}.marker-guild-logo{flex-basis:34px!important;width:34px!important;height:34px!important}.map-marker-button .perceptor-marker i{width:22px;height:22px;border-width:3px}.detail-panel{padding:13px 15px;max-height:190px}.detail-head{margin-bottom:4px}.detail-head .eyebrow{display:none}.detail-guild-logo,.detail-swatch,.detail-facts,.source-link,.undo-button{display:none}.detail-guild{margin:0 28px 4px 0;font-size:16px}.coordinates{font-size:13px}.result-actions{grid-template-columns:1fr 1fr;margin-top:11px;padding-top:10px}.result-button{height:36px}.close-button{position:absolute;top:9px;right:12px}.history-marker-button{width:40px;height:40px}.history-guild-logo,.history-guild-fallback{width:40px;height:40px}}

@media(max-width:680px){.leaflet-tile-container{will-change:auto!important}.leaflet-tile{backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0)}}

/* Use the same touch-first layout in portrait and landscape phone orientations. */
@media all{html,body{width:100%;height:100%;min-width:0;overflow:hidden;overscroll-behavior:none;background:#f4f2ea}.topbar{display:none}.workspace{display:block;width:100%;height:100dvh;min-height:0;overflow:hidden}.map-column,.workspace.sidebar-collapsed .map-column{position:absolute;inset:0;width:100%;height:100dvh;min-height:0;padding:0}.map-frame{position:absolute;inset:0;width:100%;height:100%;min-height:0}.map-toolbar{top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));width:auto;max-width:none;padding:6px 8px}.toolbar-actions{width:100%;justify-content:center}.panel-edge-toggle{display:none!important}.mobile-guilds-button{display:block}.rail,.detail-panel{position:absolute;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));width:auto;max-width:none;max-height:42dvh;border:1px solid #aaa!important;box-shadow:0 7px 24px #0006}.workspace.detail-open .rail{display:none}.workspace.details-collapsed.detail-open .detail-panel{display:block}.detail-panel{top:auto;z-index:900;padding:13px 15px;min-height:0;max-height:190px}.detail-panel:has(.detail-empty){display:none}.guild-list{max-height:23dvh;overflow:auto}.leaflet-control-attribution{max-width:70%;font-size:6px!important}.map-marker-button{width:44px;height:44px}.map-marker-button .perceptor-marker{display:grid;width:44px;height:44px;padding:4px;place-items:center;border:2px solid #f4f2ea;border-radius:9px}.map-marker-button .perceptor-marker>span{display:none}.marker-guild-logo{flex-basis:34px!important;width:34px!important;height:34px!important}.map-marker-button .perceptor-marker i{width:22px;height:22px;border-width:3px}.detail-head{margin-bottom:4px}.detail-head .eyebrow{display:none}.detail-guild-logo,.detail-swatch,.detail-facts,.source-link,.undo-button{display:none}.detail-guild{margin:0 28px 4px 0;font-size:16px}.coordinates{font-size:13px}.result-actions{grid-template-columns:1fr 1fr;margin-top:11px;padding-top:10px}.result-button{height:36px}.close-button{position:absolute;top:9px;right:12px}.history-marker-button{width:40px;height:40px}.history-guild-logo,.history-guild-fallback{width:40px;height:40px}.leaflet-tile-container{will-change:auto!important}.leaflet-tile{backface-visibility:visible;-webkit-backface-visibility:visible;box-shadow:none!important;filter:none!important}}

@media all{.map-marker-button:not(.history-marker-button){width:40px;height:40px}.map-marker-button:not(.history-marker-button) .perceptor-marker{position:absolute;left:11px;top:11px;width:18px;height:18px;padding:0;border:3px solid #fff;border-radius:50%;background:var(--guild-color);box-shadow:none;filter:none}.map-marker-button:not(.history-marker-button) .marker-guild-logo,.map-marker-button:not(.history-marker-button) .perceptor-marker i{display:none}.map-marker-button:not(.history-marker-button).is-selected .perceptor-marker{outline:3px solid #111;outline-offset:2px}}
.location-count{position:absolute;top:-9px;right:-9px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 4px;border:2px solid #f4f2ea;border-radius:10px;background:#171815;color:#fff;font:700 10px var(--mono);line-height:1;z-index:3}

.guild-entry{border-bottom:1px solid #d2d1c8}.guild-entry .guild-filter{border-bottom:0}.guild-name-button{min-width:0;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.guild-name-button::after{content:"  >";font-size:9px;color:#777}.guild-name-button[aria-expanded="true"]::after{content:"  v"}.guild-point-list{display:grid;gap:4px;max-height:180px;overflow-y:auto;padding:0 3px 9px 38px}.guild-point-button{width:100%;min-height:30px;padding:5px 9px;border:1px solid #aaa;background:#fff;color:#171815;font:10px var(--mono);cursor:pointer;text-align:left}.guild-point-button:hover,.guild-point-button:focus-visible{border-color:#111;background:#171815;color:#fff}.point-navigation{display:grid;grid-template-columns:38px 1fr 38px;gap:7px;align-items:center;margin-top:9px}.point-navigation button{height:34px;border:1px solid #777;background:#fff;color:#111;font-size:18px;cursor:pointer}.point-navigation span{text-align:center;font:10px var(--mono);color:#555}
@media all{.guild-point-list{max-height:25dvh;padding-left:37px}.guild-point-button{min-height:36px;font-size:11px}}

@media(orientation:landscape){.rail,.detail-panel{left:50%;right:auto;width:min(420px,calc(100vw - 32px));transform:translateX(-50%);max-height:72dvh}.detail-panel{width:min(360px,calc(100vw - 32px));padding:10px 13px}.detail-guild{font-size:14px}.coordinates{font-size:11px}.point-navigation{margin-top:6px}.point-navigation button{height:30px}.result-actions{margin-top:7px;padding-top:7px}.result-button{height:32px}.guild-list{max-height:45dvh}.guild-point-list{max-height:34dvh}}
.rail .map-key>div{color:#d4ece6}

/* Keep the selected guild identifiable in the compact phone point panel. */
@media all{
  .detail-guild-logo,.detail-swatch{
    display:block;
    float:left;
    width:40px;
    height:40px;
    margin:0 10px 7px 0;
    object-fit:contain;
  }
  .detail-swatch{
    border:3px solid #fff;
    border-radius:50%;
    background:var(--guild-color);
    box-shadow:0 0 0 1px #777;
  }
  .point-navigation,.result-actions{clear:both}
}
@media(orientation:landscape){
  .detail-guild-logo,.detail-swatch{width:34px;height:34px;margin-right:8px}
}


/* Compact drawers leave most of the map visible on a phone held sideways. */
@media(orientation:landscape){
  .rail{
    width:min(360px,calc(100vw - 32px));
    max-height:52dvh;
  }
  .detail-panel{
    width:min(320px,calc(100vw - 32px));
    max-height:155px;
  }
  .guild-list{max-height:29dvh}
  .guild-point-list{max-height:21dvh}
}

/* On touch screens, toolbar buttons sit directly on the map. */
@media all{
  .map-toolbar{
    left:50%;
    right:auto;
    width:auto;
    max-width:calc(100vw - 16px);
    padding:0;
    transform:translateX(-50%);
    border:0;
    background:transparent;
    box-shadow:none;
  }
  .toolbar-actions{width:auto}
  .tab-button,.zoom-button{background:#f4f2eaf2;box-shadow:0 2px 7px #0005}
}

@media(orientation:landscape){
  .detail-panel{
    left:max(8px,env(safe-area-inset-left));
    right:auto;
    transform:none;
  }
  .rail{
    left:max(8px,env(safe-area-inset-left));
    right:auto;
    width:min(420px,calc(100vw - 32px));
    max-height:88px;
    padding:8px 10px;
    transform:none;
  }
  .rail .rail-heading{display:none}
  .rail .legend-section{margin-top:0}
  .rail .section-title h2{font-size:13px}
  .rail .guild-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:44px;margin-top:5px}
}

/* Discord supplies larger safe areas than Safari when its Activity chrome is visible. */
:root{
  --atlas-safe-top:var(--discord-safe-area-inset-top,env(safe-area-inset-top,0px));
  --atlas-safe-right:var(--discord-safe-area-inset-right,env(safe-area-inset-right,0px));
  --atlas-safe-bottom:var(--discord-safe-area-inset-bottom,env(safe-area-inset-bottom,0px));
  --atlas-safe-left:var(--discord-safe-area-inset-left,env(safe-area-inset-left,0px));
}
@media all{
  html.discord-activity .map-toolbar{
    top:calc(var(--atlas-safe-top) + 8px);
    max-width:calc(100vw - var(--atlas-safe-left) - var(--atlas-safe-right) - 16px);
  }
  html.discord-activity .rail,
  html.discord-activity .detail-panel{
    bottom:calc(var(--atlas-safe-bottom) + 8px);
  }
}
@media(orientation:landscape){
  html.discord-activity .rail,
  html.discord-activity .detail-panel{
    left:calc(var(--atlas-safe-left) + 8px);
  }
}

/* Give the guild drawer a little more room in Discord's short desktop Activity window. */
@media all{
  .rail{
    width:min(var(--desktop-guild-width,460px),calc(100vw - 32px));
    height:min(var(--desktop-guild-height,230px),calc(100dvh - 24px));
    max-height:none;
    padding:10px 13px;
  }
  .rail .guild-list{
    grid-template-columns:1fr;
    flex:1;
    min-height:0;
    max-height:none;
    overflow:auto;
    scrollbar-width:thin;
    scrollbar-color:#777 #e5e3da;
  }
  .rail .guild-list::-webkit-scrollbar{width:5px;height:5px}
  .rail .guild-list::-webkit-scrollbar-thumb{background:#777}
  .rail .guild-list::-webkit-scrollbar-track{background:#e5e3da}
  .rail .legend-section{display:flex;flex:1;min-height:0;overflow:hidden;flex-direction:column}
  .rail-resizer{
    display:block;
    position:absolute;
    z-index:3;
    top:0;
    right:0;
    width:24px;
    height:24px;
    padding:0;
    border:0;
    background:linear-gradient(135deg,transparent 48%,#777 49%,#777 56%,transparent 57%,transparent 68%,#222 69%,#222 76%,transparent 77%);
    cursor:nesw-resize;
    touch-action:none;
  }
}
.rail-resizer{display:none}.guild-window-minimize{display:none}.perceptor-tools{display:grid;gap:7px;margin-top:12px}.search-field{position:relative;display:block}.search-field input,.sort-field select{width:100%;height:32px;border:1px solid #d5d7ca;background:#fffef8;color:#26342c;font:10px 'Manrope',sans-serif}.search-field input{padding:0 30px 0 9px}.search-field>span:not(.visually-hidden){position:absolute;right:9px;top:50%;transform:translateY(-50%);color:#687469;font:17px var(--mono);pointer-events:none}.sort-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;color:#747b70;font-size:9px}.sort-field select{padding:0 6px;cursor:pointer}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media all{.workspace,.workspace.sidebar-collapsed,.workspace.details-collapsed,.workspace.sidebar-collapsed.details-collapsed{grid-template-columns:minmax(360px,1fr) 294px}.map-column{grid-column:1}.detail-panel{grid-column:2}.rail{position:absolute;z-index:800;display:flex;grid-column:auto;grid-row:auto;min-width:280px;min-height:160px;max-width:none;max-height:none;padding:14px 16px;background:#006461f2;border:1px solid #83aaa5;box-shadow:0 8px 28px #001b1b80;resize:none;overflow:hidden}.rail .legend-section{display:flex;flex:1;min-height:0;margin-top:14px;overflow:hidden;flex-direction:column}.rail .guild-list{flex:1;min-height:0;overflow:auto;align-content:start}.rail .guild-point-list{max-height:none}.rail-heading{justify-content:flex-start;gap:10px;cursor:move;touch-action:none;user-select:none}.rail-heading .count-badge{margin-left:auto}.guild-window-minimize{display:grid;place-items:center;width:26px;height:24px;padding:0;border:1px solid #83aaa5;background:#075958;color:#fff;cursor:pointer}.guild-window-minimize::before{content:"-";font:700 17px/1 var(--mono)}.rail-resizer{display:block;position:absolute;z-index:4;right:0;bottom:0;width:24px;height:24px;padding:0;border:0;background:linear-gradient(135deg,transparent 48%,#85aaa5 49%,#85aaa5 56%,transparent 57%,transparent 68%,#fff 69%,#fff 76%,transparent 77%);cursor:nwse-resize;touch-action:none}.left-panel-toggle,.workspace.sidebar-collapsed .left-panel-toggle{position:absolute;z-index:850;left:8px;top:50%;transform:translateY(-50%)}.workspace:not(.sidebar-collapsed) .left-panel-toggle{display:none}.workspace.sidebar-collapsed .rail{display:none}}
@media(max-width:1024px),(pointer:coarse){html.keyboard-open .map-toolbar{display:none}html.keyboard-open .workspace:not(.sidebar-collapsed) .rail{display:flex;top:calc(var(--keyboard-viewport-top,0px) + 8px);bottom:auto;height:calc(var(--keyboard-viewport-height,100dvh) - 16px);max-height:none;overflow:hidden}html.keyboard-open .rail .legend-section{display:flex;flex:1;min-height:0;overflow:hidden;flex-direction:column}html.keyboard-open .rail .guild-list{flex:1;min-height:0;max-height:none;overflow:auto;align-content:start}html.keyboard-open .rail .guild-point-list{max-height:none}html.keyboard-open .rail-add-button{flex:0 0 auto}}
@media(max-width:1024px),(pointer:coarse){html.keyboard-open.discord-activity .workspace:not(.sidebar-collapsed) .rail{top:calc(var(--keyboard-viewport-top,0px) + var(--atlas-safe-top,0px) + 8px);height:calc(var(--keyboard-viewport-height,100dvh) - var(--atlas-safe-top,0px) - var(--atlas-safe-bottom,0px) - 16px)}}
@media all{.workspace,.workspace.sidebar-collapsed,.workspace.details-collapsed,.workspace.sidebar-collapsed.details-collapsed{grid-template-columns:minmax(360px,1fr)}.map-column{grid-column:1}.rail .rail-heading{display:flex}.detail-panel{position:absolute;z-index:800;right:auto;bottom:auto;grid-column:auto;grid-row:auto;width:360px;height:auto;max-width:calc(100% - 16px);max-height:calc(100% - 16px);min-height:0;overflow:auto;border:1px solid #b8b8b0!important;box-shadow:0 8px 28px #0008}.detail-head{cursor:move;touch-action:none;user-select:none}.workspace.details-collapsed .detail-panel{display:none}.workspace:not(.details-collapsed) .right-panel-toggle{display:none}.result-actions{grid-template-columns:1fr!important}}

/* Movable, resizable overlay panels shared by desktop and touch layouts. */
@media all{
  .rail,.detail-panel{position:absolute;right:auto;bottom:auto;max-width:calc(100% - 16px);max-height:calc(100% - 16px);overflow:hidden}
  .rail{min-width:min(300px,calc(100% - 16px));min-height:min(220px,calc(100% - 16px))}
  .rail-heading,.detail-head{cursor:move;touch-action:none;user-select:none}
  .rail-resizer,.detail-resizer{display:block;position:absolute;z-index:6;top:auto;right:0;bottom:0;width:28px;height:28px;padding:0;border:0;background:linear-gradient(135deg,transparent 48%,#777 49%,#777 56%,transparent 57%,transparent 68%,#222 69%,#222 76%,transparent 77%);cursor:nwse-resize;touch-action:none}
  .detail-panel{min-width:min(280px,calc(100% - 16px));min-height:min(110px,calc(100% - 16px))}
  .detail-panel .detail-resizer{display:block}
}

@media(max-width:1024px),(pointer:coarse){
  html.keyboard-open .workspace:not(.sidebar-collapsed) .rail{top:calc(var(--keyboard-viewport-top,0px) + 8px)!important;bottom:auto!important;height:calc(var(--keyboard-viewport-height,100dvh) - 16px)!important;max-height:none!important}
  html.keyboard-open.discord-activity .workspace:not(.sidebar-collapsed) .rail{top:calc(var(--keyboard-viewport-top,0px) + var(--atlas-safe-top,0px) + 8px)!important;height:calc(var(--keyboard-viewport-height,100dvh) - var(--atlas-safe-top,0px) - var(--atlas-safe-bottom,0px) - 16px)!important}
}

/* Active points use the official guild emblem when one is available. */
@media all{
  .map-marker-button:not(.history-marker-button) .perceptor-marker{
    left:3px;
    top:3px;
    width:34px;
    height:34px;
    padding:2px;
    border:2px solid #f4f2ea;
    border-radius:8px;
    background:#171815;
  }
  .map-marker-button:not(.history-marker-button) .marker-guild-logo{
    display:block!important;
    width:28px!important;
    height:28px!important;
    object-fit:contain;
  }
  .map-marker-button:not(.history-marker-button) .perceptor-marker>i{
    display:block;
    width:20px;
    height:20px;
    margin:auto;
    border:3px solid #fff;
    border-radius:50%;
    background:var(--guild-color);
  }
}

/* Keep panel drag handles visible below Discord chrome. */
@media all{
  .detail-head{position:relative;min-height:24px;margin-bottom:4px;padding-right:32px}
  .detail-head::before{content:"DRAG";position:absolute;left:50%;top:0;transform:translateX(-50%);color:#777;font:700 8px/18px var(--mono);letter-spacing:2px;pointer-events:none}
}

/* ASCII-only panel controls and a small map overscan prevent encoding artifacts and iframe edge gaps. */
@media all{
  .guild-name-button::after{content:"  >"}
  .guild-name-button[aria-expanded="true"]::after{content:"  v"}
  .guild-window-minimize{border-color:#111;background:#111;color:#fff}
  .guild-window-minimize::before{content:"-"}
  .map-column,.workspace.sidebar-collapsed .map-column{inset:0 -2px -2px 0;width:auto;height:auto}
  .map-frame{inset:0;width:auto;height:auto}
}
.guild-alliance{display:block;margin:-5px 0 7px 40px;color:#73736d;font:8px var(--mono);letter-spacing:.2px}
.delete-history-actions,.manual-confirmation-actions{display:grid;grid-template-columns:1fr;gap:7px}.delete-history-actions:has(.confirmation-no-button:not([hidden])),.manual-confirmation-actions:has(.confirmation-no-button:not([hidden])),.result-actions:has(.confirmation-no-button:not([hidden])){grid-template-columns:1fr 1fr!important}.confirmation-no-button{height:38px;border:1px solid #171815;background:#f8f7f0;color:#171815;font:11px 'Manrope',sans-serif;cursor:pointer}.confirmation-no-button[hidden]{display:none}.delete-history-actions .confirmation-no-button{margin-top:10px}.manual-confirmation-actions .confirmation-no-button{height:40px;margin-top:8px}.result-actions .confirmation-no-button{width:100%}.manual-duplicate-warning{margin:10px 0 2px;padding:9px;border:1px solid #171815;background:#fff;color:#171815;font-size:11px;line-height:1.45}.manual-duplicate-warning[hidden]{display:none}

/* Compact movable panels. Kept in one block so the layout can be reverted cleanly. */
@media all{
  .rail{padding:10px 12px}
  .rail-heading{min-height:26px;gap:6px}
  .rail-heading .count-badge{margin-left:6px;padding:3px 6px}
  .guild-window-title{font-size:15px;line-height:1}
  .guild-show-all{margin-left:auto;padding:4px}
  .guild-window-minimize{width:24px;height:22px}
  .rail .legend-section{margin-top:6px}
  .perceptor-tools{grid-template-columns:minmax(0,1fr) 124px;gap:5px;margin-top:0}
  .search-field input,.sort-field select{height:30px}
  .sort-field{display:block}
  .sort-field>span{display:none}
  .guild-list{margin-top:5px;gap:0}
  .guild-filter{grid-template-columns:15px 23px minmax(0,1fr) auto;gap:6px;padding:5px 2px}
  .guild-logo{width:22px;height:22px}
  .guild-name{font-size:10px;line-height:1.2}
  .guild-count{font-size:9px}
  .guild-alliance{margin:-2px 0 3px 46px;font-size:7px}
  .guild-point-list{gap:3px;padding:0 2px 5px 44px}
  .guild-point-button{min-height:28px;padding:4px 7px;font-size:9px}
  .rail-add-button{height:32px;margin-top:7px}
  .empty-legend{margin:8px 2px}

  .detail-panel{padding:8px 11px}
  .detail-head{height:0;min-height:0;margin:0;padding:0}
  .detail-head::before{display:none;content:none}
  .detail-head .close-button{top:0;right:0;font-size:20px}
  .detail-summary{display:flex;align-items:center;gap:8px;min-width:0;padding-right:28px}
  .detail-summary-text{min-width:0;flex:1}
  .detail-guild-logo,.detail-swatch{display:block;width:34px;height:34px;margin:0;flex:0 0 34px;object-fit:contain}
  .detail-swatch{border-radius:5px}
  .detail-guild{margin:0 0 2px;font-size:14px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .coordinates{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .detail-controls{display:grid;grid-template-columns:110px minmax(90px,1fr);gap:6px;align-items:end;margin-top:7px}
  .detail-controls>.result-actions:only-child{grid-column:1/-1}
  .detail-controls .point-navigation,.detail-controls .result-actions{margin:0;padding:0;border:0;clear:none}
  .detail-controls .point-navigation{grid-template-columns:30px 42px 30px;gap:4px}
  .detail-controls .point-navigation button,.detail-controls .result-button,.detail-controls .confirmation-no-button{height:32px}
  .detail-controls .result-button{text-align:center;padding:0 6px}
}

/* Soft corners shared by panels, controls and form fields. */
@media all{
  .rail,.detail-panel,.map-toolbar,dialog,.map-status{border-radius:8px}
  .tab-button,.zoom-button,.guild-window-minimize,.count-badge,.guild-point-button,.result-button,.confirmation-no-button,.delete-history-button,.submit-button,.add-perceptor-button,.panel-toggle{border-radius:5px}
  .search-field input,.sort-field select,#manual-form input{border-radius:5px}
  .guild-filter input{border-radius:3px}
}

/* Inline panel coordinates control both phone orientations. */
@media all{
  .rail,.detail-panel{right:auto!important;bottom:auto!important;transform:none!important}
}
.source-link:is(button){appearance:none;background:none;font:inherit;cursor:pointer}
dialog#screenshot-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#080808;color:#fff;overflow:hidden}
dialog#screenshot-dialog[open]{display:grid;place-items:center}
dialog#screenshot-dialog::backdrop{background:#080808}
#screenshot-image{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;touch-action:pinch-zoom}
.screenshot-close{position:fixed;z-index:2;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #fff8;border-radius:50%;background:#111d;color:#fff;font:32px/1 Arial,sans-serif;cursor:pointer}
.screenshot-loading{position:absolute;inset:0;display:grid;place-items:center;padding:70px 20px;color:#eee;font:14px 'Manrope',sans-serif;text-align:center}
.screenshot-loading[hidden],#screenshot-image[hidden]{display:none}
.detail-panel .source-link{display:inline-block;margin-top:7px;padding:0 0 2px;border-width:0 0 1px;font-size:9px;line-height:1.2}
html.discord-mobile{--atlas-safe-top:max(var(--discord-safe-area-inset-top,env(safe-area-inset-top,0px)),52px)}
.screenshot-close{top:calc(var(--atlas-safe-top) + 12px);right:calc(var(--atlas-safe-right) + 12px)}
dialog#position-dialog{width:min(390px,calc(100vw - var(--atlas-safe-left) - var(--atlas-safe-right) - 24px));max-height:calc(100dvh - var(--atlas-safe-top) - var(--atlas-safe-bottom) - 24px);padding:16px;border:1px solid #777;border-radius:9px;background:#f4f2ea;color:#171815;overflow:auto}
.position-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.position-dialog-head h2{margin:3px 0 12px;font:600 15px var(--mono)}.position-dialog-head .close-button{position:static}.position-dialog-list{display:grid;gap:7px}.position-choice{display:grid;grid-template-columns:34px minmax(0,1fr) 18px;gap:10px;align-items:center;width:100%;min-height:52px;padding:8px 10px;border:1px solid #aaa;border-radius:6px;background:#fff;color:#171815;text-align:left;cursor:pointer}.position-choice-logo,.position-choice-fallback{display:grid;width:34px;height:34px;place-items:center;object-fit:contain}.position-choice-fallback{border-radius:5px;background:var(--guild-color);color:#fff;font:700 14px var(--mono)}.position-choice>span:nth-child(2){display:grid;gap:3px;min-width:0}.position-choice strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.position-choice small{color:#666;font:9px var(--mono)}
.zaap-marker-button{width:25px!important;height:25px!important;z-index:20}.zaap-marker-icon{display:block;width:23px;height:23px;object-fit:contain;filter:drop-shadow(0 1px 2px #0009);transform:scale(1.15);pointer-events:none}.zaap-marker-button:focus-visible .zaap-marker-icon{outline:2px solid #fff;outline-offset:2px;border-radius:50%}.zaap-detail-summary{align-items:center}.zaap-detail-icon{flex:0 0 42px;width:42px;height:42px;object-fit:contain;transform:scale(1.2)}.zaap-note{margin:8px 0 0;color:#666;font-size:10px}
@media(max-width:680px){.zaap-marker-button{width:23px!important;height:23px!important}.zaap-marker-icon{width:21px;height:21px}.zaap-detail-icon{width:36px;height:36px;flex-basis:36px}}
