/* 10-11 v572 老闆「配色都跑掉了」：工廠產線列、礦工分派、關卡鈕一律淺底深字、選中金色；最後載入，蓋過舊深色規則 */
/* 工廠：名稱／狀態／現金看得到 */
body[data-ui-version="3"] [data-home-panel="dock"] :is(.line-dock-top b,.line-dock-head,.line-dock-head b,.line-dock-head .line-dock-status,.line-dock-name,.line-dock-name *,.line-dock-heading,.line-dock-heading small){color:#49331c!important;text-shadow:none!important}
body[data-ui-version="3"] [data-home-panel="dock"] .line-dock-top b{color:#8a5a00!important}
body[data-ui-version="3"] [data-home-panel="dock"] .line-dock-top span[data-halt]{background:#fdeeea!important;color:#8a2a1c!important;border-color:#d8796c!important}
body[data-ui-version="3"] [data-home-panel="dock"] .line-dock-item[data-open]>.line-dock-head{background:#f7dd8f!important}
body[data-ui-version="3"] [data-home-panel="dock"] :is(.line-dock-icon,.line-dock-tag){background:#fffdf7!important;color:#49331c!important;border:1px solid #d9c08a!important}
body[data-ui-version="3"] [data-home-panel="dock"] .line-dock-item{box-shadow:0 2px 6px #b58a2722!important}
/* 礦工分派：按鈕淺底深字、確認鈕金色、場景漸層變淡、捲軸淺色 */
body[data-ui-version="3"] .miners-v3 .dispatch-footer>.btn{background:#fffdf7!important;color:#49331c!important;border:1px solid #b58a27!important}
body[data-ui-version="3"] .miners-v3 .dispatch-footer>.dispatch-confirm-main{background:#f1c45a!important;color:#2a1c00!important;border:2px solid #b58a27!important;box-shadow:0 3px 8px #b58a2744!important}
body[data-ui-version="3"] .miners-v3 .dispatch-zone-scene::after{background:linear-gradient(180deg,transparent 55%,#fff7e633)!important}
body[data-ui-version="3"] .miners-v3 .dispatch-yield{padding:4px 8px;border-radius:10px;background:#fffdf7e8;color:#49331c!important;text-shadow:none!important}
body[data-ui-version="3"] .miners-v3 .dispatch-yield b{color:#8a5a00!important}
body[data-ui-version="3"] .miners-v3 .dispatch-unassigned{background:#fff1d4!important;color:#49331c!important}
body[data-ui-version="3"] .miners-v3,body[data-ui-version="3"] .miners-v3 *{scrollbar-color:#c9a14a #fff1d4}
body[data-ui-version="3"] .miners-v3 ::-webkit-scrollbar{width:10px;height:10px;background:#fff1d4}
body[data-ui-version="3"] .miners-v3 ::-webkit-scrollbar-thumb{background:#c9a14a;border-radius:6px}
/* 關卡按鈕（戰鬥 HUD 右上、探險標題旁） */
body[data-ui-version="3"] :is(.ex-hud-stages,.ex-run-stages){background:#fff7e5!important;color:#49331c!important;border:1px solid #b58a27!important;border-radius:999px;padding:4px 12px;font-weight:800;min-height:32px;cursor:pointer;text-shadow:none!important}
body[data-ui-version="3"] .ex-run>h3:has(+.ex-run-stages){display:inline-block;margin-right:8px}
/* 探險進行中：場景放大填滿左欄（v561 寫死 245px 太小） */
@media (orientation:landscape){
body[data-ui-version="3"] .ex-panel.is-running .ex-scene.material-level-scene{height:auto!important;min-height:0!important;width:100%!important;aspect-ratio:16/9!important;max-height:calc(100dvh - 130px)!important}
body[data-ui-version="3"] .ex-panel.is-running .ex-scene.material-level-scene:not(.is-land){aspect-ratio:4/3!important}
}
/* 礦洞關卡「進入關卡」原本是青色（ui-v3.css:1805），老闆禁青綠介面 → 金色深字 */
body[data-ui-version="3"] .cave-selection>.ex-enter{background:linear-gradient(180deg,#f6d77a,#d9ab3f)!important;color:#1b1505!important;border:1px solid #b8862b}
body[data-ui-version="3"] .cave-selection>.ex-enter b{color:#1b1505!important}
/* 自家礦場：v562.css:49 把標題列藏掉，回礦洞關卡的按鈕也跟著不見 → 只露出返回鈕，標題由頁首「自家礦場」顯示 */
body[data-ui-version="3"] .cave-board.is-home-mine .cave-board-heading{display:flex!important;justify-content:flex-end}
body[data-ui-version="3"] .cave-board.is-home-mine .cave-board-heading h3{display:none}
/* 摩天輪搭乘窗景：車廂窗框＋城市圖由近到遠升高再降回，輕微搖晃（js/amusement-park.js） */
.amusement-park .park-trip{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.amusement-park .park-trip[hidden]{display:none}
.park-view{position:relative;flex:1 0 100%;aspect-ratio:16/9;overflow:hidden;border-radius:18px;background:#bfe3ff;box-shadow:0 6px 18px #0003}
.park-view>img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;transform-origin:86% 68%;animation:pv-rise var(--ride,8s) ease-in-out forwards}
@keyframes pv-rise{0%{transform:scale(2.6) translateY(4%) rotate(-1deg)}45%{transform:scale(1.05) translateY(0) rotate(1deg)}55%{transform:scale(1.05) translateY(0) rotate(-.6deg)}100%{transform:scale(2.4) translateY(4%) rotate(.8deg)}}
.park-view .pv-cloud{position:absolute;top:8%;left:-30%;width:28%;height:14%;border-radius:50%;background:radial-gradient(closest-side,#fffe,#fff8 60%,transparent);animation:pv-cloud calc(var(--ride,8s)*1.2) linear forwards}
.park-view .pv-cloud.b{top:22%;width:20%;animation-duration:calc(var(--ride,8s)*.9);animation-delay:calc(var(--ride,8s)*.15)}
@keyframes pv-cloud{to{transform:translateX(560%)}}
.park-view .pv-frame{position:absolute;inset:0;border:14px solid #f3d27a;border-radius:18px;box-shadow:inset 0 0 0 3px #b8862b,inset 0 0 40px #0005;background:linear-gradient(90deg,transparent 49.4%,#f3d27a 49.4%,#f3d27a 50.6%,transparent 50.6%);pointer-events:none}
.park-view .pv-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,#fff3 0,transparent 30%,transparent 70%,#fff2 100%)}
@media (prefers-reduced-motion:reduce){.park-view>img,.park-view .pv-cloud{animation:none}}
.amusement-park .park-trip .park-wheel{animation:pv-spin 6s linear infinite}
@keyframes pv-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.amusement-park .park-trip .park-wheel{animation:none}}
/* 老闆「戰鬥比例可以大一些」：電腦版探險場景左欄加寬、高度吃滿畫面（右欄資訊縮窄） */
@media(min-width:800px){
  .panel-home .player-sheet:not(.is-combat) .ex-panel.is-running{width:100%!important}
  .panel-home .player-sheet:not(.is-combat) .ex-panel.is-running .ex-run{grid-template-columns:minmax(0,3fr) minmax(250px,.8fr)!important;gap:8px 12px!important}
  body[data-ui-version="3"] .ex-panel.is-running .ex-scene.material-level-scene{max-height:calc(100dvh - 100px)!important}
}
/* 戰鬥場景：v561.css:119 寫死 220px，電腦版下面一大片空白 → 高度吃到畫面剩餘空間（最多 16:9） */
@media(min-height:600px) and (min-width:900px){
  html body[data-ui-version="3"] #app .player-sheet.is-combat .ex-hud>.cs-stage{height:min(calc(100dvh - 250px),calc((100vw - 520px)*.5625))!important;min-height:220px!important;max-height:none!important}
}

/* 10-11 v572 戰鬥站位：隨隊礦工 4 位在玩家後排、寵物在前；玩家依等級上色＋光環＋武器徽章（js/combat-stage.js） */
.cs-stage .cs-party{position:absolute;left:0;top:0;bottom:0;width:30%;z-index:1;pointer-events:none}
.cs-stage:has(.cs-party) .cs-player{left:19%}
.cs-stage .cs-ally{position:absolute;bottom:20%;left:0;width:62%;display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 3px 2px #0005)}
.cs-stage .cs-ally:nth-child(2){left:38%;bottom:24%}
.cs-stage .cs-ally:nth-child(3){left:-6%;bottom:40%;width:52%;z-index:-1}
.cs-stage .cs-ally:nth-child(4){left:34%;bottom:44%;width:52%;z-index:-1}
.cs-stage .cs-ally img{width:100%;height:auto;display:block}
.cs-stage .cs-ally b{margin-top:-6px;padding:1px 6px;border-radius:8px;background:#fffbea;color:#3a2a06;border:1px solid #d9ab3f;font-size:10px;line-height:1.3;white-space:nowrap}
.cs-stage .cs-ally.is-hop{animation:cs-ally-hop .45s ease-out}
@keyframes cs-ally-hop{40%{transform:translate(10px,-14px)}}
.cs-stage .cs-pet{z-index:3}
.cs-stage .cs-player .cs-aura{position:absolute;left:12%;right:12%;bottom:2%;height:12%;border-radius:50%;background:radial-gradient(closest-side,var(--tc,#0000),transparent);opacity:.85;pointer-events:none}
.cs-stage .cs-player .cs-tint{position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(180deg,transparent 30%,var(--tc) 42%,var(--tc) 100%);mix-blend-mode:screen;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.cs-stage .cs-player[data-frame="1"]>.cs-tint[data-f="1"],.cs-stage .cs-player[data-frame="2"]>.cs-tint[data-f="2"],.cs-stage .cs-player[data-frame="3"]>.cs-tint[data-f="3"],.cs-stage .cs-player[data-frame="4"]>.cs-tint[data-f="4"],.cs-stage .cs-player[data-frame="5"]>.cs-tint[data-f="5"],.cs-stage .cs-player[data-frame="6"]>.cs-tint[data-f="6"]{opacity:.38}
.cs-stage .cs-tier-1{--tc:#3b7bff}
.cs-stage .cs-tier-2{--tc:#9b4dff}
.cs-stage .cs-tier-3{--tc:#f0b429}
.cs-stage .cs-tier-4{--tc:#ff4d4d}
.cs-stage .cs-tier-3 .cs-aura,.cs-stage .cs-tier-4 .cs-aura{animation:cs-aura 1.6s ease-in-out infinite alternate}
@keyframes cs-aura{from{opacity:.5;transform:scale(.9)}to{opacity:1;transform:scale(1.1)}}
.cs-stage .cs-player .cs-wpn{position:absolute;right:6%;top:8%;width:min(22%,52px);aspect-ratio:1;border-radius:50%;background:#fffbea;border:2px solid #d9ab3f;box-shadow:0 2px 6px #0004;display:grid;place-items:center;z-index:3;pointer-events:none}
.cs-stage .cs-player .cs-wpn img{width:82%;height:82%;object-fit:contain}
@media (prefers-reduced-motion:reduce){.cs-stage .cs-ally.is-hop,.cs-stage .cs-aura{animation:none!important}}
/* v572：武器層以持械手中心旋轉，跟隨六幀切換。 */
.cs-player>.cs-held{position:absolute;width:100%;height:100%;display:none;pointer-events:none;transform:rotate(var(--angle)) scale(var(--weapon-scale,.55));transform-origin:0 0;z-index:2}
.cs-player>.cs-held>img{position:absolute;width:100%;height:100%;object-fit:contain;mask-image:radial-gradient(ellipse 8% 10% at var(--grip-x) var(--grip-y),transparent 95%,#000 100%)}
.cs-player[data-frame="1"]>.cs-held[data-f="1"],.cs-player[data-frame="2"]>.cs-held[data-f="2"],.cs-player[data-frame="3"]>.cs-held[data-f="3"],.cs-player[data-frame="4"]>.cs-held[data-f="4"],.cs-player[data-frame="5"]>.cs-held[data-f="5"],.cs-player[data-frame="6"]>.cs-held[data-f="6"]{display:block}

/* 10-11 v573 區頁動態影片（海岸區）：跟原圖同位置同比例疊上 */
.district-detail-art video.district-video{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px);object-fit:contain;pointer-events:none}
.region-scene-art{position:relative;aspect-ratio:3/1;border-radius:10px;overflow:hidden;background:#f3ead4}.region-scene-art img{display:block;width:100%;height:100%;object-fit:cover}.region-scene-art video.district-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
/* 10-11 v581 老闆「字太淺，淡色用淡字」：右側欄展開的產線卡＝淺底，名字／體力／狀態／按鈕一律深字（蓋過 ui-v3 mission-rail 白字） */
body[data-ui-version="3"] .mission-rail>.line-dock:not(.is-collapsed){background:#fffbea!important;border-color:#d9ab3f!important;backdrop-filter:none!important}
body[data-ui-version="3"] .mission-rail>.line-dock:not(.is-collapsed) :is(.line-dock-card,.line-dock-item,.line-dock-head,.line-dock-msg,.line-dock-top,.line-dock-tiles) :where(b,small,span,strong,em,p){color:#2f2010!important;text-shadow:none!important}
body[data-ui-version="3"] .mission-rail>.line-dock:not(.is-collapsed) :is(.line-dock-info span,.line-dock-info small,.line-dock-status){color:#5a4426!important}
body[data-ui-version="3"] .mission-rail>.line-dock:not(.is-collapsed) .line-dock-msg{color:#5a3a06!important;text-shadow:none!important}
body[data-ui-version="3"] .mission-rail>.line-dock:not(.is-collapsed) button.line-dock-btn{color:#4a3306!important;text-shadow:none!important}
body[data-ui-version="3"] .mission-rail>.line-dock:not(.is-collapsed) button.line-dock-btn.primary{color:#2a1a00!important}
body[data-ui-version="3"] .mission-rail>.line-dock:not(.is-collapsed) button.line-dock-btn.warn{color:#7a3a00!important}
body[data-ui-version="3"] .mission-rail>.line-dock:not(.is-collapsed) .line-dock-item:is([data-status=nomaterial],[data-status=nofunds],[data-status=ready],[data-status=unstaffed],[data-status=unqualified],[data-status=tired]) .line-dock-tag{color:#fff4dc!important}

/* 10-12 老闆截圖「左側太擠、右側可以微調」：電腦版戰鬥右欄 340→300px 讓舞台變寬；
   主角／怪物不再撐滿 92% 高，礦工 2×2 排左後、寵物站主角與怪物中間，彼此不重疊 */
@media(min-width:900px){
  .panel-home.has-quick-bar .player-sheet.is-combat .ex-panel.is-combat{grid-template-columns:minmax(0,1fr) 300px}
  .ex-panel.is-combat .cs-stage .cs-sprite{height:70%;bottom:6%}
  .ex-panel.is-combat .cs-stage .cs-monster{height:76%;right:2%}
  .ex-panel.is-combat .cs-stage:has(.cs-party) .cs-player{left:30%}
  .ex-panel.is-combat .cs-stage .cs-party{width:26%}
  .ex-panel.is-combat .cs-stage .cs-ally{width:50%;left:2%;bottom:17%}
  .ex-panel.is-combat .cs-stage .cs-ally:nth-child(2){left:50%;bottom:19%}
  .ex-panel.is-combat .cs-stage .cs-ally:nth-child(3){left:4%;bottom:46%;width:44%}
  .ex-panel.is-combat .cs-stage .cs-ally:nth-child(4){left:50%;bottom:48%;width:44%}
  .ex-panel.is-combat .cs-stage .cs-pet{left:22%;bottom:3%;width:min(13%,110px)}
}
/* 10-30 老闆截圖：寵物疊在主角身上、武器徽章浮在頭旁 → 寵物站主角前方（往怪物側）、徽章收到戰鬥畫面左上角 */
.cs-stage .cs-pet[style*="--pet-index"]{left:calc(min(46%,225px) + var(--pet-index) * 9%);bottom:calc(4% + var(--pet-index) * 2%)}
.cs-stage:has(.cs-party) .cs-pet[style*="--pet-index"]{left:calc(19% + min(44%,215px) + var(--pet-index) * 9%)}
.cs-stage .cs-player .cs-wpn{right:auto;left:4%;top:2%;width:min(14%,40px)}
.ex-panel.is-combat .cs-stage .cs-pet[style*="--pet-index"]{left:calc(min(46%,225px) + var(--pet-index) * 9%);width:min(13%,110px)}
.ex-panel.is-combat .cs-stage:has(.cs-party) .cs-pet[style*="--pet-index"]{left:calc(30% + min(40%,200px) + var(--pet-index) * 9%)}
