/* 10-08 設計稿 102（背包）／107（角色裝備）只改版面：分類分頁＋排序、稀有度色框格子、右側物品詳情；裝備格標等級、右欄屬性 */
/* 稀有度色＝現有員工資質五色（白綠藍紫金），對應礦區順序 新手→黃→藍→紅→金 */
body[data-ui-version="3"] .inventory-v4{--r0:#c9d3d8;--r1:#e6c619;--r2:#5aa0f0;--r3:#b77cf0;--r4:#8a4bd6;--r5:#9fb0bf;--r6:#e8890c}
body[data-ui-version="3"] .inventory-v4>.inv-toolbar{flex-shrink:0;display:flex;align-items:center;gap:8px;min-width:0}
body[data-ui-version="3"] .inventory-v4 .inv-toolbar>.inv-tabs{flex:1;min-width:0;display:flex;gap:6px;margin:0;padding:5px;overflow-x:auto;scrollbar-width:none;border:1px solid #d5e5eb;border-radius:16px;background:rgba(248,251,252,.96);box-shadow:0 7px 18px rgba(30,71,88,.1)}
body[data-ui-version="3"] .inventory-v4 .inv-toolbar>.inv-tabs::-webkit-scrollbar{display:none}
body[data-ui-version="3"] .inventory-v4 .inv-tabs button{flex:1 0 auto;min-width:64px;min-height:40px;padding:0 12px;border:0;border-radius:11px;background:#eef4f6;color:#526976;font-weight:900}
body[data-ui-version="3"] .inventory-v4 .inv-tabs button[aria-selected="true"]{background:linear-gradient(#22c3e2,#0a9cc0);color:#fff;box-shadow:0 4px 12px rgba(9,174,205,.3)}
body[data-ui-version="3"] .inventory-v4 .inv-sort{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #d5e5eb;border-radius:14px;background:#fff;color:#203a4a;font-weight:800;font-size:13px}
body[data-ui-version="3"] .inventory-v4 .inv-sort select{min-height:30px;border:0;background:transparent;color:#203a4a;font-weight:900;font-size:14px}
/* 格子：圖示置中、數量右下、名稱只給讀屏（名稱在右側詳情） */
body[data-ui-version="3"] .inventory-v4 .inventory-selection-layout>.inv-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));grid-auto-rows:auto;gap:8px;padding:10px;border-radius:16px;background:rgba(236,244,247,.9)}
body[data-ui-version="3"] .inventory-v4 .inventory-selection-layout .inv-slot{position:relative;display:grid;place-items:center;aspect-ratio:1;min-height:0;padding:6px;border:2px solid var(--r0);border-radius:12px;background:linear-gradient(150deg,#fff,#e9eef1)}
body[data-ui-version="3"] .inventory-v4 .inv-slot>b,body[data-ui-version="3"] .inventory-v4 .inv-slot>small{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body[data-ui-version="3"] .inventory-v4 .inv-slot :is(.inv-art,img,.ui-icon){width:78%;height:78%;max-width:none;object-fit:contain}
body[data-ui-version="3"] .inventory-v4 .inv-slot .inv-emoji{font-size:34px;font-style:normal;line-height:1}
body[data-ui-version="3"] .inventory-v4 .inv-slot .inv-count{position:absolute;right:5px;bottom:2px;color:#1d3445;font-size:13px;font-weight:900;text-shadow:0 0 3px #fff,0 0 3px #fff}
body[data-ui-version="3"] .inventory-v4 .inv-slot[data-rarity="1"]{border-color:var(--r1);background:linear-gradient(150deg,#fffde8,#f7ec9c)}
body[data-ui-version="3"] .inventory-v4 .inv-slot[data-rarity="2"]{border-color:var(--r2);background:linear-gradient(150deg,#f0f7ff,#c6defb)}
body[data-ui-version="3"] .inventory-v4 .inv-slot[data-rarity="3"]{border-color:var(--r3);background:linear-gradient(150deg,#faf3ff,#e1c9f8)}
body[data-ui-version="3"] .inventory-v4 .inv-slot[data-rarity="4"]{border-color:var(--r4);background:linear-gradient(150deg,#f3eaff,#cdb3f5)}
body[data-ui-version="3"] .inventory-v4 .inv-slot[data-rarity="5"]{border-color:var(--r5);background:linear-gradient(150deg,#f7fafc,#cfd9e2)}
body[data-ui-version="3"] .inventory-v4 .inv-slot[data-rarity="6"]{border-color:var(--r6);background:linear-gradient(150deg,#fff6e6,#f6c77a)}
body[data-ui-version="3"] .inventory-v4 .inv-slot[aria-pressed="true"]{outline:3px solid #09aecd;outline-offset:1px;box-shadow:0 0 12px rgba(9,174,205,.45)}
body[data-ui-version="3"] .inventory-v4 .inv-slot[data-life-collection]{background:#fff8e9!important;color:#392b20!important;border-color:#cdbb96!important}
body[data-ui-version="3"] .inventory-v4 .inv-slot[data-life-collection][aria-pressed="true"]{background:#ffe6a4!important;border-color:#b4872f!important;outline:3px solid #b4872f!important;box-shadow:0 0 8px #b4872f55!important}
body[data-ui-version="3"] .inventory-v4 .inv-slot[data-life-collection]>.inventory-selected-mark{background:#b4872f;color:#fff}
body[data-ui-version="3"] .inventory-v4 .inventory-item-detail:has(.life-collection-art){display:flex!important;flex-direction:column;align-items:stretch;background:#fff8e9;color:#392b20;border-color:#cdbb96}
body[data-ui-version="3"] .inventory-v4 .inventory-detail-head:has(.life-collection-art){display:grid;grid-template-columns:72px minmax(0,1fr);width:100%;height:auto;min-height:96px;position:static}
body[data-ui-version="3"] .inventory-v4 .inventory-detail-head:has(.life-collection-art)>div{width:auto;max-width:none}
body[data-ui-version="3"] .inventory-v4 .inventory-detail-head:has(.life-collection-art) h3{width:auto;max-width:none;color:#392b20}
body[data-ui-version="3"] .inventory-v4 .inventory-detail-art:has(.life-collection-art){height:96px;background:#fff8e9;border-color:#cdbb96}
body[data-ui-version="3"] .inventory-v4 .inventory-item-detail:has(.life-collection-art) :is(.inventory-detail-chip,.inventory-detail-desc){color:#493822}
body[data-ui-version="3"] .inventory-v4 .inventory-item-detail:has(.life-collection-art) .inventory-detail-chip{background:#ffe6a4}
body[data-ui-version="3"] .inventory-v4 .inv-slot[data-equipped]::before{content:"E";position:absolute;left:4px;top:3px;padding:0 4px;border-radius:6px;background:#f0b93a;color:#3f2d08;font-size:11px;font-weight:900}
/* 右側詳情 */
body[data-ui-version="3"] .inventory-v4 .inventory-item-detail{display:flex;flex-direction:column;gap:8px;min-width:0;padding:12px;border-radius:16px;background:#fff;border:1px solid #d5e5eb;color:#203a4a;overflow:auto}
body[data-ui-version="3"] .inventory-detail-head{display:flex;gap:10px;align-items:flex-start}
body[data-ui-version="3"] .inventory-detail-art{flex:0 0 72px;height:72px;display:grid;place-items:center;border:2px solid var(--r0);border-radius:12px;background:#f2f6f8}
body[data-ui-version="3"] .inventory-detail-art[data-rarity="1"]{border-color:var(--r1)}body[data-ui-version="3"] .inventory-detail-art[data-rarity="2"]{border-color:var(--r2)}body[data-ui-version="3"] .inventory-detail-art[data-rarity="3"]{border-color:var(--r3)}body[data-ui-version="3"] .inventory-detail-art[data-rarity="4"]{border-color:var(--r4)}body[data-ui-version="3"] .inventory-detail-art[data-rarity="5"]{border-color:var(--r5)}body[data-ui-version="3"] .inventory-detail-art[data-rarity="6"]{border-color:var(--r6)}
body[data-ui-version="3"] .inventory-detail-art>:is(img,i,svg){width:80%;height:80%;object-fit:contain;font-size:36px;font-style:normal;text-align:center}
body[data-ui-version="3"] .inventory-detail-head>div{display:grid;gap:4px;min-width:0}
body[data-ui-version="3"] .inventory-detail-head h3{margin:0;font-size:17px;line-height:1.3;overflow-wrap:anywhere}
body[data-ui-version="3"] .inventory-detail-stars{color:#f0a91c;letter-spacing:1px;font-size:15px}
body[data-ui-version="3"] .inventory-detail-chip{justify-self:start;padding:2px 10px;border-radius:999px;background:#dff1f7;color:#2b6c86;font-size:12px;font-weight:800}
body[data-ui-version="3"] .inventory-detail-count{margin:0;font-weight:900}
body[data-ui-version="3"] .inventory-detail-desc,body[data-ui-version="3"] .inventory-item-detail .inventory-material-source{margin:0;color:#506877;line-height:1.5}
body[data-ui-version="3"] .inventory-item-detail .inventory-detail-use{margin-top:auto;min-height:46px;border-radius:12px;background:linear-gradient(#22c3e2,#0a9cc0);color:#fff;font-weight:900}
body[data-ui-version="3"] .inventory-item-detail .inventory-detail-use:disabled{background:#cfdce2;color:#5d7380}
/* 手機：格子在上、詳情在下，整個內容區往下捲，不裁切 */
@media(max-width:899px){
  body[data-ui-version="3"] .inventory-v4{height:auto;overflow:visible}
  body[data-ui-version="3"] .inventory-v4>.inv-body{flex:none;overflow:visible}
  body[data-ui-version="3"] .inventory-v4 .inv-sort{padding:4px 6px}
  body[data-ui-version="3"] .inventory-v4 .inv-sort select{max-width:84px;font-size:13px}
  body[data-ui-version="3"] .inventory-v4 .inv-tabs button{min-width:56px;padding:0 10px}
  body[data-ui-version="3"] .inventory-v4 .inventory-selection-layout{display:flex;flex-direction:column;overflow:visible;min-height:0;flex:none}
  body[data-ui-version="3"] .inventory-v4 .inventory-selection-layout>.inv-grid{grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}
  body[data-ui-version="3"] .inventory-v4 .inventory-item-detail{overflow:visible}
  body[data-ui-version="3"] .inventory-v4 .inv-sort span{display:none}
}
/* 角色裝備：格子標題列＋右下等級、右欄屬性卡 */
body[data-ui-version="3"] .gear-equipped-slots button{position:relative}
body[data-ui-version="3"] .gear-equipped-slots button>b{justify-self:stretch;padding:2px 6px;border-radius:8px;background:#e6f2f6;color:#1a425c;font-size:13px}
body[data-ui-version="3"] .gear-equipped-slots .gear-slot-lv{position:absolute;right:6px;bottom:22px;padding:0 5px;border-radius:6px;background:#1a425cd9;color:#fff;font-size:11px;font-style:normal;font-weight:900}
body[data-ui-version="3"] .gear-effect-summary .gear-stat-hp{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 10px;padding:10px 12px;border-radius:12px;background:#fff4e8}
body[data-ui-version="3"] .gear-effect-summary .gear-stat-hp strong{color:#e8590c;font-size:26px;font-weight:900}
body[data-ui-version="3"] .gear-effect-summary h4{margin:0 0 6px;font-size:14px;color:#1b405b}
/* 10-08 稿 107 左側選單：電腦版把窄圖示列加寬成「圖示＋文字」橫排；手機版底部列不動；營運類面板本來就不顯示這列，不跟著位移 */
@media(min-width:900px){
  body[data-ui-version="3"] .player-sheet:not([data-ui-family="operations"]) .v4-system-rail{width:136px;padding:78px 8px 8px}
  body[data-ui-version="3"] .player-sheet:not([data-ui-family="operations"]) .v4-system-rail button{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:52px;padding:6px 12px}
  body[data-ui-version="3"] .player-sheet:not([data-ui-family="operations"]) .v4-system-rail b{font-size:15px}
  body[data-ui-version="3"] .panel-home.has-quick-bar .player-sheet:not([hidden]):not([data-ui-family="operations"]) .sheet-head{left:158px}
  body[data-ui-version="3"] .panel-home.has-quick-bar .player-sheet:not([hidden]):not([data-ui-family="operations"]) .sheet-scroll{left:158px}
}
body[data-ui-version="3"] .inventory-v4 .inv-slot .inv-lv{position:absolute;top:4px;left:5px;padding:1px 5px;border-radius:7px;background:rgba(23,50,81,.82);color:#fff;font:700 10px/1.4 inherit;font-style:normal}
body[data-ui-version="3"] .inventory-detail-art .inv-lv{display:none}
body[data-ui-version="3"] .gear-effect-summary .gear-power{display:flex;justify-content:space-between;align-items:baseline;margin:6px 0 2px;padding:6px 10px;border-radius:10px;background:linear-gradient(90deg,#fff6e6,#f6c77a);color:#5a3500}
body[data-ui-version="3"] .gear-effect-summary .gear-power strong{font-size:20px}
body[data-ui-version="3"] .gear-effect-summary .gear-power-note{display:block;margin-bottom:6px;color:#5d6b78;font-size:11px;line-height:1.5}
/* 10-08 橫式矮螢幕：背包格固定高度時列被壓扁、格子互疊，改列高照內容、從上排起 */
.inventory-v4 .inv-grid{grid-template-rows:none!important;grid-auto-rows:max-content!important;align-content:start!important}

/* v423 橫式第3批（1280×591 短螢幕）：背包三列格子＋底列壓縮、裝備右欄屬性兩欄、角色頁改兩欄 */
@media(min-width:900px) and (max-height:700px){
.inventory-v4{display:flex;flex-direction:column;height:calc(100vh - 116px);gap:6px}
.inventory-v4 .inv-coins{min-height:0;padding:4px 12px;margin:0;font-size:13px}
.inventory-v4 .inv-coins .ui-icon{width:18px;height:18px}
.inventory-v4 .inv-toolbar{margin:0;min-height:0}
.inventory-v4 .inv-tabs{padding:2px}
.inventory-v4 .inv-tabs button{min-height:34px;height:34px}
.inventory-v4 .inv-sort select{height:34px}
.inventory-v4 .inv-body{flex:1 1 auto;min-height:0;margin:0;padding:6px;overflow:hidden}
.inventory-v4 .inventory-selection-layout{height:100%;margin:0}
.inventory-v4 .inv-grid{max-height:100%;overflow:auto;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));grid-auto-rows:78px;gap:8px;align-content:start}
.inventory-v4 .inv-grid>li{height:78px;min-height:0}
.inventory-v4 .inventory-item-detail{max-height:100%;overflow:auto}
.inventory-v4 .inv-equipped{flex:0 0 auto;min-height:0;padding:6px 12px;margin:0}
.inventory-v4 .inv-equipped .inv-emoji{width:32px;height:32px}
.inventory-v4 .inv-equipped .btn{min-height:38px}
.inventory-v4 .inv-note{display:none}
.gear-equipment-board .gear-board-heading{min-height:0;margin-bottom:4px}
.gear-equipment-board .gear-board-heading button{min-height:34px;height:34px;padding:0 12px}
.gear-equipment-board .gear-equipment-layout{height:calc(100vh - 168px);min-height:0}
.gear-equipment-board .gear-character-stage,.gear-equipment-board .gear-selected-panel{height:100%;max-height:100%}
.gear-effect-summary .gear-power-note,.gear-effect-summary>small{display:none!important}
.gear-effect-summary .gear-power{padding:4px 10px;margin:4px 0}
.gear-effect-summary .gear-stat-hp{padding:4px 10px;margin:4px 0;min-height:0}
.gear-effect-summary .gear-stat-hp strong{font-size:20px}
.gear-effect-summary dl{display:grid;grid-template-columns:1fr 1fr;column-gap:12px}
.gear-effect-summary dl>div{min-height:0;padding:2px 0}
.v3-page:has(>.character-command-hero){display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:min-content min-content 1fr auto;gap:10px;align-items:start}
.v3-page:has(>.character-command-hero)>*{margin:0!important;min-width:0}
.v3-page:has(>.character-command-hero)>.character-command-hero{grid-column:1;grid-row:1 / 4}
.v3-page:has(>.character-command-hero)>.character-management-section{grid-column:2}
.v3-page:has(>.character-command-hero)>.character-management-section:nth-of-type(1){grid-row:1}
.v3-page:has(>.character-command-hero)>.character-management-section:nth-of-type(2){grid-row:2}
.v3-page:has(>.character-command-hero)>.equipment-shop-preview{grid-column:2;grid-row:3}
.v3-page:has(>.character-command-hero)>.equipment-maintenance{grid-column:1;grid-row:4}
.v3-page:has(>.character-command-hero)>.feedback-panel{grid-column:2;grid-row:4}
.v3-page:has(>.character-command-hero) .character-management-section>summary{min-height:44px;padding-block:8px}
}
/* 10-08 設計稿 107 六格＋套裝：左排 頭部／左手／左腳，右排 身體／右手／右腳，飾品置底中間 */
body[data-ui-version="3"] .gear-equipped-slots{grid-template-columns:96px 1fr 96px;grid-template-rows:repeat(3,minmax(0,1fr)) auto;gap:6px}
body[data-ui-version="3"] .gear-equipped-slots button[data-pos]{width:96px;padding:5px;gap:2px}
body[data-ui-version="3"] .gear-equipped-slots button[data-pos] .gear-item-art{width:40px;height:40px}
body[data-ui-version="3"] .gear-equipped-slots button[data-pos="head"]{grid-column:1;grid-row:1}
body[data-ui-version="3"] .gear-equipped-slots button[data-pos="left-hand"]{grid-column:1;grid-row:2}
body[data-ui-version="3"] .gear-equipped-slots button[data-pos="left-foot"]{grid-column:1;grid-row:3}
body[data-ui-version="3"] .gear-equipped-slots button[data-pos="armor"]{grid-column:3;grid-row:1}
body[data-ui-version="3"] .gear-equipped-slots button[data-pos="weapon"]{grid-column:3;grid-row:2}
body[data-ui-version="3"] .gear-equipped-slots button[data-pos="right-foot"]{grid-column:3;grid-row:3}
body[data-ui-version="3"] .gear-equipped-slots button[data-pos="accessory"]{grid-column:2;grid-row:4;justify-self:center;width:auto;min-width:96px;grid-template-columns:auto auto;align-items:center}
body[data-ui-version="3"] .gear-equipped-slots button[data-pos] small{font-size:10px;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gear-set-list{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:6px}
.gear-set-row{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:6px 8px;border-radius:10px;background:#f4f8fa;font-size:12px}
.gear-set-row em{font-style:normal;font-weight:700;color:#b07a10}
.gear-set-row span{grid-column:1/-1;color:#8a98a3}
.gear-set-row span.on{color:#0b8a4b;font-weight:700}
.gear-set-empty{font-size:12px;color:#6b7b86}
@media(max-width:899px){body[data-ui-version="3"] .gear-equipped-slots{grid-template-columns:78px 1fr 78px}body[data-ui-version="3"] .gear-equipped-slots button[data-pos]{width:78px}body[data-ui-version="3"] .gear-equipped-slots button[data-pos] .gear-item-art{width:30px;height:30px}}
/* 人物頁左欄空白：右欄較長時英雄卡拉滿到同高，不留白 */
@media(min-width:900px) and (max-height:700px){body[data-ui-version="3"] .v3-page:has(>.character-command-hero)>.character-command-hero{align-self:stretch;height:auto;min-height:0;box-sizing:border-box}}
/* 10-10 v505 稀有度 7～9（黑金／星隕／龍脈） */
body[data-ui-version="3"] .inventory-v4 .inv-slot[data-rarity="7"]{border-color:#c9a227;background:linear-gradient(150deg,#e8e0c8,#6a6458)}body[data-ui-version="3"] .inventory-detail-art[data-rarity="7"]{border-color:#c9a227}body[data-ui-version="3"] .inventory-v4 .inv-slot[data-rarity="8"]{border-color:#7a8cff;background:linear-gradient(150deg,#eef0ff,#9aa6f0)}body[data-ui-version="3"] .inventory-detail-art[data-rarity="8"]{border-color:#7a8cff}body[data-ui-version="3"] .inventory-v4 .inv-slot[data-rarity="9"]{border-color:#2fae8a;background:linear-gradient(150deg,#e6fff4,#6fd0a8)}body[data-ui-version="3"] .inventory-detail-art[data-rarity="9"]{border-color:#2fae8a}
/* 10-22 老闆「背包很多東西是空白的」：格內顯示名稱（淺底深字一行）、數量／耐久移到右上，圖示縮小讓位；選中金框 */
body[data-ui-version="3"] .inventory-v4 .inventory-selection-layout .inv-slot{padding:4px 4px 18px;overflow:hidden}
body[data-ui-version="3"] .inventory-v4 .inventory-selection-layout .inv-slot>b{position:absolute;left:3px;right:3px;bottom:3px;width:auto;height:auto;clip:auto;margin:0;padding:1px 3px;border-radius:6px;background:rgba(255,255,255,.92);color:#1d3445;font-size:10px;font-weight:800;line-height:1.3;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-ui-version="3"] .inventory-v4 .inventory-selection-layout .inv-slot :is(.inv-art,img,.ui-icon){width:62%;height:62%}
body[data-ui-version="3"] .inventory-v4 .inventory-selection-layout .inv-slot .inv-count{top:3px;right:4px;bottom:auto;padding:0 4px;border-radius:6px;background:rgba(255,255,255,.9);font-size:11px;line-height:1.4}
body[data-ui-version="3"] .inventory-v4 .inventory-selection-layout .inv-slot[aria-pressed="true"]{outline-color:#e0a81c;box-shadow:0 0 12px rgba(224,168,28,.5)}
/* 10-22 背包截圖驗證：已裝備「E」與 LV 標記錯開；選取勾勾移到圖片右下，不壓數量 */
body[data-ui-version="3"] .inventory-v4 .inv-slot[data-equipped]::before{top:auto;bottom:24px;z-index:2}
body[data-ui-version="3"] .inventory-v4 .inv-slot>.inventory-selected-mark{top:auto;bottom:24px}
/* 10-22 窄畫面（844 寬）耐久字不換行、縮小，不蓋住 LV 與圖 */
@media (max-width:900px){body[data-ui-version="3"] #app .inventory-template-v2.inventory-v4 .inv-slot .inv-count{white-space:nowrap;font-size:10px!important;padding:0 2px;right:2px;top:auto!important;bottom:22px!important}
body[data-ui-version="3"] .inventory-v4 .inv-slot>.inventory-selected-mark{top:2px;bottom:auto}
body[data-ui-version="3"] #app .inventory-template-v2.inventory-v4 .inv-slot .inv-lv{left:2px;padding:0 3px;font-size:9px!important}}
/* 10-22 裝備收藏圖鑑分頁＋收藏提示（js/equip-codex.js）：不捲動，格子區撐滿，放不下由程式分頁 */
.inventory-v4 .inv-body:has(.equip-codex){overflow:hidden!important;display:flex;flex-direction:column}
.equip-codex{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px;height:100%}
.equip-codex .codex-total{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin:0;padding:6px 12px;border-radius:12px;background:#fff6dc;border:1px solid #f0c75e;color:#5a3d00;font-size:14px}
.equip-codex .codex-total span{color:#2c6b86;font-weight:800}
.equip-codex .codex-grid{flex:1;min-height:0;overflow:hidden;display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));grid-auto-rows:96px;align-content:start;gap:6px;margin:0;padding:0;list-style:none}
.equip-codex .codex-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:4px;border:1px solid #d5e2e8;border-radius:12px;background:#eef1f3;overflow:hidden}
.equip-codex .codex-cell[hidden]{display:none}
.equip-codex .codex-cell img{width:52px;height:52px;object-fit:contain;filter:grayscale(1);opacity:.35}
.equip-codex .codex-cell em{position:absolute;top:3px;left:4px;font-size:10px;line-height:1.3;font-weight:700;font-style:normal;color:#7b8a93}
.equip-codex .codex-cell b{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11px;color:#9aa6ad}
.equip-codex .codex-cell.is-on{background:#fff;border-color:#f0b93a;box-shadow:0 0 0 1px #f0b93a inset}
.equip-codex .codex-cell.is-on img{filter:none;opacity:1}
.equip-codex .codex-cell.is-on b{color:#1d3445}
.equip-codex .codex-cell.is-on em{color:#a06c00}
.equip-codex .codex-pager{flex:none;display:flex;justify-content:center;align-items:center;gap:14px}
.equip-codex .codex-pager span{white-space:nowrap;font-weight:800}
.inventory-v4 .equip-codex .codex-pager .btn{flex:0 0 auto;width:52px;min-width:0;height:34px;min-height:0;padding:0}
@media (max-width:900px){.equip-codex .codex-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));grid-auto-rows:70px}.equip-codex .codex-cell img{width:36px;height:36px}.equip-codex .codex-total{font-size:12px;padding:3px 8px}.inventory-v4 .equip-codex .codex-pager .btn{height:28px}}
dialog.codex-ask{max-width:min(420px,92vw);padding:16px;border:2px solid #f0b93a;border-radius:16px;background:#fff;color:#1d3445;text-align:center}
dialog.codex-ask::backdrop{background:rgba(20,40,55,.45)}
dialog.codex-ask img{width:72px;height:72px;object-fit:contain}
dialog.codex-ask p{margin:8px 0 12px;font-size:15px;line-height:1.5}
dialog.codex-ask div{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
dialog.codex-ask .btn.primary{background:#f0b93a;color:#3f2d08;font-weight:900}
@media (max-height:420px){dialog.codex-ask{padding:10px}dialog.codex-ask img{width:44px;height:44px}dialog.codex-ask p{margin:4px 0 8px;font-size:13px}}

/* v723 人物角色頁改版：淺色模板（白卡＋天藍主鈕＋金色選中、淺底深字），覆蓋 ui-v3 深藍 hero */
.character-command-hero.character-sheet-v723{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-height:0;padding:14px;border:1px solid #cfe2ec;border-radius:18px;background:linear-gradient(180deg,#f2fbff,#ffffff);color:#17374c;box-shadow:0 10px 24px rgba(23,62,88,.10);overflow:visible}
/* 10-26 老闆「不要用深色底」：壓過 ui-v3 的 body+[data-home-panel] 深藍 radial 與深色遮罩 */
body[data-ui-version="3"] [data-home-panel="character"] .character-command-hero.character-sheet-v723{background:linear-gradient(180deg,#f2fbff,#ffffff);color:#17374c;border:1px solid #cfe2ec;box-shadow:0 10px 24px rgba(23,62,88,.10)}
body[data-ui-version="3"] .character-command-hero.character-sheet-v723::after{display:none !important;content:none}
.character-sheet-v723::after{display:none !important}
.character-sheet-v723 .character-command-copy{position:static;max-width:none;padding:0}
.character-sheet-v723 .character-command-copy small{color:#0e7ea0 !important;letter-spacing:.14em}
.character-sheet-v723 .character-command-copy h3{color:#14354a !important;margin:2px 0 4px;font-size:1.35rem}
.character-sheet-v723 .character-command-copy p{color:#52707f !important;display:block !important;margin:0 0 8px;font-size:.88rem}
.character-sheet-v723 .character-sheet-stage{position:relative;display:grid;place-items:center;gap:6px;padding:12px 12px 14px;border:1px solid #c8e4f0;border-radius:16px;background:radial-gradient(ellipse at 50% 18%,#eaf8fe 0%,#d4edf8 70%,#c6e4f2 100%)}
.character-command-hero.character-sheet-v723 .character-live-avatar{position:static;top:auto;right:auto;bottom:auto;height:min(46vh,300px);min-height:150px;max-height:none;aspect-ratio:3/4;cursor:pointer}
.character-sheet-v723 .character-sheet-xp{display:grid;justify-items:center;gap:2px;width:min(100%,280px)}
.character-sheet-v723 .character-sheet-xp b{color:#14354a;font-size:1.05rem}
.character-sheet-v723 .character-sheet-xp b .cs-power{margin-left:10px;color:#a8690a;font-style:normal;font-size:.82rem;font-weight:900;background:#fdf3dc;border:1px solid #f0d9a0;border-radius:999px;padding:2px 8px;vertical-align:1px}
.character-sheet-v723 .character-sheet-xp progress{width:100%;height:10px;accent-color:#f0b93a}
.character-sheet-v723 .character-sheet-xp small{color:#5e7886;font-weight:700}
.character-sheet-v723 .character-command-stats{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0}
.character-sheet-v723 .character-command-stats span{display:grid;gap:1px;justify-items:center;padding:8px 6px;border:1px solid #d6e7ef;border-radius:12px;background:#ffffff}
.character-sheet-v723 .character-command-stats b{color:#14354a !important;font-size:1.05rem}
.character-sheet-v723 .character-command-stats small{color:#5e7886 !important}
.character-sheet-v723 .character-live-links{margin-top:0}
.character-sheet-v723 .character-achievement-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.character-sheet-v723 .character-achievement-wall button{display:grid;justify-items:center;align-content:center;gap:2px;min-height:76px;padding:6px 4px;border:1px solid #cfe0e8;border-radius:12px;background:#f7fcff;color:#17374c;font:inherit;font-size:11px;cursor:pointer}
.character-sheet-v723 .character-achievement-wall button b{color:#35596e;font-size:11px}
.character-sheet-v723 .character-achievement-wall button img{width:40px;height:40px;object-fit:contain}
.character-sheet-v723 .character-achievement-wall button small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#52707f;font-weight:700}
/* v729 第3批：立繪 idle 呼吸動作（輕微上下浮動），系統設「減少動態」就停用 */
.character-sheet-v723 .character-live-avatar{animation:char-idle-float 3.4s ease-in-out infinite;transform-origin:50% 100%}
@keyframes char-idle-float{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.012)}}
@media (prefers-reduced-motion:reduce){.character-sheet-v723 .character-live-avatar{animation:none}}
/* v729 裝備武器徽章：白卡金框、淺底深字，貼在立繪舞台右上角 */
.character-sheet-v723 .character-stage-weapon{position:absolute;top:8px;right:8px;display:grid;justify-items:center;gap:2px;padding:6px 8px;background:#ffffff;border:2px solid #f0b93a;border-radius:12px;box-shadow:0 2px 8px rgba(23,62,88,.16)}
.character-sheet-v723 .character-stage-weapon img{width:42px;height:42px;object-fit:contain}
.character-sheet-v723 .character-stage-weapon .wpn-emoji{font-size:28px;line-height:42px}
.character-sheet-v723 .character-stage-weapon small{max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#14354a;font-weight:800;font-size:11px}
@media (min-width:760px) and (max-height:520px){
  .character-sheet-v723 .character-stage-weapon{top:4px;right:4px;padding:4px 6px}
  .character-sheet-v723 .character-stage-weapon img{width:32px;height:32px}
}
/* 頭像選擇只影響玩家資料小圖，完整角色仍由裝備舞台顯示。 */
.character-portrait-open{display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%;padding:5px 11px 5px 5px;border:1px solid #b9d4e5;border-radius:999px;background:#fff;color:#174063;font-size:13px;font-weight:700;cursor:pointer}
.character-portrait-open img{width:34px;height:34px;object-fit:cover;border-radius:50%;background:#e9f5fc}
.character-portrait-picker{width:min(660px,calc(100vw - 24px));max-height:min(88vh,680px);padding:18px;border:1px solid #c2d9e8;border-radius:18px;background:#fbfdff;color:#1d3c57;box-shadow:0 20px 60px #14304755}
.character-portrait-picker::backdrop{background:#11283a8c}
.character-portrait-picker header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.character-portrait-picker h3{margin:0;font-size:20px}
.character-portrait-picker header button{width:35px;height:35px;border:1px solid #c9dbe7;border-radius:50%;background:#fff;color:#1d3c57;font-size:22px;cursor:pointer}
.character-portrait-picker p{margin:7px 0 13px;font-size:13px;color:#58718b}
.character-portrait-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.character-portrait-grid button{display:grid;justify-items:center;gap:3px;min-width:0;padding:5px;border:2px solid #d3e2eb;border-radius:12px;background:#f1f8fc;color:#2e536d;font-size:12px;font-weight:700;cursor:pointer}
.character-portrait-grid button[aria-pressed="true"]{border-color:#d39b19;background:#fff3cd;box-shadow:0 0 0 2px #ffda75}
.character-portrait-grid img{display:block;width:min(100%,100px);aspect-ratio:1;object-fit:contain;border-radius:9px;background:#e2f0f8}
.character-portrait-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
.character-portrait-actions button,.character-photo-upload,.character-photo-crop button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 13px;border:1px solid #afd0e4;border-radius:9px;background:#fff;color:#194368;font-size:13px;font-weight:700;cursor:pointer}
.character-portrait-actions button[aria-pressed="true"]{border-color:#d39b19;background:#fff3cd}
.character-existing-photo{gap:6px}
.character-existing-photo img{width:26px;height:26px;border-radius:50%;object-fit:cover}
.character-photo-crop{display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px;border:1px solid #d4e5ef;border-radius:12px;background:#fff}
.character-photo-crop[hidden]{display:none}
.character-photo-crop canvas{width:min(180px,30vw);height:min(180px,30vw);border:2px solid #dfae33;border-radius:50%;touch-action:none;cursor:grab}
.character-photo-crop label{display:grid;gap:8px;min-width:90px;font-size:13px}
.character-portrait-picker .character-portrait-notice{min-height:18px;margin-bottom:0;color:#9c4d20}
@media(max-height:480px){
  .character-portrait-picker{max-height:95vh;overflow:auto;padding:10px}
  .character-portrait-picker p{margin:3px 0 6px}
  .character-portrait-grid{gap:5px}
  .character-portrait-grid button{padding:2px;gap:0}
  .character-portrait-grid img{width:min(100%,52px)}
  .character-portrait-actions{margin-top:6px}
  .character-portrait-picker .character-portrait-notice{min-height:0}
  .character-photo-crop canvas{width:100px;height:100px}
}
/* v724 成就徽章牆（老闆：這層不顯示裝備，改成就徽章）：六類徽章、框色照達成星數分級（白綠藍紫金） */
.character-sheet-v723 .character-achievement-wall button{position:relative}
.character-sheet-v723 .cs-stars{color:#d99a12;font-style:normal;font-weight:900;font-size:12px;letter-spacing:1px;line-height:1}
.character-sheet-v723 .character-achievement-wall button[data-tier="0"] .cs-stars{color:#9fb6c2}
.character-sheet-v723 .character-achievement-wall button[data-tier="1"]{border-color:#b9c6cd;box-shadow:inset 0 0 0 1px #d7e0e5}
.character-sheet-v723 .character-achievement-wall button[data-tier="2"]{border-color:#3fa65c;background:#f2fbf4;box-shadow:inset 0 0 0 1px #8fd3a3}
.character-sheet-v723 .character-achievement-wall button[data-tier="3"]{border-color:#2f86c9;background:#f1f9ff;box-shadow:inset 0 0 0 1px #93c6e8}
.character-sheet-v723 .character-achievement-wall button[data-tier="4"]{border-color:#8a4fc9;background:#f9f3ff;box-shadow:inset 0 0 0 1px #c6a3e8}
.character-sheet-v723 .character-achievement-wall button[data-tier="5"]{border-color:#d99a12;background:#fffaec;box-shadow:inset 0 0 0 1px #f0b93a}
.character-sheet-v723 .character-achievement-wall button[data-tier="2"] b{color:#1f7a3c}
.character-sheet-v723 .character-achievement-wall button[data-tier="3"] b{color:#1b6396}
.character-sheet-v723 .character-achievement-wall button[data-tier="4"] b{color:#6a3d99}
.character-sheet-v723 .character-achievement-wall button[data-tier="5"] b{color:#8a5a00}
@media (min-width:760px){
  .character-command-hero.character-sheet-v723{grid-template-columns:minmax(260px,380px) minmax(0,1fr);grid-template-rows:auto auto auto 1fr;align-items:start}
  .character-sheet-v723 .character-sheet-stage{grid-column:1;grid-row:1/5;align-self:stretch}
  body[data-ui-version="3"] .character-command-hero.character-sheet-v723 .character-live-avatar{position:static;top:auto;right:auto;bottom:auto;height:min(52vh,380px);min-height:150px;max-height:none}
  .character-sheet-v723 .character-command-copy{grid-column:2;grid-row:1}
  .character-sheet-v723 .character-command-stats{grid-column:2;grid-row:2}
  .character-sheet-v723 .character-achievement-wall{grid-column:2;grid-row:3/5;grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* 10-26 橫式手機（遊戲是橫式設計）：矮螢幕改三欄緊湊版，整張英雄卡塞進一頁不捲動 */
@media (min-width:760px) and (max-height:520px){
  .character-command-hero.character-sheet-v723{grid-template-columns:minmax(150px,185px) minmax(0,1fr) minmax(0,1.1fr) minmax(150px,170px);grid-template-rows:auto 1fr;gap:8px;padding:10px}
  .character-sheet-v723 .character-sheet-stage{grid-column:1;grid-row:1/3;padding:8px;gap:4px}
  body[data-ui-version="3"] .character-command-hero.character-sheet-v723 .character-live-avatar{height:min(38vh,150px);min-height:110px}
  .character-sheet-v723 .character-sheet-xp b{font-size:.92rem}
  .character-sheet-v723 .character-sheet-xp progress{height:8px}
  .character-sheet-v723 .character-command-copy{grid-column:2;grid-row:1/3;display:flex;flex-wrap:wrap;align-content:start;align-items:center;gap:6px 8px}
  /* LV／體力／G 頂部 HUD 已有，橫式矮螢幕不重複顯示 */
  .character-sheet-v723 .character-command-stats{display:none}
  .character-sheet-v723 .character-command-copy small{display:none}
  .character-sheet-v723 .character-command-copy h3{margin:0;font-size:1.05rem}
  .character-sheet-v723 .character-command-copy p{display:none !important}
  .character-sheet-v723 .character-live-links{display:contents}
  .character-sheet-v723 .character-live-links a,.character-sheet-v723 .character-live-links button{padding:5px 8px;font-size:.78rem}
  .character-sheet-v723 .character-command-stats{grid-column:2;grid-row:2;gap:6px}
  .character-sheet-v723 .character-command-stats span{padding:4px 4px}
  .character-sheet-v723 .character-command-stats b{font-size:.92rem}
  .character-sheet-v723 .character-command-stats{grid-column:2;grid-row:2;align-content:start}
  /* v724 老闆撤數值卡後，徽章牆佔右半兩欄（3×2），進度小字放得下、照顯示 */
  .character-sheet-v723 .character-achievement-wall{grid-column:3/5;grid-row:1/3;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-content:start}
  .character-sheet-v723 .character-achievement-wall button{min-height:64px;padding:4px 2px}
  .character-sheet-v723 .character-achievement-wall button b{font-size:10px}
  .character-sheet-v723 .character-achievement-wall button small{font-size:10px}
}

/* Portrait artwork forwards mouse/touch input to the choice button. */
.character-portrait-grid button{touch-action:manipulation}
.character-portrait-grid button>img,.character-portrait-grid button>span{pointer-events:none;user-select:none}
