/* Extends the accepted role sample to camp panels. No combat or default-theme scope. */
#screen-lobby.pb-theme-camp :is(.camp-depart-box,.camp-picker-drawer){font-family:CampPixel,monospace;color:#d4d0bc}
#screen-lobby.pb-theme-camp .camp-depart{background:#020506c7;backdrop-filter:none}
#screen-lobby.pb-theme-camp .camp-depart-box{
  box-sizing:border-box;border:14px solid transparent!important;border-image:var(--pc-frame) 216 / 14px / 0 stretch!important;
  background:#111515!important;box-shadow:0 24px 90px #000e;overflow:hidden;
}
#screen-lobby.pb-theme-camp .camp-depart-box:before,#screen-lobby.pb-theme-camp .camp-depart-box:after,
#screen-lobby.pb-theme-camp .camp-corner-tr{display:none!important}
#screen-lobby.pb-theme-camp :is(.camp-depart-head,.camp-picker-head){
  padding:18px 16px;min-height:94px;border:0;border-bottom:1px solid #766346;box-shadow:0 1px #030706;
  background:linear-gradient(90deg,#0c1318f5 10%,#0c1318c9 65%,#0c1318cf),url('../assets/camp/pixel-b/scene.png') 50% 22% / 100% auto;
}
#screen-lobby.pb-theme-camp .camp-depart-head h2,#screen-lobby.pb-theme-camp .camp-picker-head strong{color:#f0dfb7;text-shadow:0 2px #000;font-size:25px;line-height:1.5}
#screen-lobby.pb-theme-camp .camp-depart-head>div{min-width:0}
#screen-lobby.pb-theme-camp #camp-depart-close{flex:none;min-width:44px;min-height:44px}
#screen-lobby.pb-theme-camp .camp-depart-head .camp-kicker,#screen-lobby.pb-theme-camp .camp-picker-head small{color:#af9a6c;font-size:9px;letter-spacing:1px}
#screen-lobby.pb-theme-camp :is(.camp-depart-body,.camp-picker-scroll){background:#111515;scrollbar-width:thin;scrollbar-color:#665d45 #111515}
#screen-lobby.pb-theme-camp .camp-depart-body{padding:16px 8px}
#screen-lobby.pb-theme-camp .camp-mission-board{border:0!important;background:none;box-shadow:none;padding:0}
#screen-lobby.pb-theme-camp .camp-mission-board:before,#screen-lobby.pb-theme-camp .camp-mission-board:after{display:none!important}
#screen-lobby.pb-theme-camp .camp-hero-brief{border-color:#3d4239;padding-bottom:14px}
#screen-lobby.pb-theme-camp .camp-hero-portrait{background:radial-gradient(ellipse at bottom,#7d693133,transparent 70%);border:0}
#screen-lobby.pb-theme-camp .camp-hero-copy strong{color:#ecd9ad;font-size:19px}
#screen-lobby.pb-theme-camp .camp-hero-copy small{color:#a5ad9d;font-size:11px}
#screen-lobby.pb-theme-camp .camp-route-flow{gap:12px;padding-top:16px}
#screen-lobby.pb-theme-camp .camp-stage{border:1px solid #495044;background:#181f1b;box-shadow:inset 0 1px #b5a87118,inset 0 -3px #080d0b;padding:14px 12px}
#screen-lobby.pb-theme-camp .camp-stage:hover{border-color:#c9a661;background:#22281e}
#screen-lobby.pb-theme-camp .camp-stage-copy b{color:#edddba}
#screen-lobby.pb-theme-camp .camp-stage-copy small,#screen-lobby.pb-theme-camp .camp-stage-edit{color:#a6b09d}
#screen-lobby.pb-theme-camp .camp-stage-step{color:#dec48a;border-color:#6e6546;background:#121812}
#screen-lobby.pb-theme-camp .camp-advanced{border:1px solid #434b3d;background:#171e19}
#screen-lobby.pb-theme-camp .camp-advanced summary{background:#171e19;color:#d5cbb0}
#screen-lobby.pb-theme-camp .camp-advanced summary small{color:#a5ad9a}
#screen-lobby.pb-theme-camp .camp-depart-foot{padding:12px 8px 8px;background:#111515;border-color:#3d4239}
#screen-lobby.pb-theme-camp .camp-picker-drawer{background:#111515}
#screen-lobby.pb-theme-camp .camp-picker-scroll{padding:16px 12px}
#screen-lobby.pb-theme-camp .camp-picker-panel :is(.tier-card,.map-card){border-color:#495044;background:#181f1b;box-shadow:inset 0 1px #b5a87118,inset 0 -3px #080d0b;color:#c9c9b6}
#screen-lobby.pb-theme-camp .camp-picker-panel .sel{border-color:#c9a661;background:#292c20;box-shadow:inset 3px 0 #c9a661}
#screen-lobby.pb-theme-camp .camp-picker-panel .tier-head b{color:#edddba}
#screen-lobby.pb-theme-camp .camp-picker-panel .tier-desc{color:#b0b9a9}

/* Bitmap surfaces use the same source and crop as the camp's primary action. */
#screen-lobby.pb-theme-camp :is(#camp-edit-hero,#camp-depart-close,#camp-picker-close),
#screen-lobby.pb-theme-camp #pixel-camp :is(.pb-more button,.pb-account button,.pb-desktop-services button),
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal :is(.btn,.mini-btn,.pb-modal-dismiss,.hub-tabs button,.shop-tabs button){
  position:relative;isolation:isolate;background:#1d211d!important;border:0!important;border-radius:0;box-shadow:none!important;
  min-height:44px;color:#d5cbb0;font-family:CampPixel,monospace;text-shadow:0 2px #080b0a;cursor:pointer;
  clip-path:polygon(4px 0,calc(100% - 4px) 0,calc(100% - 4px) 3px,100% 3px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0 calc(100% - 4px),0 3px,4px 3px);
}
#screen-lobby.pb-theme-camp :is(#camp-edit-hero,#camp-depart-close,#camp-picker-close):before,
#screen-lobby.pb-theme-camp #pixel-camp :is(.pb-more button,.pb-account button,.pb-desktop-services button):before,
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal :is(.btn,.mini-btn,.pb-modal-dismiss,.hub-tabs button,.shop-tabs button):before{
  content:'';display:block!important;position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:var(--pc-button);background-size:105.08% 259.5%;background-position:50.48% 11.91%;background-repeat:no-repeat;image-rendering:pixelated;filter:saturate(.15) brightness(.34);
}
#screen-lobby.pb-theme-camp :is(#camp-edit-hero,#camp-depart-close,#camp-picker-close):hover:before,
#screen-lobby.pb-theme-camp #pixel-camp :is(.pb-more button,.pb-account button,.pb-desktop-services button):hover:before,
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal :is(.btn,.mini-btn,.pb-modal-dismiss,.hub-tabs button,.shop-tabs button):hover:before{filter:saturate(.55) brightness(.67)}
#screen-lobby.pb-theme-camp :is(#camp-edit-hero,#camp-depart-close,#camp-picker-close):active,
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal :is(.btn,.mini-btn,.pb-modal-dismiss,.hub-tabs button,.shop-tabs button):active{transform:translateY(2px);filter:brightness(.85)}
#screen-lobby.pb-theme-camp .pb-refined .btn-gold:before,
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal :is(.btn-gold,.hub-tabs button.on,.shop-tabs button.on):before{filter:saturate(.8) brightness(.91)}
#screen-lobby.pb-theme-camp .pb-refined .btn-gold,
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal :is(.btn-gold,.hub-tabs button.on,.shop-tabs button.on){color:#fff0c7;text-shadow:0 2px #533215}
#screen-lobby.pb-theme-camp .pb-refined .btn-red,
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal .btn-red{color:#ffb6a0}
#screen-lobby.pb-theme-camp .pb-refined .btn-red:before,
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal .btn-red:before{filter:sepia(.6) saturate(.85) hue-rotate(325deg) brightness(.45)}
#screen-lobby.pb-theme-camp button:disabled,
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal button:disabled{cursor:default;opacity:.45;filter:grayscale(.7)}
#screen-lobby.pb-theme-camp :is(#camp-edit-hero,#camp-depart-close,#camp-picker-close):focus-visible,
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal button:focus-visible{outline:2px solid #efd499;outline-offset:-4px}

/* Dedicated square artwork: intact bevels, etched cross and a quiet metal face. */
#screen-lobby.pb-theme-camp.pixel-b .pb-refined .pb-panel-close,
#screen-lobby.pb-theme-camp #camp-depart-close,
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal button.pb-modal-dismiss{
  position:relative;inset:auto;flex:none;width:48px;height:48px;min-width:48px;min-height:48px;
  padding:0;border:0!important;background:none!important;box-shadow:none!important;clip-path:none;
  color:transparent!important;font-size:0;line-height:0;text-shadow:none;isolation:isolate;overflow:visible;
}
#screen-lobby.pb-theme-camp.pixel-b .pb-refined .pb-panel-close:before,
#screen-lobby.pb-theme-camp #camp-depart-close:before,
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal button.pb-modal-dismiss:before{
  content:'';display:block!important;position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:url('../assets/camp/pixel-b/close-forged.svg') center / 100% 100% no-repeat;
  image-rendering:pixelated;filter:none;transition:filter .12s;
}
#screen-lobby.pb-theme-camp.pixel-b .pb-refined .pb-panel-close svg{visibility:hidden}
#screen-lobby.pb-theme-camp.pixel-b .pb-refined .pb-panel-close:hover:before,
#screen-lobby.pb-theme-camp #camp-depart-close:hover:before,
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal button.pb-modal-dismiss:hover:before{filter:brightness(1.2)}
#screen-lobby.pb-theme-camp.pixel-b .pb-refined .pb-panel-close:active,
#screen-lobby.pb-theme-camp #camp-depart-close:active,
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal button.pb-modal-dismiss:active{transform:none;filter:none}
#screen-lobby.pb-theme-camp.pixel-b .pb-refined .pb-panel-close:active:before,
#screen-lobby.pb-theme-camp #camp-depart-close:active:before,
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal button.pb-modal-dismiss:active:before{transform:translateY(1px);filter:brightness(.8)}
#screen-lobby.pb-theme-camp.pixel-b .pb-refined .pb-panel-close:focus-visible,
#screen-lobby.pb-theme-camp #camp-depart-close:focus-visible,
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal button.pb-modal-dismiss:focus-visible{outline:2px solid #e0c68d;outline-offset:2px}

/* Gear, storage and collection use quieter surfaces, with original rarity colors. */
#screen-lobby.pb-theme-camp #camp-view-gear .camp-paperdoll-frame{background:radial-gradient(ellipse at bottom,#82734724,#0e1614 80%);border-color:#72633e;border-radius:0;box-shadow:inset 0 1px #b9a57b22}
#screen-lobby.pb-theme-camp #camp-view-gear .camp-gear-toolbar{padding:4px 0 12px;border-bottom:1px solid #3d4239}
#screen-lobby.pb-theme-camp #camp-view-gear .potion-line{color:#bcc2ad}
#screen-lobby.pb-theme-camp #camp-view-gear .attr-row>.at{background:#171e19!important;border-color:#454e3d!important;border-radius:0;box-shadow:inset 0 1px #b9a57b16}
#screen-lobby.pb-theme-camp #stat-summary{color:#d1c7ae}
#screen-lobby.pb-theme-camp :is(.camp-note,.camp-block-label span,.carry-head .dim){color:#a5ad9a}
#screen-lobby.pb-theme-camp #camp-view-gear .slot{background:#0e1614;box-shadow:inset 0 1px #c7b77c17,inset 0 -2px #080d0b}
#screen-lobby.pb-theme-camp .pb-refined .slot:not([class*=" r"]){border-color:#62654c}
#screen-lobby.pb-theme-camp .pb-refined .slot-tag{color:#969e88}
#screen-lobby.pb-theme-camp .camp-block-label{color:#cbc5aa}
#screen-lobby.pb-theme-camp .carry-slot{border-radius:0;background:#181f1b}
#screen-lobby.pb-theme-camp .carry-empty{border:1px dashed #626c50;color:#a3af99}
#screen-lobby.pb-theme-camp #pb-section-stash .stash-cats{display:flex;flex-wrap:nowrap;overflow-x:auto;min-width:0;gap:8px;padding:4px 0 12px;border-bottom:1px solid #3d4239;scrollbar-width:thin;scrollbar-color:#665d45 transparent;overscroll-behavior:contain}
#screen-lobby.pb-theme-camp #pb-section-stash .stash-cats button{flex:0 0 auto;white-space:nowrap;min-height:44px;border:0;border-radius:0;background:none;box-shadow:none;color:#9aa295;padding:8px}
#screen-lobby.pb-theme-camp #pb-section-stash .stash-cats button.on{background:none;color:#e4c88a;box-shadow:inset 0 -2px #b69453}
#screen-lobby.pb-theme-camp .pb-refined :is(.pet-card,.quest-row,.pet-empty){background:#181f1b;border-color:#495044;border-radius:0;box-shadow:inset 0 1px #b5a87118,inset 0 -3px #080d0b}
#screen-lobby.pb-theme-camp .pb-refined .collect-cell{background:#181f1b;border-radius:0}
#screen-lobby.pb-theme-camp .pb-refined .pet-card.sel{border-color:#c9a661;background:#292c20}
#screen-lobby.pb-theme-camp .pb-refined .quest-row.qdone{border-color:#77a576;background:#1b2a20}
#screen-lobby.pb-theme-camp .pb-refined .q-bar{background:#0e1614}
#screen-lobby.pb-theme-camp .pb-refined .q-bar>i{background:#bda365}
#screen-lobby.pb-theme-camp .pb-refined .quest-row.qdone .q-bar>i{background:#75a577}
#screen-lobby.pb-theme-camp .pb-refined :is(.camp-stash-tip,.camp-stash-meta,.camp-gear-tip){color:#a5ad9a}

/* Modal families preserve their callbacks and semantic red/green/blue states. */
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal{background:#020506c7;backdrop-filter:none;font-family:CampPixel,monospace}
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal .modal-box{
  box-sizing:border-box;border:12px solid transparent!important;border-image:var(--pc-frame) 216 / 12px / 0 stretch!important;
  background:#111515!important;box-shadow:0 24px 90px #000e;padding:16px;scrollbar-width:thin;scrollbar-color:#665d45 #111515;color:#d1d0b9;
}
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal-box :is(h2,h3,.modal-title){color:#f0dfb7;text-shadow:0 2px #000;font-family:CampPixel,monospace}
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal-box>h2,
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal-box>.modal-title{padding-bottom:12px;border-bottom:1px solid #5d573d;font-size:22px}
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal-box :is(input,select,textarea){background:#0e1614;border-color:#62694d;color:#e2dcc4;accent-color:#bda365;font-family:inherit}
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal-box :is(input,select,textarea):focus-visible{outline:2px solid #bda365;outline-offset:1px}
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal-box .hub-tabs{gap:8px;border-color:#3d4239}
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) #tree-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 16px}
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) #tree-tools button{min-height:44px;padding:8px 10px;font-size:11px}
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .tree-node{background:#181f1b;border-color:#495044;box-shadow:inset 0 1px #b5a87118}
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .tree-node.on{background:#292c20;border-color:#c9a661}
body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .tree-node.avail{background:#192b22;border-color:#6d9d79}
#screen-lobby.pb-theme-camp #pixel-camp :is(.pb-more,.pb-account){background:#111515f5;border-color:#716141;box-shadow:0 12px 40px #000b}
#screen-lobby.pb-theme-camp #pixel-camp .pb-account select{background:#0e1614;border-color:#62694d;color:#e2dcc4;border-radius:0;min-height:44px}
#screen-lobby.pb-theme-camp:not(.hidden)~#toast{background:#171e19f5;border-color:#7a704d;color:#e3d8b8;box-shadow:0 6px 20px #0009}
@media(max-width:600px){
  #screen-lobby.pb-theme-camp .camp-depart-box{border-width:10px!important;border-image-width:10px!important}
  #screen-lobby.pb-theme-camp :is(.camp-depart-head,.camp-picker-head){min-height:88px;padding:14px 10px;gap:10px}
  #screen-lobby.pb-theme-camp .camp-depart-head h2,#screen-lobby.pb-theme-camp .camp-picker-head strong{font-size:23px}
  #screen-lobby.pb-theme-camp .camp-depart-body{padding:14px 6px}
  #screen-lobby.pb-theme-camp .camp-depart-foot{padding:12px 6px 6px}
  #screen-lobby.pb-theme-camp #camp-view-gear .pb-view-tabs>button{font-size:12px;letter-spacing:0;padding:8px 5px}
  body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal .modal-box{border-width:10px!important;border-image-width:10px!important;padding:12px}
  body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) #modal-tree .modal-title{display:block;min-height:0;padding-right:54px;line-height:1.5}
  body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) #tree-cls-tag{display:block;margin-top:4px;font-size:12px;color:#a5ad9a}
  body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) #tree-pts{display:block;float:none;margin:8px 0 0;padding:0;border:0;background:none;font-size:14px}
  body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) #tree-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) #tree-tools button{min-width:0;padding:8px 4px}
  body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) #btn-tree-reset,
  body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) #tree-tools>span{grid-column:span 2}
  body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) #tree-equip-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .tree-equip-slot{min-width:0;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border-radius:0;text-align:center;font-size:11px;overflow-wrap:anywhere}
  body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .tree-equip-slot .dim{font-size:10px}
}
@media(max-width:360px){
  #screen-lobby.pb-theme-camp .camp-hero-brief{grid-template-columns:36px minmax(0,1fr) auto;gap:7px}
  #screen-lobby.pb-theme-camp .camp-hero-portrait{width:36px;height:44px}
  #screen-lobby.pb-theme-camp .camp-hero-portrait img{width:36px;height:44px}
  #screen-lobby.pb-theme-camp .camp-hero-copy strong{font-size:16px}
  body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) .modal .modal-box{padding:10px}
  body.pb-refined-theme:has(#screen-lobby.pixel-b:not(.hidden)) #tree-tools button{font-size:10px}
}
