.xp-entry,.xp-hud,.xp-overlay{font-family:CampPixel,monospace;color:#ebdfbf;box-sizing:border-box}
.xp-entry[hidden],.xp-hud[hidden],.xp-overlay[hidden]{display:none!important}
.xp-entry{position:fixed;left:24px;top:112px;z-index:70;min-height:48px;padding:10px 18px;border:1px solid #b28d4e;background:linear-gradient(#39412b,#17231b);box-shadow:inset 0 1px #e8cd8a55,0 3px 10px #0009;cursor:pointer;font-size:14px}
.xp-overlay{position:fixed;inset:0;z-index:4000;display:grid;place-items:center;padding:20px;background:#010609cf;backdrop-filter:blur(3px)}
.xp-dialog{position:relative;width:min(520px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:32px;background:linear-gradient(130deg,#20261be8,#101916fa 80%),url('../assets/camp/pixel-b/scene.png') center/cover;border:2px solid #987541;box-shadow:inset 0 0 0 3px #17150f,inset 0 0 0 4px #c1a05b44,0 24px 80px #000c}
.xp-eyebrow{color:#b9a173;font-size:10px;letter-spacing:2px;padding-right:48px}
.xp-dialog h2{font:25px/1.5 CampPixel,monospace;margin:16px 42px 12px 0;color:#f4e5b8}
.xp-intro{color:#c7c5b0;font:14px/1.9 system-ui;margin:0 0 22px}
.xp-close{position:absolute;right:18px;top:18px;width:48px;height:48px;border:0;background:url('../assets/camp/pixel-b/close-forged.svg') center/contain no-repeat;color:transparent;cursor:pointer}
.xp-routes{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.xp-routes button,.xp-start{font:15px/1.5 CampPixel,monospace;color:#f0e2ba;min-height:50px;padding:10px;border:1px solid #72633f;background:linear-gradient(#31342a,#1b241d);box-shadow:inset 0 1px #ddc48b22,0 2px #050b08;cursor:pointer}
.xp-routes button[aria-pressed=true]{border-color:#d5ac61;background:linear-gradient(#635337,#373921);color:#fff0c5;box-shadow:inset 0 2px #edcc8555,0 2px #110f08}
.xp-route-detail{min-height:76px;padding:14px;border:1px solid #5b604044;background:#080f0a70;font:14px/1.8 system-ui;color:#dbd2b1}
.xp-steps{padding:10px 0;border-top:1px solid #70613a66;color:#bdac7b;font-size:12px;line-height:1.8}
.xp-last{font:12px/1.7 system-ui;color:#c4d69b}
.xp-start{position:relative;isolation:isolate;width:100%;min-height:58px;font-size:19px;text-shadow:1px 2px #66431d;background:#8d6227;border-color:#c8a15d}
.xp-start:before{content:'';position:absolute;inset:0;z-index:-1;background:url('../assets/camp/pixel-b/controls.png') 50.48% 11.91%/105.08% 259.5%;image-rendering:pixelated}
.xp-test{display:block;margin-top:14px;font:11px/1.7 system-ui;color:#929b86}
.xp-entry:hover,.xp-overlay button:hover,.xp-hud button:hover{filter:brightness(1.15)}
.xp-entry:active,.xp-overlay button:active,.xp-hud button:active{transform:translateY(1px)}
.xp-entry:focus-visible,.xp-overlay button:focus-visible,.xp-hud :is(button,select):focus-visible{outline:2px solid #ffe0a2;outline-offset:3px}
.xp-hud{position:fixed;inset:0;z-index:65;pointer-events:none}
.xp-mission,.xp-companion{position:absolute;left:16px;width:270px;padding:12px;border:1px solid #94754288;background:linear-gradient(120deg,#12201aee,#101710e8);box-shadow:inset 0 1px #d4bb6f22,0 3px 14px #0008;pointer-events:auto;box-sizing:border-box}
.xp-mission{top:100px}.xp-companion{top:var(--xp-food-top,200px)}
.xp-objective{font-size:14px;color:#f1d798;line-height:1.6}
.xp-detail{font:12px/1.7 system-ui;color:#b9bf9d;margin-top:4px}
.xp-target{border-top:1px solid #8c744055;padding-top:9px;margin-top:9px;font-size:12px;line-height:1.8;color:#d9dfc4}
.xp-no-target .xp-target{border:0;margin:0;padding:0}.xp-no-target :is(progress,.xp-feeding,.xp-food-hint){display:none}
.xp-hud progress{display:block;width:100%;height:6px;appearance:none;border:0;background:#29352b;margin:7px 0 10px;accent-color:#a3bf77}
.xp-hud progress::-webkit-progress-bar{background:#29352b}.xp-hud progress::-webkit-progress-value{background:#adca7a}
.xp-feeding{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:8px}
.xp-hud :is(select,button){font:12px CampPixel,monospace;min-height:44px;padding:7px;border:1px solid #8d7b4c;background:#263322;color:#f1e5ba;cursor:pointer}
.xp-hud select{width:100%;min-width:0;background:#15211a}
.xp-hud button:disabled{opacity:.5;cursor:default;filter:none}
.xp-food-hint{font:11px/1.7 system-ui;color:#aeb49b;margin-top:7px}
.xp-drop{margin-top:8px;width:100%;background:#38281e!important;border-color:#947148!important}
.xp-pet-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid #8c744044;padding-top:10px;margin-top:10px}.xp-pet-controls[hidden]{display:none}
.xp-loot-preview{display:grid;gap:7px;margin-top:14px;padding:13px 15px;background:linear-gradient(110deg,#3b3221aa,#1a251be8);border:1px solid #a0824855;box-shadow:inset 0 1px #e9c98022}
.xp-loot-preview span{font:14px/1.7 CampPixel,monospace;color:#f0dc9c}.xp-loot-preview span:first-child{color:#e5c281}
@media(max-width:700px){.xp-loot-preview{padding:10px 12px;gap:3px}.xp-loot-preview span{font-size:12px;line-height:1.7}}
#toast{box-sizing:border-box;width:max-content;max-width:min(560px,calc(100vw - 32px));white-space:normal;overflow-wrap:anywhere;line-height:1.7;text-align:center;background:#172016f2;border-color:#8d7547;border-radius:3px}
@media(max-width:700px){
 .xp-entry{top:106px;left:12px;min-height:44px;font-size:12px;padding:8px 12px}
 .xp-overlay{padding:12px}.xp-dialog{padding:23px 19px;max-height:calc(100dvh - 24px)}
 .xp-dialog h2{font-size:21px;margin-top:16px}.xp-intro{font-size:13px;margin-bottom:16px}
 .xp-routes{gap:8px}.xp-routes button{font-size:13px}.xp-route-detail{font-size:13px;min-height:90px;padding:12px}
 .xp-close{top:15px;right:15px}.xp-start{font-size:17px}.xp-steps{font-size:11px}
 .xp-mission{left:8px;top:84px;width:calc(100% - 144px);padding:8px;background:#101b13e8}
 .xp-companion{left:8px;right:8px;top:var(--xp-food-top,192px);width:auto;padding:9px;background:#101b13e8}
 .xp-objective{font-size:12px}.xp-detail{font-size:11px}.xp-target{font-size:11px;padding-top:6px;margin-top:6px}
 .xp-hud progress{margin:5px 0 7px}.xp-feeding{grid-template-columns:minmax(0,1fr) 106px;gap:6px}
 .xp-food-hint{font-size:10px}.xp-hud :is(select,button){font-size:11px}
}
@media(max-width:700px) and (max-height:700px){.xp-food-hint{display:none}.xp-target{margin-top:0;border-top:0;padding-top:0}.xp-mission{top:78px}}

.xp-departure-badge{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px 18px;background:#263322;color:#ead8a9;border-bottom:1px solid #917442;font:13px/1.6 system-ui}.xp-departure-badge[hidden]{display:none}.xp-departure-badge button{min-height:44px;flex-shrink:0;background:#302a20;color:#e8d5aa;border:1px solid #88704b;padding:6px 12px;cursor:pointer}.xp-departure-badge button:focus-visible{outline:2px solid #ffe0a2}
/* Quiet combat HUD: detail panels exist only while the player opens a tool. */
.xp-tools{position:absolute;right:12px;display:flex;flex-direction:column;gap:7px;pointer-events:auto}
.xp-hud .xp-tools button{width:44px;height:44px;min-height:44px;padding:0;background:#101912d4;border:1px solid #89734880;box-shadow:inset 0 1px #d4bd7b24;font-size:20px;display:grid;place-items:center}
.xp-hud .xp-tools button[aria-expanded=true]{border-color:#f0cd7e;background:#393a23}
.xp-tools svg{width:24px;height:24px;filter:drop-shadow(0 1px 0 #000)}
.xp-hud .xp-companion,.xp-pet-menu{position:absolute;left:auto;right:66px;width:min(280px,calc(100vw - 80px));max-height:calc(100dvh - 60px);overflow:auto;padding:14px;border:1px solid #a48a53;background:linear-gradient(135deg,#20271af7,#0e1915fa);box-shadow:inset 0 0 0 3px #0a0e0b,0 8px 28px #0009;pointer-events:auto;box-sizing:border-box}
.xp-companion[hidden],.xp-pet-menu[hidden],.xp-tools[hidden],.xp-tools button[hidden]{display:none!important}
.xp-hud .xp-target{margin:0 36px 0 0;padding:0;border:0;min-height:27px;font-size:12px;line-height:1.8}
.xp-hud .xp-tool-close{position:absolute;right:3px;top:3px;width:44px;min-height:44px;height:44px;padding:0;border:0;background:url('../assets/camp/pixel-b/close-forged.svg') center/28px no-repeat;color:transparent}
.xp-pet-state{display:block;margin-right:28px;line-height:2;color:#e6d4a6;font-size:12px;font-weight:400}
.xp-pet-menu .xp-pet-controls{margin-top:8px;padding-top:10px}
.xp-hud .xp-food-hint{display:block;font-size:10px;line-height:1.7}
.xp-hud .xp-feeding{grid-template-columns:minmax(0,1fr) 100px}
@media(max-height:450px){.xp-hud .xp-companion{padding:10px}.xp-hud .xp-food-hint{font-size:9px}.xp-hud .xp-tools{gap:5px;flex-direction:row}.xp-hud .xp-tools button{font-size:18px}}
