/* 营地交谈：保留身后的灯火，物资与退出按钮固定，长列表独立滚动。 */
.pxpanel.camp-shop{background:linear-gradient(180deg,rgba(10,25,31,.2),rgba(10,25,31,.58));padding:16px;overflow:hidden}
.camp-panel{--camp-dim:#b8c8bf;--camp-gold:#edcb8f;display:flex;flex-direction:column;gap:0;width:min(760px,100%);max-height:calc(100dvh - 32px);min-height:0;padding:22px;text-align:left;color:#f2e7ce;background:linear-gradient(145deg,rgba(38,65,70,.97),rgba(18,39,48,.97));border-color:#8b9b83;box-shadow:0 16px 55px #07171d80,inset 0 0 0 1px #edcb8f14;overflow:hidden}
.camp-icon{display:block;width:21px;height:21px;flex:0 0 auto}
.camp-header,.camp-heading{display:flex;align-items:center;gap:12px;min-width:0}.camp-header{justify-content:space-between;gap:14px}.camp-heading>div{min-width:0}.camp-mark{display:grid;place-items:center;width:46px;height:46px;border:1px solid #d8bc7c88;border-radius:13px;color:var(--camp-gold);background:#d5ae5d16;flex:0 0 auto}.camp-mark .camp-icon{width:28px;height:28px}.camp-eyebrow{font-size:10px;letter-spacing:3px;color:#c8b68f}.camp-panel h2{font-size:25px;line-height:1.4;margin-top:3px;overflow-wrap:anywhere;color:#f2ddb1}.camp-state{font-size:10px;line-height:1.6;color:#c4dfb3;border:1px solid #81987666;border-radius:20px;padding:5px 10px;text-align:center;flex:0 0 auto;max-width:40%}.camp-state.is-blocked{color:#f1bd9f;border-color:#b87d5866;background:#94572c1a}
.camp-supplies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(145px,1.3fr);gap:7px;margin-top:17px}.camp-supply{display:flex;align-items:center;gap:9px;padding:10px 11px;border:1px solid #68837b77;border-radius:7px;background:#142c3270;min-width:0}.camp-supply>.camp-icon{color:#c5b58c;width:19px;height:19px}.camp-supply>span{display:block;font-size:10px;color:var(--camp-dim);min-width:0}.camp-supply strong{display:block;font-size:19px;color:#f2dbad;line-height:1.4;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.camp-supply small{font-size:10px;font-weight:400;color:#b9c8ba;margin-left:5px}.camp-reputation strong{font-size:14px;line-height:1.9}.camp-reputation.is-bad strong,.camp-reputation.is-bad>.camp-icon{color:#efa887}.camp-reputation.is-good strong{color:#bfd6a4}.camp-reputation-note{font-size:10px;color:#aebfb4;line-height:1.7;margin:8px 0 13px;overflow-wrap:anywhere}
.camp-notice{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;margin-bottom:12px;border:1px solid #bc8b6877;border-radius:7px;background:#74472b33;color:#f0c5a6}.camp-notice>.camp-icon{width:18px;height:18px;margin-top:1px}.camp-notice p{font-size:11px;line-height:1.75}.camp-feedback{flex-shrink:0;margin:11px 0 0;padding:9px 12px;border:1px solid #aac99d88;background:#7c9f6a1c;border-radius:6px;color:#d9e5c2;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.camp-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:4px;border:1px solid #6b817780;border-radius:8px;background:#10272e80;flex:0 0 auto}.camp-tab{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;border:1px solid transparent;border-radius:5px;background:transparent;font:12px var(--font,sans-serif);color:#b9cbbf;padding:10px 6px;cursor:pointer}.camp-tab .camp-icon{width:17px;height:17px}.camp-tab.is-active{color:#f7dfae;background:#526457;border-color:#acac7e99;box-shadow:0 2px 6px #0a181a40}.camp-tab:hover:not(.is-active){background:#7a9b8c20;color:#ede2c9}.camp-tab:focus-visible,.camp-panel .pbtn:focus-visible,.camp-scroll:focus-visible{outline:2px solid var(--camp-gold);outline-offset:2px}
.camp-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#7b9181 #182f35;padding:0 2px 2px;margin-top:15px;-webkit-overflow-scrolling:touch}.camp-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.camp-section-heading>.camp-icon{width:25px;height:25px;color:#8fa99b}.camp-section-heading h3{font-size:14px;font-weight:500;line-height:1.6;color:#e8d5af}.camp-section-heading p{font-size:11px;line-height:1.7;color:#aebfb3;margin-top:3px}.camp-empty{padding:30px 17px;border:1px dashed #75908380;border-radius:8px;text-align:center;font-size:13px;line-height:1.9;color:#c0cfbe;background:#18323966}
.camp-offers,.camp-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.camp-offer,.camp-candidate{display:flex;flex-direction:column;min-width:0;padding:15px;border:1px solid #7b8e756e;border-radius:9px;background:linear-gradient(145deg,#3d565344,#203b424d)}.camp-offer.is-empty{background:#192e3477}.camp-offer-top{display:flex;justify-content:space-between;align-items:center;gap:9px}.camp-offer-symbol{display:grid;place-items:center;width:35px;height:35px;color:#e0c58e;background:#b3924f19;border:1px solid #ae9c6a55;border-radius:9px}.camp-stock{font-size:11px;color:#b4c4b5}.camp-stock b{font-size:14px;font-weight:500;color:#e7d6ad}.camp-panel h4{color:#f1dcb1;font-size:17px;font-weight:500;line-height:1.6;overflow-wrap:anywhere}.camp-offer h4{margin-top:10px}.camp-exchange{margin-top:12px;display:flex;flex-direction:column;gap:7px;font-size:12px;line-height:1.7}.camp-exchange>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;min-width:0}.camp-exchange dt{flex:0 0 auto;font-size:10px;color:#aebeb1}.camp-exchange dd{text-align:right;color:#e5dfc4;overflow-wrap:anywhere;min-width:0}.camp-exchange .camp-good{color:#c1d8a4}.camp-panel .pbtn{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;font-size:12px;line-height:1.6;letter-spacing:0;padding:10px 13px;min-width:0;min-height:42px;border-radius:6px;overflow-wrap:anywhere}.camp-panel .pbtn .camp-icon{width:17px;height:17px}.camp-panel .pbtn>span{min-width:0}.camp-panel .pbtn:disabled{opacity:.6}.camp-panel .pbtn:disabled:hover{transform:none}.camp-panel .camp-primary{margin-top:16px;background:#56644d;border-color:#b7ad7e;color:#f4e2bc}.camp-panel .camp-primary:hover:not(:disabled){background:#67785b}.camp-offer>.camp-primary,.camp-candidate>.camp-primary{margin-top:auto}.camp-offer>.camp-exchange,.camp-candidate>.camp-person-cost{margin-bottom:16px}
.camp-person-top{display:flex;align-items:center;gap:12px;min-width:0}.camp-person-top>div:last-child{min-width:0}.camp-person-portrait{width:56px;height:64px;display:flex;align-items:flex-end;justify-content:center;border:1px solid #8a9b7c88;border-radius:9px;background:radial-gradient(ellipse at 50% 80%,#78917580,#233d4640);overflow:hidden;flex:0 0 auto}.camp-person-portrait img{display:block;width:50px;height:60px;object-fit:contain;object-position:center bottom}.camp-person-portrait>span{align-self:center;font-size:25px;color:#e5cea3}.camp-role{display:block;font-size:11px;line-height:1.7;color:#b5d0bb;margin-top:2px}.camp-person-story{font-size:12px;line-height:1.9;color:#c6d1bd;margin-top:12px;overflow-wrap:anywhere}.camp-person-skill{font-size:11px;line-height:1.8;margin-top:8px;color:#c9d9ab;overflow-wrap:anywhere}.camp-person-cost{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#aebeb1;border-top:1px solid #69807566;padding-top:10px;margin-top:12px}.camp-person-cost b{font-size:12px;font-weight:500;color:#e7d3a7}
.camp-decision{display:grid;grid-template-columns:60px minmax(0,1fr);align-items:start;gap:14px;padding:20px;border:1px solid #81927370;border-radius:9px;background:linear-gradient(130deg,#57704f22,#1c37424d)}.camp-decision-symbol{display:grid;place-items:center;width:60px;height:60px;border:1px solid #a6ac7a77;background:#87955e19;border-radius:15px;color:#d5c58c}.camp-decision-symbol .camp-icon{width:31px;height:31px}.camp-decision-copy{min-width:0}.camp-decision-copy>p{font-size:12px;line-height:1.9;margin-top:7px;color:#bccbbb;overflow-wrap:anywhere}.camp-decision .camp-exchange{padding-top:11px;border-top:1px solid #73846a77;margin-top:13px}.camp-decision>.pbtn{grid-column:1/-1;margin-top:2px}.camp-stash{border-color:#a0876666;background:linear-gradient(130deg,#67503a22,#1c37424d)}.camp-stash .camp-decision-symbol{color:#dab78b;border-color:#b1936e77;background:#a57c4719}.camp-theft-warning{display:flex;align-items:flex-start;gap:8px;margin-top:13px;border:1px solid #b1886966;border-radius:6px;padding:10px;background:#8f4c2b1a;color:#e5b899}.camp-theft-warning>.camp-icon{width:17px;height:17px;margin-top:1px}.camp-theft-warning p{font-size:11px;line-height:1.8}.camp-theft-warning strong{color:#efc5a4;font-weight:500}.camp-panel .camp-danger{color:#f3d4b7;background:#694a3b;border-color:#bc9874}.camp-panel .camp-danger:hover:not(:disabled){background:#7b5845}
.camp-footer{display:flex;justify-content:space-between;gap:10px;flex:0 0 auto;padding-top:15px;margin-top:15px;border-top:1px solid #71806b66}.camp-panel .camp-secondary{background:#203941;color:#c5d0bd;border-color:#73877a}.camp-panel .camp-secondary:hover{background:#35504f}.camp-panel .camp-leave{color:#f1ddb3;border-color:#b0a57e;background:#4a5c50}.camp-panel .camp-leave:hover{background:#5b6c5a}
@media(max-width:560px){.pxpanel.camp-shop{padding:10px}.camp-panel{padding:16px;max-height:calc(100dvh - 20px)}.camp-header{align-items:flex-start;gap:8px}.camp-heading{gap:9px}.camp-panel h2{font-size:22px}.camp-mark{width:39px;height:43px;border-radius:10px}.camp-mark .camp-icon{width:25px;height:25px}.camp-eyebrow{font-size:9px;letter-spacing:2px}.camp-state{font-size:9px;padding:4px 7px;max-width:35%}.camp-supplies{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:13px}.camp-supply{padding:8px 9px;gap:7px}.camp-supply strong{font-size:17px}.camp-reputation{grid-column:1/-1;padding:6px 10px}.camp-reputation>span{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px}.camp-reputation strong{font-size:13px;line-height:1.6}.camp-reputation-note{font-size:9px;margin-bottom:10px}.camp-tab{font-size:11px;gap:5px;padding:9px 3px}.camp-tab .camp-icon{width:15px;height:15px}.camp-scroll{margin-top:13px}.camp-offer,.camp-candidate{padding:12px}.camp-offers,.camp-candidates{gap:9px}.camp-exchange>div{display:block}.camp-exchange dd{text-align:left}.camp-person-top{gap:9px}.camp-person-portrait{width:45px;height:55px}.camp-person-portrait img{width:41px;height:52px}.camp-person-top h4{font-size:15px}.camp-role{font-size:10px}.camp-panel .pbtn{padding:9px 10px;font-size:11px;gap:6px}.camp-decision{grid-template-columns:45px minmax(0,1fr);gap:12px;padding:15px}.camp-decision-symbol{width:45px;height:49px;border-radius:11px}.camp-decision-symbol .camp-icon{width:26px;height:26px}.camp-footer{padding-top:12px;margin-top:12px;gap:8px}.camp-footer>.pbtn{flex:1}}
@media(max-width:390px){.camp-offers,.camp-candidates{grid-template-columns:1fr}.camp-offer>.camp-exchange{margin-bottom:13px}.camp-exchange>div{display:flex}.camp-exchange dd{text-align:right}.camp-tabs{gap:2px;padding:3px}.camp-tab{flex-direction:column;gap:4px;padding:8px 2px;font-size:10px}.camp-footer>.pbtn{font-size:10px;padding:9px 6px;gap:4px}.camp-footer .camp-icon{width:14px;height:14px}.camp-supply{padding:7px}.camp-supply>.camp-icon{width:16px;height:16px}.camp-decision{grid-template-columns:1fr}.camp-decision-symbol{display:none}}
@media(max-height:620px){.pxpanel.camp-shop{padding:8px}.camp-panel{padding:13px 16px;max-height:calc(100dvh - 16px)}.camp-header .camp-mark{width:35px;height:35px;border-radius:9px}.camp-header .camp-mark .camp-icon{width:23px;height:23px}.camp-panel h2{font-size:21px;margin-top:1px}.camp-eyebrow{font-size:9px}.camp-supplies{margin-top:10px}.camp-supply{padding:6px 9px}.camp-supply strong{font-size:16px}.camp-reputation strong{font-size:12px}.camp-reputation-note{margin:5px 0 8px}.camp-notice{padding:6px 9px;margin-bottom:8px}.camp-notice p{font-size:10px}.camp-tab{padding:7px 4px}.camp-scroll{margin-top:10px}.camp-feedback{margin-top:7px;padding:6px 9px;font-size:11px}.camp-section-heading{margin-bottom:10px}.camp-section-heading h3{font-size:13px}.camp-section-heading p{font-size:10px}.camp-footer{padding-top:10px;margin-top:10px}.camp-footer>.pbtn{min-height:35px;padding-top:7px;padding-bottom:7px}}
@media(prefers-reduced-motion:reduce){.camp-panel .pbtn{transition:none}}
/* 手机横屏把空间留给货品；价格、风险和退出操作仍留在各自区域内。 */
@media(max-height:460px) and (min-width:600px){
  .camp-panel{width:min(900px,100%);padding:10px 14px}
  .camp-header{gap:6px}.camp-mark,.camp-eyebrow{display:none}
  .camp-panel h2{font-size:18px;line-height:1.25;margin:0}.camp-state{font-size:9px;padding:2px 8px}
  .camp-supplies{margin:6px 0;gap:6px}.camp-supply{padding:4px 8px;gap:6px}
  .camp-supply>.camp-icon{width:15px;height:15px}
  .camp-supply>span{display:flex;align-items:baseline;gap:8px;font-size:9px}
  .camp-supply strong{display:inline;font-size:14px;line-height:1.4}.camp-reputation strong{font-size:11px}
  .camp-reputation-note{display:none}.camp-tabs{padding:2px;gap:3px}.camp-tab{padding:5px 4px;font-size:11px}
  .camp-feedback{font-size:10px;padding:3px 8px;margin-top:5px}
  .camp-scroll{margin-top:7px}.camp-section-heading{margin-bottom:7px}.camp-section-heading p{display:none}
  .camp-offer,.camp-candidate{padding:9px}.camp-footer{margin-top:6px;padding-top:6px}
  .camp-footer>.pbtn{min-height:30px;padding:5px 8px}
}
