.campaign-layer{position:absolute;inset:0;z-index:150;display:grid;place-items:center;background:#123b48bc;backdrop-filter:blur(3px);font-family:var(--game-font);color:#24494d;pointer-events:auto}
.campaign-panel{width:620px;height:344px;display:flex;flex-direction:column;overflow:hidden;background:#fff5df;border:3px solid #254b51;border-radius:16px;box-shadow:0 5px 0 #173e4c,0 12px 25px #142f4466}
.campaign-panel>header{display:flex;align-items:center;gap:12px;background:#fff2d0;border-bottom:2px solid #bea86e;padding:6px 12px;flex-shrink:0;min-height:43px;box-sizing:border-box}
.campaign-panel header>div{flex:1;min-width:0}.campaign-panel header small{font-size:6px;color:#9a8652;letter-spacing:1.6px}.campaign-panel h2{font-size:16px;margin:1px 0 0;line-height:1.2;color:#314e4b}
.campaign-panel .btn{font-family:inherit;font-size:10px;min-height:29px;justify-content:center;padding:4px 8px;text-align:center;line-height:1.3;white-space:normal;background:#e3eee0;border:1.5px solid #719984;border-radius:8px;color:#315e53;box-shadow:0 2px 0 #92aa8e}
.campaign-panel .btn:disabled{opacity:.45;filter:grayscale(.5)}.campaign-panel button:focus-visible,.campaign-panel [tabindex]:focus-visible,.campaign-panel summary:focus-visible{outline:3px solid #e8aa3d;outline-offset:-2px}
.campaign-panel .btn.primary{background:linear-gradient(#ffe895,#ffc965);border:2px solid #a27232;color:#5b3f28;box-shadow:0 3px 0 #906836}
.campaign-overall{display:grid;grid-template-columns:auto auto;gap:2px 5px;color:#7d895f;font-size:8px;min-width:90px}.campaign-overall b{color:#3c6a55;text-align:right;font-size:10px}.campaign-overall>i{grid-column:1/3;display:block;height:5px;border:1px solid #9aa27b;border-radius:4px;background:#e2e4c4;overflow:hidden}.campaign-overall em{height:100%;display:block;background:#6ca685}
.campaign-body{display:flex;min-height:0;flex:1}
.campaign-chapters{width:45px;flex-shrink:0;background:#345f5f;padding:7px 4px;display:flex;flex-direction:column;gap:5px;overflow:auto;scrollbar-width:none;border-right:2px solid #254b51;box-sizing:border-box}
.campaign-chapters button{position:relative;display:flex;align-items:center;justify-content:center;gap:2px;flex:1 0 32px;min-height:32px;padding:3px 2px;border:1.5px solid #719485;border-radius:9px;background:#547e73;color:#e8edce;font:10px var(--game-font);box-shadow:0 2px 0 #244e4b}.campaign-chapters button>b{font-size:13px}.campaign-chapters button>i{font-size:6px;font-style:normal;position:absolute;right:3px;top:2px}.campaign-chapters i svg{width:7px;height:8px}.campaign-chapters button.locked{background:#426a65;color:#a4b9a4}.campaign-chapters button.on{background:#ffe49a;border-color:#fff1bc;color:#775324;box-shadow:0 2px 0 #a08349}.campaign-chapters button.complete{border-color:#a6c593}
.campaign-map-frame{position:relative;flex:1;min-width:0;overflow:hidden;background:var(--map-water)}
.campaign-map-heading{position:absolute;inset:0 0 auto;z-index:5;pointer-events:none;display:grid;grid-template-columns:1fr auto;padding:7px 12px 12px;background:linear-gradient(#e9f0ddec 0%,#e9f0dddf 65%,#e9f0dd00);text-shadow:0 1px #f9ffe8}
.campaign-map-heading>span{font-size:7px;letter-spacing:1.3px;color:#4c7a69}.campaign-map-heading h3{grid-column:1;margin:2px 0 0;font-size:12px;line-height:1.3;color:#355c50;overflow-wrap:anywhere}.campaign-map-heading small{grid-column:2;grid-row:1/3;align-self:center;background:#ecf1d4bd;border:1px solid #83ac8c;border-radius:10px;padding:4px 6px;font-size:8px;color:#4c785d}
.campaign-map-scroll{height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;scroll-behavior:auto}.campaign-map-scroll::-webkit-scrollbar,.campaign-chapters::-webkit-scrollbar{display:none}
.campaign-route{position:relative;width:100%;isolation:isolate}
.campaign-scenery{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}
.map-road-edge,.map-road,.map-road-marks{fill:none;stroke-linecap:round}.map-road-edge{stroke:#9b9e6b;stroke-width:20}.map-road{stroke:#f1dda3;stroke-width:14}.map-road-marks{stroke:#bead79;stroke-width:3;stroke-dasharray:2 11}.map-road-marks.travelled{stroke:#5d9c73;stroke-width:8;stroke-dasharray:none}
.campaign-node{position:absolute;transform:translate(-50%,-50%);width:57px;min-height:60px;padding:0;border:0;background:none;color:#3f654e;font-family:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;cursor:pointer;-webkit-tap-highlight-color:transparent}
.campaign-node-disc{position:relative;width:40px;height:37px;box-sizing:border-box;display:grid;place-items:center;border:3px solid #537c59;border-radius:50%;background:#e5f0b9;box-shadow:0 4px 0 #52745b,0 6px 2px #41644350;transition:transform .15s}.campaign-node-disc>svg{width:22px;height:23px}.campaign-node>b{font-size:10px;line-height:1.2;min-width:32px;margin-top:7px;padding:2px 5px;border-radius:8px;background:#f9f2d9;color:#4e6b50;box-shadow:0 1px 0 #a7b58b}
.campaign-node.selected>.campaign-node-disc{outline:3px solid #fff7b1;outline-offset:3px;transform:scale(1.06)}.campaign-node.current>.campaign-node-disc{background:#ffdb75;color:#81592d;border-color:#ac7a36;box-shadow:0 4px 0 #906736,0 0 0 7px #ffe9a66b}
.campaign-node.cleared>.campaign-node-disc{background:#75ac75;border-color:#406b52;color:#fff0a5}.campaign-clear-star{font-size:25px;line-height:1;text-shadow:0 2px #3f7150}
.campaign-node.locked>.campaign-node-disc{background:#a9bc9a;border-color:#768b73;color:#617962;box-shadow:0 4px 0 #697f68,0 6px 2px #41644330}.campaign-node.locked>b{color:#6f846b;background:#d6dfbd}.campaign-node.locked>.campaign-node-disc>svg{width:14px;height:17px}
.campaign-node.boss>.campaign-node-disc{border-radius:12px;transform:rotate(7deg);background:#edbc99;border-color:#98634e;color:#794c3b}.campaign-node.boss.selected>.campaign-node-disc{transform:rotate(7deg) scale(1.06)}.campaign-node.boss.locked>.campaign-node-disc{background:#b3b4a1;border-color:#878a78;color:#707563}.campaign-node.boss.cleared>.campaign-node-disc{background:#d8bc72;border-color:#9b7a4f;color:#fff4ae}
.campaign-boss-label{position:absolute;top:63px;left:50%;transform:translateX(-50%);padding:2px 5px;border:1px solid #ae7656;border-radius:4px;background:#a96950;color:#fff0ca;font-size:7px;white-space:nowrap}
.campaign-current-marker{position:absolute;top:-26px;left:48px;width:63px;display:flex;align-items:center;flex-direction:column;pointer-events:none;z-index:3}.campaign-current-marker img{width:60px;height:60px;object-fit:contain;filter:drop-shadow(0 3px 0 #3d655751);animation:campaign-idle 2.8s ease-in-out infinite}.campaign-current-marker em{padding:2px 5px;background:#315f55;color:#fff1b3;border:1px solid #a5c68c;border-radius:5px;font-style:normal;font-size:7px;line-height:1.25;white-space:nowrap;box-shadow:0 2px 0 #244b48}
.campaign-fortress{position:absolute;width:106px;height:87px;transform:translateX(-50%);pointer-events:none}.campaign-fortress svg{width:100%;height:100%;overflow:visible}
.campaign-location{position:absolute;left:7px;bottom:7px;z-index:5;border:1.5px solid #4d7d6c;border-radius:12px;background:#fff3cdeb;box-shadow:0 2px 0 #4e796a;color:#386452;font:8px var(--game-font);padding:4px 7px;display:flex;align-items:center;gap:4px;min-height:26px}.campaign-location>span{font:17px sans-serif;line-height:1}.campaign-map-scroll-hint{position:absolute;right:6px;bottom:8px;pointer-events:none;font:17px/8px sans-serif;text-align:center;color:#456e62;background:#fff7d891;border:1px solid #6e9b82;border-radius:9px;width:17px;padding:7px 0}
.campaign-detail{width:202px;flex-shrink:0;display:flex;flex-direction:column;background:#fff6df;border-left:2px solid #9cae86;min-width:0;box-sizing:border-box}
.campaign-detail-scroll{flex:1;min-height:0;overflow:auto;padding:10px 11px 5px;scrollbar-width:thin;scrollbar-color:#88a68b #f6e9c7}
.campaign-stage-kicker{display:flex;align-items:center;gap:5px;color:#8a8d65;font-size:7px;flex-wrap:wrap}.campaign-stage-kicker>b{font-size:13px;color:#416c56}.campaign-stage-kicker>span:nth-child(2){padding:2px 4px;border-radius:4px;background:#deead0;color:#548167}.campaign-stage-kicker>span.locked{background:#e7dfc8;color:#96917a}
.campaign-detail h3{font-size:16px;line-height:1.3;margin:5px 0;color:#345a4f;overflow-wrap:anywhere}
.campaign-panel p{font-size:9px;line-height:1.55;margin:3px 0;color:#6b816c;overflow-wrap:anywhere}
.campaign-reward{padding:7px 8px;margin-top:8px;border:1px solid #d5c79b;background:#fffbe9;border-radius:9px}.campaign-reward>small{font-size:8px;color:#96804c;display:block;margin-bottom:4px}.campaign-reward>div{display:flex;gap:12px;flex-wrap:wrap}.campaign-reward span{display:flex;gap:3px;align-items:center;font-size:11px;color:#80602d}.campaign-reward img{width:19px;height:19px}
.campaign-story{margin-top:8px;border-top:1px dashed #d1c8a3;padding-top:6px}.campaign-story summary{font-size:8px;line-height:1.4;color:#6e9276;cursor:pointer;overflow-wrap:anywhere}.campaign-story p{font-size:8px}
.campaign-deploy{flex-shrink:0;padding:7px 10px 9px;background:linear-gradient(#fff6df00,#fff2d1 30%);display:flex;flex-direction:column;gap:7px}.campaign-deploy>div{display:flex;gap:5px}.campaign-deploy>div>.btn{flex:1;min-width:0;font-size:9px;min-height:29px}.campaign-deploy>.primary{display:flex;align-items:center;justify-content:center;gap:10px;min-height:38px;font-size:14px}.campaign-deploy>.primary>i{font-size:12px;font-style:normal}
.campaign-panel>footer{padding:5px 12px;display:flex;align-items:center;justify-content:flex-end;gap:7px;background:#e8e6cb;border-top:2px solid #c9d3b8;flex-shrink:0}.campaign-adventure>footer{height:25px;box-sizing:border-box;justify-content:space-between;padding:3px 10px;background:#ebefd7;border-top:1px solid #a8ba91}
.campaign-achievement-link{display:flex;align-items:center;gap:4px;border:0;background:none;font:9px var(--game-font);color:#5c815c;padding:1px 3px;cursor:pointer}.campaign-adventure>footer>div{display:flex;align-items:center;gap:4px;font-size:7px;color:#71856c}.campaign-adventure>footer>div>span:nth-child(2n){margin-right:7px}.campaign-legend-done{color:#649367;font-size:12px}.campaign-legend-next{color:#bf9c48;font-size:10px}.campaign-legend-lock svg{width:7px;height:8px;color:#8d9c83}
.campaign-achievements{padding:8px 16px;overflow:auto;flex:1;min-height:0;scrollbar-width:thin}.campaign-achievements article{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #ddd4b7}.campaign-achievements article>span{font-size:26px;color:#94a58b}.campaign-achievements article.done>span{color:#348168}.campaign-achievements article>div{flex:1}.campaign-achievements article>b{font-size:10px;color:#6f8c76}.campaign-achievements h3{font-size:12px;margin:3px 0}.campaign-achievement-bar{height:5px;border-radius:5px;background:#e0dfc8;overflow:hidden;margin-top:5px}.campaign-achievement-bar i{display:block;height:100%;background:#62a58a}
@keyframes campaign-idle{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.campaign-current-marker img{animation:none}.campaign-node-disc{transition:none}}

.home-campaign-map{border:0;border-radius:7px;background:#dce9cb;color:#376b57;font-family:inherit;font-size:9px;display:flex;justify-content:space-between;align-items:center;width:100%;padding:6px 8px;min-height:29px;line-height:1.4;text-align:left}.home-campaign-map b{white-space:nowrap}.auto-hunt-bar{display:none}#hud-right>.auto-hunt-bar{position:static;display:flex;flex-shrink:0;align-items:center;gap:3px;min-height:30px;padding:2px 3px;border:1px solid #70ad90;border-radius:6px;background:#d9efda;color:#235c47;font:9px/11px var(--game-font)}.auto-hunt-bar span{flex:1;min-width:0;overflow-wrap:anywhere}.auto-hunt-bar button{flex:none;width:24px;min-height:26px;padding:1px;border:1px solid #718f78;border-radius:4px;background:#fff6dc;font:10px var(--game-font);color:#694b35;cursor:pointer}.auto-hunt-bar button:focus-visible{outline:2px solid #235c47;outline-offset:1px}.auto-result-next{display:flex;gap:8px;align-items:center;font-size:10px}.auto-result-next>b{color:#7ad3a0}.ltop button.prof{border:0;background:transparent;font-family:inherit;color:inherit;text-align:left;cursor:pointer;padding:0}.ltop button.prof:focus-visible{outline:2px solid #7bd4b6;border-radius:8px}

/* Server-owned expedition controls stay outside the navigation stack. */
.server-auto-dock{position:absolute;left:250px;bottom:38px;z-index:35;display:flex;align-items:center;gap:6px;max-width:230px;padding:6px 11px;background:linear-gradient(#345f68,#1e424d);color:#fff3cd;border:2px solid #e8ca7c;border-radius:18px;box-shadow:0 3px 0 #142f37;font:inherit;font-size:10px;cursor:pointer}
.server-auto-dock[hidden]{display:none}.server-auto-signal{width:7px;height:7px;border-radius:50%;background:#b4ef98;box-shadow:0 0 0 3px #b4ef9820}.server-auto-dock b{color:#ffe59c}
.server-auto-layer{position:absolute;inset:0;z-index:90;background:#0b202bd9;display:grid;place-items:center;padding:8px}
.server-auto-panel{display:flex;flex-direction:column;width:480px;max-height:344px;background:#fbf7df;border:3px solid #91b1a1;border-radius:17px;color:#315c62;box-shadow:0 6px 0 #102d3a;overflow:hidden;font-size:11px}
.server-auto-panel header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;background:#e7ecda;border-bottom:2px solid #b5c7ae}.server-auto-panel h2{font-size:17px;margin:2px 0 0}.server-auto-panel header small{font-size:8px;letter-spacing:1.2px;color:#7b937c}.server-auto-panel .btn{font:inherit;white-space:normal;min-height:27px;color:#fff4d7;background:#315b69;border-color:#789a9d}.server-auto-panel header [data-server-auto="close"]{justify-content:center;min-width:44px;padding:3px 6px}
.server-auto-content{padding:10px 14px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#97b0a1 transparent}.server-auto-hero{display:flex;gap:14px;align-items:center}.server-auto-hero img{width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 3px 0 #45645020)}.server-auto-hero h3{font-size:15px;margin:3px 0}.server-auto-hero b{color:#b78428}.server-auto-hero p{margin:4px 0;line-height:1.5}
.server-auto-quota{display:flex;align-items:center;gap:9px;background:#e2ebd9;border:1px solid #adc3a7;border-radius:9px;padding:7px 10px;margin-top:8px}.server-auto-quota>b{font-size:23px;color:#2b6a59}.server-auto-quota small{margin-left:auto;font-size:9px;color:#6c8276}.server-auto-sources{display:flex;justify-content:space-around;padding:7px;font-size:10px;color:#718979}.server-auto-sources b{color:#315c62}.server-auto-report{display:flex;align-items:center;justify-content:space-around;border-top:1px solid #b6c9b6;padding:9px 0 4px}.server-auto-report span{display:flex;align-items:center;gap:4px}.server-auto-report img{width:17px;height:17px;object-fit:contain}.server-auto-note{text-align:center;font-size:9px;color:#688379;margin:4px 0 8px}.server-auto-panel details{border:1px solid #c0cbb6;border-radius:8px;padding:7px 9px;margin-top:6px}.server-auto-panel summary{cursor:pointer;font-weight:bold}.server-auto-panel details p{font-size:10px;line-height:1.5;margin:6px 0}
.server-auto-panel footer{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;padding:9px 12px;background:#e7ecda;border-top:1px solid #b5c7ae}.server-auto-panel footer .primary{flex:1;min-width:130px}.server-auto-panel .server-auto-ad{background:#d8eadc;color:#315c62}.server-auto-panel button:focus-visible,.server-auto-dock:focus-visible{outline:3px solid #b57925;outline-offset:2px}
.server-auto-watchbar{position:absolute;left:auto;right:4px;bottom:4px;width:88px;display:flex;flex-direction:column;align-items:stretch;gap:4px;z-index:40;background:#173a47;border:1px solid #dfca89;border-radius:8px;padding:5px;font-size:8px;text-align:center;color:#fff1c7}.server-auto-watchbar>span{line-height:10px}.server-auto-watchbar .btn{font-size:9px;line-height:12px;min-height:26px;justify-content:center;padding:4px;white-space:normal}.server-auto-observing #hud-right .towerbtn,.server-auto-observing #hud-right .ctl{display:none!important}.server-auto-observing #hud button{pointer-events:none;opacity:.55}.server-auto-observing #panel,.server-auto-observing #hint,.server-auto-observing #pick-bar{display:none!important}
