body#chimera-console.territories-page #territories-main{padding:20px 22px 28px;--campaign-line:#7a876b;--campaign-paper:#d5ddad;--campaign-ink:#293d2a;--campaign-accent:#82384f}
#territories-main [hidden]{display:none!important}
#territories-main .territories-heading,#territories-main #territories-content,#territories-main #territories-error,#territories-main #territories-signin{max-width:1060px;margin-left:auto;margin-right:auto}
#territories-main .territories-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px}
#territories-main h1{font:600 clamp(24px,4vw,34px)/1.15 var(--lcd-font);color:var(--lcd-ink);margin:4px 0 0;letter-spacing:-.8px}
#territories-main .territories-eyebrow{font:600 10px/1.4 var(--lcd-font);color:var(--lcd-muted);letter-spacing:2px;text-transform:uppercase;margin:0}
#territories-main .campaign-progress{font:600 12px/1.5 var(--lcd-font);text-align:right;color:var(--campaign-ink);margin:0;max-width:200px}
#territories-main .campaign-toolbar{display:flex;align-items:center;gap:12px;min-height:34px;margin-bottom:10px}
#territories-main .campaign-toolbar p{font:12px/1.4 var(--lcd-font);margin:0;flex:1;color:var(--lcd-muted)}
#chimera-console #territories-main button:where(:not(.creature-reader *,.arena-sprite-battle *)){border:1px solid var(--campaign-line);border-radius:3px;background:var(--campaign-paper);box-shadow:0 2px 0 #53644633;color:var(--campaign-ink);font:600 13px/1.3 var(--lcd-font);padding:10px 14px;cursor:pointer;transition:background .16s,transform .16s,box-shadow .16s}
#chimera-console #territories-main button:where(:not(.creature-reader *,.arena-sprite-battle *)):hover:not(:disabled){background:#e7ecc9;transform:translateY(-1px);box-shadow:0 3px 0 #53644633}
#chimera-console #territories-main button:where(:not(.creature-reader *,.arena-sprite-battle *)):active:not(:disabled){transform:translateY(1px);box-shadow:none}
#chimera-console #territories-main :is(button,select):focus-visible{outline:2px solid var(--campaign-accent);outline-offset:3px}
#chimera-console #territories-main button:where(:not(.arena-sprite-battle *)):disabled{opacity:.48;cursor:default}
#chimera-console #territories-main :is(#territories-back,#territories-refresh){background:transparent;box-shadow:none;border-color:transparent;padding:7px 0;font-size:11px}
#chimera-console #territories-main #territories-back{color:var(--campaign-accent);padding-right:5px}
#chimera-console #territories-main :is(#campaign-start,#campaign-resume,#campaign-return,#campaign-boss-start,#campaign-boss-next){background:var(--campaign-accent);border-color:#63253b;color:#fff0d6;box-shadow:0 3px 0 #532033;font-weight:700}
#chimera-console #territories-main :is(#campaign-start,#campaign-resume,#campaign-return,#campaign-boss-start,#campaign-boss-next):hover:not(:disabled){background:#963e59}
#territories-main #campaign-surface{position:relative;width:100%;min-height:260px;isolation:isolate;border:1px solid #667551;box-sizing:border-box;background:#b5c491;overflow:hidden;border-radius:5px;box-shadow:0 3px 0 #53644624}
#territories-main #campaign-surface>canvas{display:block;width:100%;height:auto;touch-action:pan-y}
#territories-main .campaign-card-browser{position:absolute;z-index:1}
#territories-main .campaign-card-loading{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:18px;box-sizing:border-box;background:#d7dfb2;color:var(--campaign-ink);text-align:center;font:600 12px/1.5 var(--lcd-font)}
#territories-main .campaign-card-loading label{color:var(--campaign-ink);font:inherit}
#territories-main .campaign-card-loading progress{appearance:none;width:min(100%,220px);height:12px;border:1px solid var(--campaign-line);border-radius:2px;background:#eef1d2;accent-color:var(--campaign-accent)}
#territories-main .campaign-card-loading progress::-webkit-progress-bar{background:#eef1d2}
#territories-main .campaign-card-loading progress::-webkit-progress-value{background:var(--campaign-accent)}
#territories-main .campaign-card-loading progress::-moz-progress-bar{background:var(--campaign-accent)}
#territories-main .campaign-card-loading small{font:10px/1.4 var(--lcd-font);color:var(--lcd-muted)}
#territories-main .campaign-reward-cards{position:absolute;z-index:1;display:grid;grid-template-columns:repeat(var(--reward-columns,1),minmax(0,1fr));grid-auto-rows:var(--reward-card-height);gap:6px;align-content:start;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
body#chimera-console #territories-main button.campaign-reward-card{display:flex;align-items:center;gap:10px;min-width:0;min-height:0;width:100%;height:100%;padding:0;margin:0;border:0;background:transparent;box-shadow:none;transform:none;transition:none;text-align:left;font-size:10px;line-height:1.4}
body#chimera-console #territories-main button.campaign-reward-card:hover{background:#ffffff26;transform:none;box-shadow:none}
#territories-main .campaign-reward-thumbnail{display:block;flex:none;width:calc(var(--reward-card-height)*.64);height:var(--reward-card-height);aspect-ratio:16/25;pointer-events:none}
#territories-main .campaign-reward-thumbnail>.creature-card{width:100%;height:100%;margin:0}
#territories-main .campaign-reward-card-caption{display:flex;flex-direction:column;gap:8px;min-width:0;overflow-wrap:anywhere}
#territories-main .campaign-reward-card-caption small{color:var(--campaign-accent);font:inherit;font-size:9px;text-decoration:underline;text-underline-offset:3px}
#territories-main .campaign-reward-cards.is-compact .campaign-reward-card{gap:6px;font-size:8px;line-height:1.35}
#territories-main .campaign-reward-cards.is-compact .campaign-reward-card-caption{flex:1}
#territories-main .campaign-reward-cards.is-compact .campaign-reward-card-caption small{display:none}
body#chimera-console #territories-main .campaign-reward-cards.is-large .campaign-reward-card{gap:10px;font-size:13px}
#territories-main .campaign-reward-cards.is-large .campaign-reward-card-caption{gap:4px}
#territories-main .campaign-reward-cards.is-large .campaign-reward-card-caption small{display:block;font-size:10px}
#territories-main .campaign-card-browser .card-deck{--deck-width:var(--campaign-card-width)}
#territories-main .campaign-card-browser .card-deck-controls{display:none}
body#chimera-console #territories-main #campaign-card-items .campaign-card-choice{display:block;width:100%;min-width:0;aspect-ratio:16/25;padding:0;margin:0;border:0;border-radius:5%/3.2%;background:transparent;box-shadow:none;color:inherit;transform:none;transition:none;cursor:inherit;line-height:0}
#territories-main .campaign-card-choice[aria-pressed=true]{outline:2px solid var(--campaign-accent);outline-offset:4px}
#territories-main .campaign-card-choice>img{display:block;width:100%;aspect-ratio:16/25;object-fit:contain}
#territories-main .campaign-map-input{position:absolute;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
#territories-main .campaign-map-input:focus-visible{outline:2px solid var(--campaign-accent);outline-offset:-2px}
#territories-main .campaign-sky-input:focus-visible{outline:2px solid #f0d89b;outline-offset:2px}
#territories-main .campaign-accessible{height:1px;overflow:hidden;clip-path:inset(50%);position:absolute;width:1px}
#territories-main .campaign-accessible:focus-within{position:relative;height:auto;width:auto;clip-path:none;display:flex;flex-wrap:wrap;gap:6px;padding-top:10px}
#territories-main .campaign-preparation{margin-top:16px;border-top:1px solid #83926b;padding:15px 0 0}
#territories-main .campaign-preparation:not(:focus-within){position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%)}
#territories-main .campaign-team-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
#territories-main .campaign-team-heading h2{font:700 17px/1.4 var(--lcd-font);margin:0;color:var(--campaign-ink)}
#territories-main .campaign-team-heading>span{font:11px/1.4 var(--lcd-font);color:var(--lcd-muted)}
#territories-main .campaign-help{font:12px/1.55 var(--lcd-font);color:var(--lcd-muted);margin:5px 0 12px}
#territories-main .campaign-team-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px}
#territories-main .campaign-team-grid label{min-width:0;display:flex;flex-direction:column;gap:5px;font:600 11px/1.4 var(--lcd-font);color:var(--campaign-ink)}
#territories-main .campaign-team-grid select{font:13px/1.5 var(--lcd-font);width:100%;min-width:0;padding:11px 24px 11px 9px;border:1px solid #83926b;border-radius:3px;background:#d7dfb2;color:#293d2a;cursor:pointer;box-sizing:border-box}
#territories-main .campaign-launch{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:14px 0 3px}
#territories-main .campaign-launch p{margin:0;max-width:58ch}
#chimera-console #territories-main #campaign-start{flex:none;min-width:195px;padding:13px 22px;font-size:14px}
#territories-main .campaign-battle-status{font:600 12px/1.6 var(--lcd-font);letter-spacing:.5px;text-align:center;margin:12px 0 14px;color:var(--campaign-ink)}
#territories-main #campaign-battle{animation:campaign-result-in .4s ease-out}
#territories-main #campaign-battle-stage{position:relative;border:1px solid #6e7e54;border-radius:5px;overflow:hidden;background:#b7c794;background-size:cover;background-position:center;min-height:210px;box-shadow:0 4px 0 #53644622}
#territories-main #campaign-battle-stage[data-loading=true]::before{content:"";position:absolute;left:calc(50% - 14px);top:calc(50% - 14px);width:28px;height:28px;border:3px solid #e6ecc688;border-top-color:#853c51;border-radius:50%;animation:campaign-loading 1s linear infinite}
#territories-main #campaign-battle-stage canvas{width:100%;height:auto;display:block}
#territories-main #campaign-battle-stage canvas.campaign-battle-canvas{background:linear-gradient(180deg,#dee6b600,#c7d49766 75%,#b2c58a77)}
#territories-main .campaign-result{padding:22px 18px 18px;border:1px solid #718356;background:#d2dca8;text-align:center;animation:campaign-result-in .5s ease-out;margin-top:15px;border-radius:4px}
#territories-main .campaign-result[data-victory=false]{background:#d9d6a9;border-color:#98716b}
#territories-main #campaign-result-title{font:700 24px/1.3 var(--lcd-font);color:#334c2d;margin:0 0 7px}
#territories-main #campaign-result-description{font:13px/1.65 var(--lcd-font);color:#465c3d;margin:0 auto 18px;max-width:60ch}
#territories-main #territories-error{font:13px/1.6 var(--lcd-font);border-left:3px solid #8a3b50;background:#f0dac8;color:#793748;padding:10px;overflow-wrap:anywhere}
#territories-main #territories-signin{font:15px/1.6 var(--lcd-font);padding:20px;background:var(--lcd-light);border:1px solid var(--lcd-line)}
.campaign-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@keyframes campaign-result-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes campaign-loading{to{transform:rotate(360deg)}}
@media(max-width:620px){
  body#chimera-console.territories-page #territories-main{padding:13px 9px 24px}
  #territories-main .territories-heading{gap:8px;margin-bottom:12px}
  #territories-main .territories-eyebrow{font-size:9px;letter-spacing:1.5px}
  #territories-main .campaign-progress{font-size:10px;max-width:112px}
  #territories-main .campaign-toolbar{gap:8px;flex-wrap:wrap}
  #territories-main .campaign-toolbar p{font-size:10px;min-width:100px}
  #chimera-console #territories-main #campaign-resume{font-size:11px;padding:8px}
  #territories-main .campaign-team-grid{grid-template-columns:1fr 1fr;gap:10px}
  #territories-main .campaign-team-grid label:first-child{grid-column:1 / -1}
  #territories-main .campaign-team-grid select{font-size:14px}
  #territories-main .campaign-launch{flex-direction:column;align-items:stretch;gap:12px;margin-top:8px}
  #territories-main .campaign-help{font-size:11px}
  #chimera-console #territories-main #campaign-start{width:100%}
}

/* Each scene owns the available LCD area, including browser chrome changes and folding. */
body#chimera-console:is(#chimera-console).console-page.account-page.territories-page main#territories-main{display:flex;flex-direction:column;gap:4px;min-height:0;padding:4px 8px 8px;overflow:hidden;position:relative}
#territories-main .territories-heading{flex:none;width:100%;margin:0;gap:8px}
#territories-main .territories-heading h1{font-size:19px;margin:0;line-height:1.2}
#territories-main .territories-eyebrow{display:none}
#territories-main .campaign-progress{font-size:10px;max-width:none}
#territories-main #territories-content{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;max-width:none}
#territories-main .campaign-toolbar{flex:none;flex-wrap:nowrap;gap:5px;min-height:26px;margin:0 0 3px}
#territories-main .campaign-toolbar p{min-width:0;font-size:10px}
#territories-main .campaign-toolbar>.territories-heading{flex:1;min-width:0;width:auto;gap:8px;display:flex}
#territories-main .campaign-toolbar>.territories-heading>div{min-width:0}
#territories-main .campaign-toolbar>.territories-heading h1{font-size:clamp(11px,2vw,14px);line-height:1.2;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
#territories-main .campaign-toolbar .campaign-progress{flex:none;font-size:10px;white-space:nowrap}
body#chimera-console #territories-main :is(#territories-back,#territories-refresh){display:grid;place-items:center;flex:none;width:28px;height:26px;min-height:26px;padding:0;font-size:0;line-height:1;border-radius:4px}
body#chimera-console #territories-main #territories-back::before{content:'←';font:18px/1 sans-serif}
body#chimera-console #territories-main #territories-refresh::before{content:'↻';font:19px/1 sans-serif}
#territories-main #campaign-map-panel{display:flex;flex:1;min-height:0;position:relative}
#territories-main #campaign-surface{flex:1;min-height:0;height:100%;max-height:100%}
#territories-main #campaign-surface>canvas{position:absolute;inset:0;touch-action:none}
body#chimera-console #territories-main #campaign-card-items.card-deck-items{padding:10px 28px 22px;touch-action:pan-y}
#territories-main #campaign-battle{display:flex;flex-direction:column;flex:1;min-height:0;position:relative}
#territories-main .campaign-battle-status{flex:none;margin:0 0 5px;font-size:10px;line-height:1.3}
#territories-main #campaign-battle-stage{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:'fight';background:#263b2b}
/* Pixi autoDensity writes pixel sizes inline; the grid owns their CSS dimensions. */
#territories-main #campaign-battle-stage .campaign-hud-canvas{grid-area:fight;z-index:2;align-self:start;width:100%!important;height:84px!important;min-width:0;pointer-events:none}
#territories-main #campaign-battle-stage .campaign-battle-canvas{grid-area:fight;width:100%!important;height:100%!important;min-width:0;min-height:0;object-fit:fill;background:none}
#territories-main .campaign-actions{grid-area:fight;z-index:2;align-self:end;justify-self:center;width:100%;max-width:760px;height:80px;min-width:0;min-height:0;overflow:hidden;background:linear-gradient(transparent,#263b2baa)}
#territories-main #campaign-battle-stage .campaign-actions-canvas{width:100%;height:100%}
#territories-main #campaign-battle-stage[data-layout=wide]{grid-template-columns:minmax(130px,20%) minmax(0,1fr) minmax(166px,24%);grid-template-areas:'hud fight actions'}
#territories-main #campaign-battle-stage[data-layout=wide] .campaign-hud-canvas{grid-area:hud;height:100%!important}
#territories-main #campaign-battle-stage[data-layout=wide] .campaign-actions{grid-area:actions;height:100%;background:#d7dfb2}
/* Current encounters share the waiting arena's HUD and dock. The campaign
   retains its responsive camera zoom, portrait scenery and map transitions. */
#territories-main #campaign-battle-stage[data-gameplay=waiting]{display:flex;min-width:0}
#territories-main #campaign-battle-stage .campaign-shared-battle{width:100%;background:#d7dfb2}
#territories-main #campaign-battle-stage .campaign-shared-battle:not([data-layout=wide]){grid-template-rows:minmax(0,1fr) auto}
#territories-main #campaign-battle-stage .campaign-shared-battle .campaign-battle-canvas{position:absolute;inset:0}
#territories-main .campaign-result{position:absolute;inset:22px 8px 8px;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;margin:0;padding:12px;background:#d2dca8f5}
#territories-main #campaign-result-title{font-size:22px;margin:0}
#territories-main #campaign-result-description{font-size:12px;line-height:1.4;margin:0}
#territories-main #territories-error{flex:none;margin:0;font-size:11px;padding:6px}
#territories-main .campaign-accessible:focus-within,#territories-main .campaign-preparation:focus-within{position:absolute;inset:0;z-index:5;width:auto;height:auto;max-height:100%;padding:10px;margin:0;overflow:auto;background:#d7dfb2}
#territories-main .campaign-boss{flex:1;min-height:0;overflow:auto;padding:clamp(12px,3vw,24px);border:1px solid var(--campaign-line);border-radius:5px;background:linear-gradient(135deg,#e1e7c0,#c2ce9c);color:var(--campaign-ink);display:flex;flex-direction:column;gap:12px;scrollbar-width:thin}
#territories-main .campaign-boss-heading p,#territories-main .campaign-boss-heading h2{margin:0 0 5px}
#territories-main .campaign-boss-heading h2{font:700 clamp(20px,3vw,28px)/1.2 var(--lcd-font);overflow-wrap:anywhere}
#territories-main .campaign-boss-eyebrow{font:700 10px/1.4 var(--lcd-font);letter-spacing:1px;text-transform:uppercase;color:var(--campaign-accent)}
#territories-main #campaign-boss-stats{font:12px/1.5 var(--lcd-font)}
#territories-main #campaign-boss-elements{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
#territories-main .campaign-boss-element{font:600 11px/1.3 var(--lcd-font);padding:4px 8px;border:1px solid #81906a;border-radius:3px;background:#e6ebc7}
#territories-main #campaign-boss-status{margin:0;padding:10px;border-left:3px solid var(--campaign-accent);background:#eff1d466}
#territories-main .campaign-boss-choice{display:flex;align-items:center;gap:clamp(14px,4vw,28px);margin:auto 0}
#territories-main .campaign-boss-card{flex:none;width:clamp(100px,24vw,168px);aspect-ratio:16/25}
#territories-main .campaign-boss-card>.creature-card{width:100%;height:100%;margin:0}
#territories-main .campaign-boss-card>img{width:100%;height:100%;object-fit:contain}
#territories-main .campaign-boss-preparation{flex:1;min-width:0;max-width:420px}
#territories-main .campaign-boss-preparation label{display:block;font:700 12px/1.5 var(--lcd-font);margin-bottom:5px;color:var(--campaign-ink)}
#territories-main #campaign-boss-fighter{box-sizing:border-box;width:100%;min-width:0;padding:10px 7px;border:1px solid #83926b;border-radius:3px;background:#e5ebc6;color:var(--campaign-ink);font:12px/1.4 var(--lcd-font)}
#territories-main #campaign-boss-hint{margin:10px 0 0}
#territories-main .campaign-boss-actions{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:4px}
#territories-main .campaign-boss-actions>button{flex:1;min-width:140px}
@media(max-width:440px){
  #territories-main .campaign-boss{padding:12px;gap:10px}
  #territories-main .campaign-boss-choice{gap:12px;align-items:flex-start}
  #territories-main .campaign-boss-card{width:100px}
  #territories-main #campaign-boss-hint{font-size:10px;line-height:1.45}
  #territories-main .campaign-boss-actions>button{font-size:12px}
}
@media(max-height:740px){
  body#chimera-console:is(#chimera-console).console-page.account-page.territories-page .account-header{height:38px;min-height:38px;padding-top:5px;padding-bottom:5px}
}
@media(orientation:landscape) and (max-height:540px){
  body#chimera-console:is(#chimera-console).console-page.account-page.territories-page{width:calc(100% - 8px);height:calc(100dvh - 8px);margin:4px auto}
  body#chimera-console:is(#chimera-console).console-page.account-page.territories-page main#territories-main{margin:0 8px;border-width:5px;padding:4px;gap:2px}
  #territories-main .territories-heading{display:none}
  #territories-main .campaign-toolbar{min-height:26px;margin-bottom:2px}
}
