:root{--bg:#080a08;--panel:#0d100d;--panel-2:#121611;--panel-3:#171c15;--line:#293027;--line-gold:#655333;--text:#e7e2d6;--muted:#918f84;--gold:#d0ae65;--gold-bright:#f0d38d;--green:#8fb36c;--green-dark:#2e4327;--red:#bd5c4d;--blue:#6fa4bd;--violet:#9a7ab7;--sidebar:332px}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--text);font:13px/1.4 "Segoe UI",Arial,sans-serif}button,input,select{font:inherit}button{color:inherit}
.app{height:100%;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);grid-template-rows:64px minmax(0,1fr);background:radial-gradient(circle at 70% 20%,#182018 0,#090b09 43%,#060706 100%)}.app.sidebarCollapsed{--sidebar:0px}.app.sidebarCollapsed .sidebar{opacity:0;pointer-events:none}.app.sidebarCollapsed .sidebarToggle{color:var(--gold-bright);border-color:var(--line-gold)}
.appHeader{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#11140f,#0b0d0b);box-shadow:0 7px 22px #0008;z-index:120}.iconButton,.smallIconButton{display:grid;place-items:center;border:1px solid #343b31;background:#121612;border-radius:7px;cursor:pointer}.iconButton{width:34px;height:34px}.smallIconButton{width:34px;height:34px;font-size:18px;color:#9c927d}.iconButton:hover,.smallIconButton:hover{border-color:var(--line-gold);color:var(--gold-bright)}
.brandMark{width:30px;height:30px;display:grid;place-items:center;border:1px solid #705d36;border-radius:50%;color:#e5c472;background:#1b1a11;box-shadow:inset 0 0 0 4px #0e100d}.brandCopy{min-width:205px}.brandTitle{font:700 18px Georgia,serif;letter-spacing:.8px;color:#f0d496}.brandTitle span{color:#d8d2c5}.brandVersion{font-size:8px;letter-spacing:1.7px;color:#77796f;margin-top:1px}
.modeSwitch{height:34px;display:flex;border:1px solid #31372e;border-radius:8px;padding:2px;background:#080a08}.modeButton{min-width:67px;border:0;border-radius:5px;background:transparent;color:#868a80;cursor:pointer}.modeButton.active{color:#f2d58c;background:#242418;box-shadow:inset 0 0 0 1px #695633}.headerSearch{height:35px;max-width:490px;min-width:220px;flex:1;display:flex;align-items:center;gap:8px;margin-left:4px;padding:0 11px;border:1px solid #2c332a;border-radius:8px;background:#080a08;color:#777d73}.headerSearch:focus-within{border-color:#665536}.headerSearch input,.sideSearch input,.coordBox input{width:100%;border:0;outline:0;background:transparent;color:var(--text)}.headerSearch input::placeholder,.sideSearch input::placeholder,.coordBox input::placeholder{color:#6e736a}
.profileControl{height:35px;display:flex;align-items:center;border:1px solid #30372d;border-radius:8px;overflow:hidden;background:#090b09}.profileControl label{padding:0 7px;color:#80765f;font-size:8px;letter-spacing:.7px;text-transform:uppercase}.profileControl select{width:116px;height:100%;border:0;border-left:1px solid #282e26;padding:0 6px;outline:0;background:#10140f;color:#dccb9d;font-size:10px}.profileControl button{width:28px;height:100%;border:0;border-left:1px solid #282e26;background:#121612;color:#8e9388;cursor:pointer}.profileControl button:hover{color:#f0d18a;background:#1d1d14}.profileControl button:disabled{opacity:.35;cursor:default}
.headerProgress{width:185px;margin-left:auto}.headerProgressText{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#898b81;text-transform:uppercase;letter-spacing:.5px}.headerProgressText b{font-size:11px;color:#d9c58f}.progressTrack{height:5px;margin-top:5px;background:#22271f;border-radius:99px;overflow:hidden}.progressFill{height:100%;width:0;background:linear-gradient(90deg,#68844e,#a9c679);border-radius:inherit;transition:width .2s}
.sidebar{grid-column:1;grid-row:2;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--line);background:linear-gradient(180deg,#10130f,#0b0d0b);transition:opacity .15s;z-index:80;overflow:hidden}.regionPanel{padding:16px 14px 13px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#161a13,#0e110e)}.eyebrow{display:block;font-size:8px;font-weight:700;letter-spacing:1.5px;color:#8e7c57}.regionPickerRow{display:flex;gap:7px;margin-top:7px}.regionPickerRow select{min-width:0;flex:1;height:35px;border:1px solid #3b4438;border-radius:7px;padding:0 9px;background:#0b0e0b;color:#e4d9bf;outline:0}.breadcrumb{font-size:9px;color:#777d74;margin-top:8px}.breadcrumb span{color:#a58e5c}
.sidebarTools{padding:13px 12px 10px;border-bottom:1px solid #222920}.sectionHeading{display:flex;align-items:end;justify-content:space-between;gap:8px}.sectionHeading b{display:block;font-size:10px;color:#aca99d;margin-top:3px}.textButton{border:0;background:transparent;padding:2px;color:#757b72;font-size:9px;cursor:pointer}.textButton.active{color:#a9c78b}.sideSearch{height:33px;display:flex;align-items:center;gap:7px;margin-top:10px;padding:0 9px;border:1px solid #2c332a;border-radius:7px;background:#080a08;color:#6f756c}
.deedList{min-height:0;flex:1;overflow:auto;padding:9px 9px 18px;scrollbar-color:#394135 transparent;scrollbar-width:thin}.listGroup{margin:5px 3px 7px;font:700 9px Georgia,serif;color:#9e8654;letter-spacing:1px;text-transform:uppercase}.deedItem{width:100%;display:grid;grid-template-columns:27px minmax(0,1fr) auto;gap:9px;align-items:center;margin-bottom:6px;padding:8px;border:1px solid #252b23;border-radius:8px;background:#111510;text-align:left;cursor:pointer;transition:.12s}.deedItem:hover{border-color:#605036;background:#161a14;transform:translateX(1px)}.deedItem.done{opacity:.45}.deedIcon{width:27px;height:27px;display:grid;place-items:center;border:1px solid #493e2a;border-radius:7px;background:#1b1a12;color:#d6b96f;font-size:12px}.deedName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#ddd7c9}.deedMeta{display:flex;align-items:center;gap:5px;margin-top:2px;font-size:8px;color:#777d73}.wikiBadge{padding:1px 4px;border:1px solid #4d6542;border-radius:4px;color:#9fbe87;background:#121a10}.deedPercent{font-size:9px;color:#979a90}.emptyList{padding:26px 13px;text-align:center;color:#747a71;font-size:11px}.emptyList b{display:block;color:#b8ad94;font:700 15px Georgia,serif;margin-bottom:5px}
.sidebarFooter{padding:10px 12px 12px;border-top:1px solid var(--line);background:#0d100d}.sourceStatus{display:flex;gap:8px;align-items:center}.sourceDot{width:7px;height:7px;border-radius:50%;background:#89af68;box-shadow:0 0 10px #7ea25c}.sourceDot.warn{background:#c4a35a;box-shadow:0 0 10px #a8894a}.sourceStatus b,.sourceStatus small{display:block}.sourceStatus b{font-size:9px;color:#a8aa9f}.sourceStatus small{font-size:8px;color:#6f746c;margin-top:1px}.footerActions{display:flex;gap:6px;margin-top:8px}.footerActions button{flex:1;border:1px solid #30372d;border-radius:6px;padding:5px;background:#121612;color:#858b81;font-size:9px;cursor:pointer}.footerActions button:hover:not(:disabled){border-color:#665536;color:#d7c390}.footerActions button:disabled{opacity:.35;cursor:default}
.main{grid-column:2;grid-row:2;min-width:0;min-height:0;display:grid;grid-template-rows:53px minmax(0,1fr);position:relative;overflow:hidden}.mapTopbar{display:flex;align-items:center;gap:15px;padding:0 14px;border-bottom:1px solid var(--line);background:#0c0f0c;z-index:55}.mapIdentity{min-width:0}.mapTitle{font:700 16px Georgia,serif;color:#ead092;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mapMeta{font-size:9px;color:#777d73;margin-top:2px}.mapTools{margin-left:auto;display:flex;align-items:center;gap:7px}.toolButton,.zoomGroup button,.coordBox button{height:31px;border:1px solid #343c31;background:#131712;color:#9da095;cursor:pointer}.toolButton{border-radius:7px;padding:0 10px}.toolButton.active{border-color:#886d3c;color:#f0d18a;background:#241e11}.toolButton:disabled{opacity:.35;cursor:default}.clearPosition:not(:disabled){border-color:#593c35;color:#c79082}.coordBox{height:31px;width:167px;display:flex;align-items:center;border:1px solid #30372d;border-radius:7px;overflow:hidden;background:#090b09}.coordBox input{min-width:0;padding:0 8px;font-size:10px}.coordBox button{width:38px;border-width:0 0 0 1px}.zoomGroup{display:flex}.zoomGroup button{min-width:31px;border-radius:0;border-right-width:0}.zoomGroup button:first-child{border-radius:7px 0 0 7px}.zoomGroup button:last-child{border-radius:0 7px 7px 0;border-right-width:1px}.zoomGroup button:disabled{opacity:.35;cursor:default}.toolButton:hover:not(:disabled),.zoomGroup button:hover:not(:disabled),.coordBox button:hover{border-color:#655333;color:#e5c980}
.viewport{position:relative;min-height:0;overflow:hidden;background:#050705;isolation:isolate}.viewport:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 90px #0008;z-index:15}.mapCanvas{position:absolute;transform-origin:0 0;will-change:transform;cursor:grab}.mapCanvas.dragging{cursor:grabbing}.mapCanvas.positioning{cursor:crosshair}.mapCanvas>img{position:absolute;inset:0;width:100%;height:100%;user-select:none;pointer-events:none;filter:saturate(.92) contrast(1.04) brightness(.92)}.markerLayer{position:absolute;inset:0}
.pin{--pin-inverse:1;position:absolute;width:16px;height:16px;transform:translate(-50%,-50%) scale(var(--pin-inverse));transform-origin:center;border:1.5px solid #171a15;border-radius:50%;display:grid;place-items:center;padding:0;box-shadow:0 2px 6px #000c,0 0 0 1px #ffffff10;cursor:pointer;font-size:8px;font-weight:800;z-index:30;pointer-events:auto;transition:filter .12s}.pin:hover{filter:brightness(1.25);z-index:45}.pin.exploration{background:#d2a94e;color:#211b0d}.pin.slayer{background:#ae5145;color:#fff}.pin.warband{background:#8965a6;color:#fff}.pin.treasure{background:#d18a3b;color:#25160a}.pin.birding{background:#76a7bd;color:#10202a}.pin.fishing{background:#4e91a6;color:#eefaff}.pin.deed{background:#8f846f;color:#17140f}.pin.stable{background:#6c9d64;color:#0d170c}.pin.wiki:before{content:"";position:absolute;right:-2px;top:-2px;width:4px;height:4px;border:1px solid #14200f;border-radius:50%;background:#b7dd8a}.pin.cluster{width:25px;border-radius:9px;background:#d2a94e;color:#241b0c;font-size:8px}.pin.pulse:after{content:"";position:absolute;inset:-9px;border:2px solid #f7d477;border-radius:50%;animation:markerPulse .85s ease-out infinite}@keyframes markerPulse{0%{transform:scale(.45);opacity:1}100%{transform:scale(1.8);opacity:0}}
.huntingArea{position:absolute;transform:translate(-50%,-50%);z-index:10;border:2px solid #c76756b8;border-radius:50%;background:#9f443526;box-shadow:inset 0 0 24px #b24f3d2e,0 0 0 1px #210d0b80;cursor:pointer;color:#ffe1b7}.huntingArea:hover{border-color:#ef9a74;background:#b94d3b3b;z-index:12}.huntingAreaIcon{--pin-inverse:1;position:absolute;left:50%;top:50%;width:27px;height:34px;display:block;transform:translate(-50%,-50%) scale(var(--pin-inverse));pointer-events:none}.huntingAreaIcon .mapPinArt{width:27px;height:34px;display:block;object-fit:contain;filter:drop-shadow(0 3px 3px #000d)}.huntingArea:hover .huntingAreaIcon .mapPinArt{filter:brightness(1.15) saturate(1.1) drop-shadow(0 4px 4px #000e)}.huntingArea.pulse{border-color:#f7d477;animation:areaPulse .8s ease-in-out 5}@keyframes areaPulse{50%{filter:brightness(1.7);box-shadow:0 0 0 9px #f7d47733}}
.playerMarker{--pin-inverse:1;position:absolute;width:17px;height:17px;padding:0;transform:translate(-50%,-50%) scale(var(--pin-inverse));z-index:32;border-radius:50%;background:#e8eadf;border:3px solid #416da3;box-shadow:0 0 0 5px #2c5f9855,0 3px 8px #000;cursor:pointer}.playerMarker:hover{filter:brightness(1.18)}.playerMarker span{position:absolute;left:50%;top:50%;width:2px;height:17px;background:#dde5ee;transform:translate(-50%,-100%);transform-origin:bottom}
.filterDock{position:absolute;left:16px;top:15px;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 32px);z-index:40}.filterChip{border:1px solid #4a4d3ed9;border-radius:999px;padding:6px 9px;background:#0d110de8;color:#8e9389;font-size:9px;cursor:pointer;box-shadow:0 3px 10px #0007;backdrop-filter:blur(8px)}.filterChip.active{border-color:#7d6940;color:#ebd294;background:#1d1d13ed}.filterChip b{margin-left:4px;font-size:8px;color:#787d74}.filterChip.active b{color:#a99a73}.positionHint{position:absolute;left:50%;top:67px;transform:translateX(-50%);z-index:48;border:1px solid #826d43;border-radius:8px;padding:8px 12px;background:#17180fe8;color:#e7ce8e;box-shadow:0 5px 18px #0009;font-size:10px}.mapLegend{position:absolute;right:14px;bottom:82px;z-index:40;display:flex;gap:11px;padding:6px 8px;border:1px solid #32392f;border-radius:7px;background:#0b0e0bdd;color:#838980;font-size:8px}.mapLegend span{display:flex;align-items:center;gap:5px}.mapLegend i{width:7px;height:7px;border-radius:50%}.legendCluster{background:#d1a84c;box-shadow:6px 0 0 #d1a84c}
.dashboard{position:absolute;inset:0;overflow:auto;padding:22px;background:radial-gradient(circle at 48% 8%,#22241a 0,#0d100c 44%,#070807 86%);z-index:10;scrollbar-color:#3b4235 transparent}.dashHead{max-width:1700px;margin:0 auto 18px;display:flex;align-items:end;justify-content:space-between;gap:20px}.dashHead h1{margin:0;font:700 28px Georgia,serif;color:#ebd095}.dashHead p{margin:5px 0 0;color:#8c9187;font-size:11px}.dashSummary{border:1px solid #54472f;border-radius:999px;padding:6px 10px;background:#17180f;color:#c9b57f;font-size:9px;white-space:nowrap}.mapCards{max-width:1700px;margin:0 auto 45px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:13px}.mapCard{position:relative;aspect-ratio:4/3;border:1px solid #343a30;border-radius:11px;overflow:hidden;background:#0d100d;box-shadow:0 9px 25px #0008;cursor:pointer;transition:.16s}.mapCard:hover{transform:translateY(-3px);border-color:#8a7041;box-shadow:0 14px 32px #000a}.mapCard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.84) contrast(1.05);transition:.22s}.mapCard:hover img{transform:scale(1.025);filter:saturate(.98) contrast(1.06)}.mapCard:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#00000008 25%,#05060426 52%,#070907fa 100%)}.cardBadges{position:absolute;z-index:2;left:9px;right:9px;top:9px;display:flex;justify-content:space-between}.cardBadge{border:1px solid #77643e;border-radius:999px;padding:4px 7px;background:#0c0e0bd9;color:#e1c886;font-size:8px}.cardBody{position:absolute;z-index:2;left:11px;right:11px;bottom:10px}.cardBody h3{margin:0;font:700 16px Georgia,serif;color:#f0d79d;text-shadow:0 2px 5px #000}.cardMeta{margin-top:4px;color:#a2a397;font-size:8px}.cardBar{height:3px;margin-top:8px;border-radius:99px;overflow:hidden;background:#2c3027}.cardBar i{display:block;height:100%;background:#8baa68}
.detailDrawer{position:absolute;right:0;top:53px;bottom:0;width:min(420px,42vw);z-index:90;display:flex;flex-direction:column;border-left:1px solid #3a4035;background:#0d100df7;box-shadow:-16px 0 45px #0008;transform:translateX(103%);transition:transform .18s;backdrop-filter:blur(10px)}.detailDrawer.open{transform:translateX(0)}.drawerClose{position:absolute;right:11px;top:10px;z-index:2;width:29px;height:29px;border:1px solid #41483d;border-radius:7px;background:#151914;color:#aaa99f;cursor:pointer}.drawerHero{padding:18px 50px 14px 16px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#171b14,#10130f)}.drawerKicker{font-size:8px;letter-spacing:1.2px;text-transform:uppercase;color:#a68a53}.drawerHero h2{margin:4px 0 0;font:700 20px Georgia,serif;color:#ead092}.drawerHero p{margin:5px 0 0;color:#7f857c;font-size:9px}.drawerBody{min-height:0;overflow:auto;padding:14px;scrollbar-color:#394135 transparent}.detailSection{margin-bottom:16px}.detailSection h3{margin:0 0 7px;font:700 9px Georgia,serif;letter-spacing:1px;text-transform:uppercase;color:#aa925e}.detailText{font-size:10px;color:#b7b3a8}.chips{display:flex;flex-wrap:wrap;gap:5px}.chip{border:1px solid #343b31;border-radius:999px;padding:4px 7px;background:#131713;color:#8e9389;font-size:8px}.wikiLink{color:#a9c98d;text-decoration:none}.wikiLink:hover{text-decoration:underline}.objectiveRow{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 0;border-top:1px solid #262d24}.objectiveRow:first-child{border-top:0}.objectiveCheck{width:23px;height:23px;border:1px solid #49513f;border-radius:6px;background:#141814;color:#ccd7c5;cursor:pointer}.objectiveCheck.done{border-color:#607d52;background:#31462a;color:#e1f0d9}.objectiveName{font-size:10px;color:#d4d0c5}.objectiveCoord{font-size:8px;color:#777d73;margin-top:2px}.showButton{border:1px solid #4b4432;border-radius:6px;padding:4px 7px;background:#18170f;color:#c7ae73;font-size:8px;cursor:pointer}.completeDeed{width:100%;border:1px solid #6b5734;border-radius:8px;padding:8px;background:#211d11;color:#e1c37b;cursor:pointer}.completeDeed.done{border-color:#5d7651;background:#172014;color:#bcd4ae}.advancedComplete{width:100%;margin:0 0 14px;border:1px solid #8a6b38;border-radius:8px;padding:10px;background:linear-gradient(180deg,#342810,#211b0e);color:#f0d28a;font-weight:700;cursor:pointer}.advancedComplete.done{border-color:#658253;background:#1b2b17;color:#c9e1b8}.clusterRow{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 0;border-top:1px solid #272d25}.clusterDot{width:11px;height:11px;border-radius:50%;background:#cda34b;margin:auto}.clusterName{font-size:10px}.clusterMeta{font-size:8px;color:#777d73;margin-top:2px}.clusterActions{display:flex;gap:5px;align-items:center}.completeMini{border:1px solid #6b5734;border-radius:6px;padding:4px 7px;background:#211d11;color:#e1c37b;font-size:8px;cursor:pointer}.completeMini.done{border-color:#5d7651;background:#172014;color:#bcd4ae}
.nextTarget{position:absolute;left:18px;right:18px;bottom:14px;min-height:61px;z-index:60;display:grid;grid-template-columns:48px 36px minmax(0,1fr) auto auto auto auto;gap:10px;align-items:center;padding:8px 9px;border:1px solid #5b4d34;border-radius:11px;background:linear-gradient(90deg,#10140fed,#15170fed);box-shadow:0 10px 35px #000c;backdrop-filter:blur(12px)}.targetOrdinal{height:43px;border-right:1px solid #353a30;display:flex;flex-direction:column;justify-content:center}.targetOrdinal span{font-size:7px;letter-spacing:1.3px;color:#81765e}.targetOrdinal b{font:700 17px Georgia,serif;color:#d0b36e}.targetIcon{width:31px;height:31px;display:grid;place-items:center;border:1px solid #6d5a36;border-radius:8px;background:#211d10;color:#e0bd69}.targetCopy{min-width:0}.targetCopy span,.targetCopy b,.targetCopy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.targetCopy span{font-size:7px;letter-spacing:1px;text-transform:uppercase;color:#8d805f}.targetCopy b{font:700 13px Georgia,serif;color:#ead092;margin-top:1px}.targetCopy small{font-size:8px;color:#858a81;margin-top:2px}.targetDistance{min-width:60px;text-align:right;color:#9b998d;font-size:9px}.targetDistance b{display:block;color:#d4c18d;font-size:11px}.targetSecondary,.targetDone{height:34px;border-radius:7px;padding:0 12px;cursor:pointer}.targetSecondary{border:1px solid #3b4238;background:#151915;color:#999d93}.targetDone{border:1px solid #71865e;background:linear-gradient(180deg,#3d5532,#2b4125);color:#e3f0dc;font-weight:600}.targetSecondary:hover{border-color:#75623d;color:#dfc682}.targetDone:hover{filter:brightness(1.1)}
.toast{position:fixed;left:50%;bottom:22px;z-index:200;transform:translate(-50%,12px);padding:8px 11px;border:1px solid #695636;border-radius:8px;background:#15180fee;color:#e5cd8e;box-shadow:0 5px 20px #000a;opacity:0;pointer-events:none;transition:.15s}.toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}
@media(max-width:960px){.profileControl label{display:none}.profileControl select{width:102px;border-left:0}.profileControl #renameProfile,.profileControl #deleteProfile{display:none}}
@media(max-width:1120px){:root{--sidebar:300px}.brandCopy{min-width:170px}.brandTitle{font-size:16px}.headerProgress{display:none}.coordBox{display:none}.nextTarget{grid-template-columns:43px 32px minmax(0,1fr) auto auto auto}.targetDistance{display:none}}
@media(max-width:820px){.app{--sidebar:0px}.sidebar{position:fixed;left:0;top:64px;bottom:0;width:310px;opacity:0;pointer-events:none;transform:translateX(-100%);transition:.16s}.app.mobileSidebar .sidebar{opacity:1;pointer-events:auto;transform:translateX(0)}.brandCopy{display:none}.modeSwitch{margin-left:0}.profileControl{display:none}.headerSearch{min-width:0}.mapTools .toolButton span{display:none}.detailDrawer{width:min(410px,88vw)}.nextTarget{left:8px;right:8px;bottom:8px;grid-template-columns:34px minmax(0,1fr) auto auto}.targetOrdinal,.targetIcon,.targetDistance,.targetSecondary#skipTarget{display:none}.filterDock{left:8px;top:8px}.mapLegend{display:none!important}}
.objectiveCheck:disabled{opacity:.55;cursor:default}.completeDeed:disabled,.advancedComplete:disabled{opacity:.45;cursor:default}.completeMini.locked{border-color:#3f4038;color:#77796f;background:#141612}.completeMini:disabled{opacity:.55;cursor:default}
.uiIcon{width:1em;height:1em;display:block;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.deedIcon .uiIcon{width:15px;height:15px}.deedIcon.icon-exploration,.targetIcon.icon-exploration{color:#e2bf63}.deedIcon.icon-lore,.targetIcon.icon-lore{color:#c49bda}.deedIcon.icon-slayer,.targetIcon.icon-slayer{color:#e88870}.deedIcon.icon-slayer-advanced,.targetIcon.icon-slayer-advanced{color:#ffb35f}.deedIcon.icon-warband,.targetIcon.icon-warband{color:#b58bcf}.deedIcon.icon-treasure,.targetIcon.icon-treasure{color:#e5a751}.deedIcon.icon-birding,.targetIcon.icon-birding{color:#8ec7dc}.deedIcon.icon-fishing,.targetIcon.icon-fishing{color:#72bed4}.deedIcon.icon-stable,.targetIcon.icon-stable{color:#96c38b}.filterChip{display:inline-flex;align-items:center;gap:5px}.filterChip .uiIcon{width:12px;height:12px}.filterChip .mapPinArt{width:16px;height:20px;display:block;object-fit:contain;filter:drop-shadow(0 1px 1px #000c)}.filterChip.icon-exploration .uiIcon{color:#d8b354}.filterChip.icon-slayer .uiIcon{color:#dd7662}.filterChip.icon-warband .uiIcon{color:#a97bc6}.filterChip.icon-treasure .uiIcon{color:#df9940}.filterChip.icon-birding .uiIcon{color:#80b8ce}.filterChip.icon-fishing .uiIcon{color:#62abc0}.pin .uiIcon{width:10px;height:10px;stroke-width:2.2}.pin.icon-lore{background:#8d68a4;color:#fff}.pin.icon-slayer-advanced{background:#c46a35;color:#fff;box-shadow:0 2px 6px #000c,0 0 0 2px #f3bc6d55}.targetIcon .uiIcon{width:17px;height:17px}.mapLegend{max-width:min(760px,calc(100% - 28px));flex-wrap:wrap;justify-content:flex-end}.mapLegend .legendType{display:inline-flex;align-items:center;gap:4px;color:#9da095}.mapLegend .legendType .uiIcon{width:10px;height:10px}.mapLegend .legendType .mapPinArt{width:14px;height:18px;display:block;object-fit:contain;filter:drop-shadow(0 1px 1px #000c)}.mapLegend .icon-exploration .uiIcon{color:#d8b354}.mapLegend .icon-lore .uiIcon{color:#c49bda}.mapLegend .icon-slayer .uiIcon{color:#dd7662}.mapLegend .icon-slayer-advanced .uiIcon{color:#f0a55e}.mapLegend .icon-warband .uiIcon{color:#a97bc6}.mapLegend .icon-treasure .uiIcon{color:#df9940}.mapLegend .icon-birding .uiIcon{color:#80b8ce}.mapLegend .icon-fishing .uiIcon{color:#62abc0}.mapLegend .icon-stable .uiIcon{color:#8fbc84}.mapCanvas{will-change:auto}.mapCanvas.dragging{will-change:transform}.mapCanvas>img{image-rendering:auto;backface-visibility:visible;transform:none}

/* v2.7 premium map pins: the pointed tip, not the centre, is the coordinate anchor. */
:root{--marker-w:27px;--marker-h:34px;--pin-shape:polygon(50% 100%,37% 83%,25% 68%,16% 54%,10% 40%,11% 28%,17% 16%,27% 7%,39% 2%,50% 0,61% 2%,73% 7%,83% 16%,89% 28%,90% 40%,84% 54%,75% 68%,63% 83%)}
.pin{--pin-face:#9b7b43;--pin-face-dark:#3e301a;--pin-edge:#f0d187;--pin-ink:#fff5d3;width:var(--marker-w);height:var(--marker-h);transform:translate(-50%,-100%) scale(var(--pin-inverse));transform-origin:50% 100%;display:block;border:0;border-radius:0;padding:0;clip-path:var(--pin-shape);background:var(--pin-edge)!important;box-shadow:none!important;filter:drop-shadow(0 3px 3px #000d);isolation:isolate;overflow:hidden}
.pin::before,.pin.wiki::before{content:"";position:absolute;z-index:0;inset:2px 2px 3px;width:auto;height:auto;border:0;border-radius:0;clip-path:var(--pin-shape);background:linear-gradient(145deg,var(--pin-face) 10%,var(--pin-face-dark) 82%)}
.pin::after{content:"";position:absolute;z-index:1;left:7px;top:4px;width:8px;height:3px;border-radius:50%;background:#fff6;transform:rotate(-24deg);pointer-events:none}
.pin .uiIcon{position:absolute;z-index:2;left:50%;top:6px;width:13px;height:13px;transform:translateX(-50%);color:var(--pin-ink)!important;stroke-width:2.15;filter:drop-shadow(0 1px 1px #000b)}
.pin.exploration{--pin-face:#b78a30;--pin-face-dark:#50370e;--pin-edge:#f4d278;--pin-ink:#fff5cf}.pin.icon-lore{--pin-face:#8e68a8;--pin-face-dark:#3e2c50;--pin-edge:#d7b3eb;--pin-ink:#fff6ff}.pin.slayer{--pin-face:#a84b3e;--pin-face-dark:#4b1e1a;--pin-edge:#ed9b82;--pin-ink:#fff2e9}.pin.icon-slayer-advanced{--pin-face:#c96f30;--pin-face-dark:#572a10;--pin-edge:#ffc16d;--pin-ink:#fff5de}.pin.warband{--pin-face:#775393;--pin-face-dark:#30203f;--pin-edge:#c7a0dd;--pin-ink:#fff4ff}.pin.treasure{--pin-face:#bd7629;--pin-face-dark:#4e2b0a;--pin-edge:#f0b858;--pin-ink:#fff6d7}.pin.birding{--pin-face:#5c94aa;--pin-face-dark:#203c47;--pin-edge:#a8d6e4;--pin-ink:#f3fdff}.pin.fishing{--pin-face:#397f98;--pin-face-dark:#153641;--pin-edge:#8bcfe0;--pin-ink:#effcff}.pin.deed{--pin-face:#80745e;--pin-face-dark:#332d24;--pin-edge:#c8bda7;--pin-ink:#fff9e9}.pin.stable{--pin-face:#588553;--pin-face-dark:#20391f;--pin-edge:#a8cf96;--pin-ink:#f1ffea}
.pin.icon-ruins{--pin-face:#887652;--pin-face-dark:#30281b;--pin-edge:#d5be8b;--pin-ink:#fff7df}.pin.icon-settlement{--pin-face:#7b632f;--pin-face-dark:#34250e;--pin-edge:#dfbd65;--pin-ink:#fff6d7}.pin.icon-cave{--pin-face:#5f625d;--pin-face-dark:#222622;--pin-edge:#aeb5aa;--pin-ink:#f5f6ed}.pin.icon-relic{--pin-face:#4d817f;--pin-face-dark:#183b3a;--pin-edge:#91d0c8;--pin-ink:#effffc}.pin.icon-flora{--pin-face:#5d8747;--pin-face-dark:#213b1a;--pin-edge:#a8d57e;--pin-ink:#f2ffe7}.pin.icon-route{--pin-face:#8b713f;--pin-face-dark:#392a13;--pin-edge:#dec37e;--pin-ink:#fff8de}.pin.icon-water{--pin-face:#397b91;--pin-face-dark:#153844;--pin-edge:#8bcbd9;--pin-ink:#effcff}.pin.icon-npc{--pin-face:#8a5f45;--pin-face-dark:#3d2518;--pin-edge:#d9a880;--pin-ink:#fff3e5}
.pin.cluster{--marker-w:31px;--marker-h:38px;width:var(--marker-w);height:var(--marker-h);border-radius:0;font-size:9px}.pin.cluster .clusterCount{position:absolute;z-index:2;left:50%;top:7px;transform:translateX(-50%);color:var(--pin-ink);font-weight:800;letter-spacing:-.4px;text-shadow:0 1px 2px #000;white-space:nowrap}
.pin:hover{filter:brightness(1.18) drop-shadow(0 4px 5px #000e);z-index:45}.pin.pulse::after{content:none}.pin.pulse{animation:pinDropPulse .85s ease-in-out infinite}@keyframes pinDropPulse{50%{filter:brightness(1.35) drop-shadow(0 0 8px #f7d477) drop-shadow(0 4px 4px #000)}}

/* Cleaner deed-stage rows and source-free player-facing details. */
.detailDrawer{width:clamp(380px,34vw,500px)}.drawerHero{padding:clamp(15px,1.4vw,21px) 52px clamp(12px,1vw,17px) clamp(14px,1.2vw,19px)}.drawerHero h2{font-size:clamp(20px,1.45vw,27px);line-height:1.15}.drawerBody{padding:clamp(12px,1.15vw,18px)}
.clusterRow{grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0}.clusterCopy{display:block;min-width:0}.clusterName,.clusterMeta{display:block}.clusterName{font-size:11px;line-height:1.25;color:#ded8ca;white-space:normal}.clusterMeta{margin-top:4px;font-size:9px;line-height:1.3;color:#858b81}.clusterStageIcon{--stage-face:#88713e;width:28px;height:33px;display:grid;place-items:center;align-self:center;clip-path:var(--pin-shape);background:linear-gradient(145deg,#dbbb6d,var(--stage-face) 72%,#322711);color:#fff4cf;filter:drop-shadow(0 2px 2px #000a)}.clusterStageIcon .uiIcon{width:14px;height:14px;margin-top:-5px;filter:drop-shadow(0 1px 1px #000a)}.clusterStageIcon.icon-slayer{--stage-face:#8e3f35;background:linear-gradient(145deg,#d7826e,var(--stage-face) 64%,#411a17)}.clusterStageIcon.icon-slayer-advanced{--stage-face:#b85f28;background:linear-gradient(145deg,#f0a852,var(--stage-face) 64%,#4b230e)}.clusterStageIcon.icon-lore{--stage-face:#77518e}.clusterStageIcon.icon-warband{--stage-face:#68457e}.clusterStageIcon.icon-treasure{--stage-face:#a86621}.clusterActions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.completeMini,.showButton{min-height:31px;padding:0 9px;white-space:nowrap}.detailActions{display:flex;justify-content:flex-end;margin:-5px 0 12px}.detailActions .wikiLink{border:1px solid #35412f;border-radius:7px;padding:6px 9px;background:#111710;color:#9fc18a;font-size:9px}.stageChip{border-color:#665231;color:#d5bd84}.killChip{border-color:#5e3c32;color:#dea28e}
.footerActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.importPath{margin-top:11px;padding:10px;border:1px solid #3b4337;border-radius:8px;background:#090c09;color:#8e9489;font-size:8px;line-height:1.55;overflow-wrap:anywhere}.importPath b{color:#cfbc8b}.importPrimary{width:100%;min-height:38px;border:1px solid #7d6539;border-radius:8px;background:linear-gradient(180deg,#332a15,#211c10);color:#efd18a;font-weight:700;cursor:pointer}.importPrimary:hover{filter:brightness(1.1)}.importStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.importStats span{min-width:0;padding:11px 6px;border:1px solid #343b31;border-radius:8px;background:#121612;text-align:center}.importStats b,.importStats small{display:block}.importStats b{font:700 18px Georgia,serif;color:#e4c77f}.importStats small{margin-top:4px;color:#777d73;font-size:7px;text-transform:uppercase;letter-spacing:.5px}.importError{padding:11px;border:1px solid #614039;border-radius:8px;background:#1d1210;color:#dda99d}.mapLegend .icon-ruins .uiIcon{color:#d5be8b}.mapLegend .icon-settlement .uiIcon{color:#dfbd65}.mapLegend .icon-cave .uiIcon{color:#aeb5aa}.mapLegend .icon-relic .uiIcon{color:#91d0c8}.mapLegend .icon-flora .uiIcon{color:#a8d57e}.mapLegend .icon-route .uiIcon{color:#dec37e}.mapLegend .icon-water .uiIcon{color:#8bcbd9}.mapLegend .icon-npc .uiIcon{color:#d9a880}

/* v3.0 raster map crests: selected LOTRO-inspired artwork fills each droplet. */
.pin{clip-path:none;background:transparent!important;overflow:visible;isolation:auto;filter:none!important}
.pin::before,.pin.wiki::before,.pin::after{content:none}
.pin>.mapPinArt{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;overflow:visible;pointer-events:none;user-select:none;image-rendering:auto;filter:drop-shadow(0 3px 2px #000e);transition:filter .12s,transform .12s}
.pinFrame{fill:var(--pin-edge);stroke:#15130d;stroke-width:1.4;stroke-linejoin:round}
.pinField{fill:var(--pin-face);stroke:var(--pin-face-dark);stroke-width:1.25}
.pinAura{fill:none;stroke:var(--pin-edge);stroke-width:1;stroke-linecap:round;opacity:.48}
.pinGround{fill:none;stroke:var(--pin-face-dark);stroke-width:1.2;stroke-linecap:round;opacity:.65}
.pinScene{stroke-linecap:round;stroke-linejoin:round}
.pinScene .sceneFill{fill:var(--pin-ink);stroke:var(--pin-face-dark);stroke-width:.7}
.pinScene .sceneAccent{fill:var(--pin-accent);stroke:var(--pin-face-dark);stroke-width:.65}
.pinScene .sceneDark{fill:var(--pin-face-dark);stroke:var(--pin-edge);stroke-width:.45}
.pinScene .sceneLine{fill:none;stroke:var(--pin-ink);stroke-width:1.35}
.pinShine{fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;opacity:.46}
.pinGem{fill:var(--pin-accent);stroke:var(--pin-edge);stroke-width:.65}
.pin:hover>.mapPinArt{filter:brightness(1.15) saturate(1.12) drop-shadow(0 4px 4px #000f);transform:translateY(-1px)}
.pin.pulse{animation:none}.pin.pulse>.mapPinArt{animation:illustratedPinPulse .85s ease-in-out infinite}@keyframes illustratedPinPulse{50%{filter:brightness(1.32) saturate(1.18) drop-shadow(0 0 7px #f7d477) drop-shadow(0 4px 3px #000)}}
.pin.icon-exploration{--pin-accent:#ffe8a0}.pin.icon-ruins{--pin-accent:#efc86f}.pin.icon-settlement{--pin-accent:#ffd76e}.pin.icon-cave{--pin-accent:#e4ddc0}.pin.icon-relic{--pin-accent:#85f3d9}.pin.icon-flora{--pin-accent:#d8f08a}.pin.icon-route{--pin-accent:#f5d17d}.pin.icon-water{--pin-accent:#b8f0ff}.pin.icon-npc{--pin-accent:#ffc489}.pin.icon-lore{--pin-accent:#f2c7ff}.pin.icon-slayer{--pin-accent:#ffb08b}.pin.icon-slayer-advanced{--pin-accent:#ffe18b}.pin.icon-warband{--pin-accent:#e1b3ff}.pin.icon-treasure{--pin-accent:#ffe387}.pin.icon-birding{--pin-accent:#e7fbff}.pin.icon-fishing{--pin-accent:#bcefff}.pin.icon-deed{--pin-accent:#f2d9a5}.pin.icon-stable{--pin-accent:#d9f1aa}
.pin.cluster .clusterCount{left:auto;right:-7px;top:-4px;min-width:16px;height:16px;display:grid;place-items:center;padding:0 3px;transform:none;border:1px solid #f2cf7b;border-radius:999px;background:linear-gradient(180deg,#4b3715,#241a0b);box-shadow:0 2px 5px #000d;color:#fff0bd;font-size:7px;letter-spacing:-.35px;text-shadow:0 1px 1px #000;z-index:4}

/* Use the same illustrated droplets everywhere the player identifies a category. */
.deedIcon,.targetIcon,.clusterStageIcon{border:0;clip-path:none;background:transparent!important;box-shadow:none;color:inherit;filter:none}
.deedIcon{width:27px;height:34px;display:block}
.deedIcon .mapPinArt{width:27px;height:34px;display:block;object-fit:contain;filter:drop-shadow(0 2px 2px #000b)}
.targetIcon{width:31px;height:39px;display:block}
.targetIcon .mapPinArt{width:31px;height:39px;display:block;object-fit:contain;filter:drop-shadow(0 2px 2px #000c)}
.clusterStageIcon{width:28px;height:35px;display:block;align-self:center}
.clusterStageIcon .mapPinArt{width:28px;height:35px;display:block;object-fit:contain;filter:drop-shadow(0 2px 2px #000b)}

/* v3.1 brighter symbolic artwork: slightly larger at every player-facing size. */
:root{--marker-w:31px;--marker-h:39px}
.pin.cluster{--marker-w:35px;--marker-h:44px}
.pin>.mapPinArt{filter:saturate(1.06) drop-shadow(0 3px 2px #000d)}
.huntingAreaIcon,.huntingAreaIcon .mapPinArt{width:31px;height:39px}
.deedItem{grid-template-columns:30px minmax(0,1fr) auto}
.deedIcon,.deedIcon .mapPinArt{width:30px;height:38px}
.filterChip .mapPinArt{width:18px;height:23px}
.mapLegend .legendType .mapPinArt{width:16px;height:20px}
.targetIcon,.targetIcon .mapPinArt{width:34px;height:43px}
.clusterStageIcon,.clusterStageIcon .mapPinArt{width:31px;height:39px}

/* Fluid layout from compact screens through ultrawide and 4K displays. */
@media(max-width:1400px){.headerProgress{display:none}.brandCopy{min-width:170px}.detailDrawer{width:clamp(370px,38vw,470px)}}
@media(max-width:1180px){:root{--sidebar:300px}.brandTitle{font-size:16px}.coordBox{display:none}.appHeader{gap:9px}.headerSearch{min-width:150px}.nextTarget{grid-template-columns:43px 32px minmax(0,1fr) auto auto auto}.targetDistance{display:none}}
@media(max-width:980px){.app{--sidebar:0px}.sidebar{position:fixed;left:0;top:64px;bottom:0;width:min(330px,88vw);opacity:0;pointer-events:none;transform:translateX(-100%);transition:.16s}.app.mobileSidebar .sidebar{opacity:1;pointer-events:auto;transform:translateX(0)}.brandCopy{display:none}.profileControl{display:flex}.profileControl label{display:none}.profileControl select{width:102px;border-left:0}.profileControl #renameProfile,.profileControl #deleteProfile{display:none}.headerSearch{min-width:0}.mapLegend{display:none!important}.detailDrawer{width:min(460px,92vw)}.nextTarget{left:9px;right:9px;bottom:9px}.filterDock{left:9px;top:9px;max-width:calc(100% - 18px)}}
@media(max-width:760px){.brandMark{display:none}.headerSearch{display:none}.profileControl{display:flex;margin-left:auto}.mapIdentity{display:none}.mapTools{width:100%;margin-left:0;justify-content:flex-end}.mapTools .toolButton span{display:none}.filterDock{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:3px}.filterDock::-webkit-scrollbar{display:none}.filterChip{flex:0 0 auto}.detailDrawer{width:min(460px,100vw)}.nextTarget{grid-template-columns:minmax(0,1fr) auto auto}.targetOrdinal,.targetIcon,.targetDistance,.targetSecondary#skipTarget{display:none}.dashboard{padding:16px}.dashHead h1{font-size:23px}.mapCards{grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:10px}.cardBody h3{font-size:15px}}
@media(max-width:560px){.appHeader{padding:0 9px;gap:7px}.modeButton{min-width:52px}.profileControl select{width:82px}.detailDrawer{top:53px;width:100%}.drawerHero{padding:14px 48px 12px 14px}.drawerBody{padding:11px 13px}.clusterRow{grid-template-columns:30px minmax(0,1fr);gap:9px}.clusterActions{grid-column:2;justify-content:flex-start;margin-top:-2px}.completeMini,.showButton{min-height:30px}.nextTarget{left:6px;right:6px;bottom:6px;gap:7px;padding:7px}.targetSecondary,.targetDone{padding:0 9px}.targetCopy b{font-size:12px}.dashHead{align-items:flex-start;flex-direction:column;gap:8px}.dashSummary{align-self:flex-start}.mapCards{grid-template-columns:1fr}.mapCard{max-height:330px}}
@media(max-width:410px){.profileControl select{width:72px}.profileControl #newProfile{width:26px}.modeButton{min-width:47px}.targetSecondary#showTarget{display:none}.nextTarget{grid-template-columns:minmax(0,1fr) auto}.targetDone{font-size:10px}.toolButton{padding:0 8px}.zoomGroup button{min-width:29px}}
@media(max-height:720px){.drawerHero{padding-top:11px;padding-bottom:10px}.drawerBody{padding-top:9px}.detailSection{margin-bottom:11px}.clusterRow,.objectiveRow{padding-top:7px;padding-bottom:7px}.nextTarget{min-height:54px}.targetOrdinal{height:37px}}
@media(min-width:2400px){:root{--sidebar:390px;--marker-w:35px;--marker-h:44px}.brandTitle{font-size:20px}.deedName,.objectiveName,.clusterName{font-size:13px}.deedMeta,.objectiveCoord,.clusterMeta{font-size:10px}.detailDrawer{width:560px}.drawerBody{padding:21px}.pin.cluster{--marker-w:39px;--marker-h:49px}.mapCards{max-width:2100px;grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}.dashHead{max-width:2100px}}
@media(max-width:560px){.importStats{grid-template-columns:1fr}.importStats span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;text-align:left}.importStats small{margin-top:0}}
