/* 2026-10-24（使用者：全部更新部署）：合併版本 20261024T111938full，保留既有快取策略。 */
/* Content belongs to source controls: dialogue/QuestFrame, titles/PANEL1100,
   records and settings/PANEL1000, money/PANEL1300. Keep native ornaments. */
.desktop-client .client-window:not(.source-window){border:solid transparent;border-width:28px 12px 22px;border-image:url('/assets/ui/followup/options-0-0.png') 28 12 22 fill / 28px 12px 22px / 0 round;background:#121611;background-clip:padding-box;border-radius:0;box-shadow:none}
.desktop-client .client-window:not(.source-window) .window-header{height:24px;min-height:24px;position:absolute;left:0;right:0;top:-26px;border:0;padding:0 4px 0 19px;background:none}
.desktop-client .client-window:not(.source-window) .window-header h2{background:#514734;min-width:180px;margin:0;padding:1px 6px;color:#f0dbab;font-size:12px;text-shadow:1px 1px #000}
.desktop-client .client-window:not(.source-window) .window-header button{border:0;background:none;color:#efe1b5;width:23px;height:23px;font-size:16px;min-height:0;padding:0;box-shadow:none}
.desktop-client .client-window:not(.source-window) .window-body{background:none;padding:5px 8px;font-size:12px;scrollbar-color:#7d7255 #121611}
.desktop-client .client-window:not(.source-window) .window-body button,.desktop-client #panel[data-native-panel=npc] button{background:#817660 url('/assets/ui/native-control-metal.png') center/auto 100% repeat-x;color:#292319;border:1px solid #a08c63;border-radius:2px;box-shadow:inset 0 1px #e8d8b655;min-height:28px;font:12px var(--font);padding:4px 9px}
.desktop-client .client-window:not(.source-window) :is(input,select),.desktop-client #panel[data-native-panel=npc] :is(input,select){border:1px solid #7c7354;background:#121611;color:#efdfba;min-height:30px;max-width:100%;font:14px var(--font);padding:3px 6px;border-radius:0}
.desktop-client .client-window:not(.source-window) :is(.quest-entry,.title-card,.map-route,.resident,.codex-card,.item-row){border:0;border-bottom:1px solid #696148;background:none;box-shadow:none;margin:0;padding:10px 2px;color:#ecdfbc}
.desktop-client .client-window:not(.source-window) :is(.quest-entry,.codex-card) h3{color:#efda9f;font-size:13px}
.desktop-client .client-window:not(.source-window) :is(.quest-entry,.codex-card) p{line-height:1.55;margin:6px 0}
.desktop-client .client-window:not(.source-window) .resident{background:none;border:0;border-bottom:1px solid #514d38;color:#eee0b9;text-align:left;width:100%;min-height:39px}
.desktop-client .client-window:not(.source-window) .resident::before{content:"";display:inline-block;vertical-align:middle;width:18px;height:18px;margin-right:8px;background:url('/assets/ui/script-button-12-0.png') center no-repeat}
.desktop-client .client-window:not(.source-window) .bag-tools{gap:5px;margin:7px 0}
.desktop-client .client-window:not(.source-window) .client-option-group label{display:flex;align-items:center;gap:8px;margin:6px 0}
.desktop-client .client-window:not(.source-window) input[type=checkbox]{accent-color:#ae9150;min-height:0;width:16px;height:16px}
/* Source legend: a parchment list, portrait, carved name wells and round hide
   control, instead of a list of rectangular title cards. */
.desktop-client #window-titles.source-window{width:308px;height:auto}
.desktop-client #window-titles .window-header{left:0;right:0;top:0;height:28px}
.desktop-client #window-titles .window-header [data-close]{margin-right:8px;margin-top:8px}
.native-legend{position:relative;width:308px;height:441px;background:url('/assets/ui/followup/legend-0-0.png') no-repeat;transform-origin:top left}
.native-legend .character-face{position:absolute;left:19px;top:9px;width:85px;height:86px;clip-path:circle(39px at 44px 45px);image-rendering:pixelated}
.legend-name{position:absolute;left:118px;top:24px;width:151px;line-height:23px;color:#ebd7a9;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.legend-current{position:absolute;left:129px;top:65px;width:102px;text-align:center;color:#ebd7a9;font-size:11px;line-height:21px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.legend-pages{position:absolute;left:67px;top:113px;width:197px;height:206px;overflow:auto;scrollbar-width:thin;scrollbar-color:#84714b transparent}
.native-legend .title-card{display:grid;grid-template-columns:minmax(0,1fr) 47px;gap:3px;align-items:center;min-height:42px;background:none!important;border:0;border-bottom:1px solid #91764f66;box-shadow:none;margin:0;padding:7px 2px;color:#3e2f1c;line-height:1.4}
.native-legend .title-card b{font-size:12px;color:#47321b}
.native-legend .title-card small{font-size:10px;color:#695237}
.native-legend .title-card button{float:none;min-height:22px;padding:1px 6px;font-size:10px;background:#cdb58a;color:#46321b;border:1px solid #93774f}
.legend-note{position:absolute;left:75px;top:336px;width:180px;line-height:16px;color:#685034;font-size:10px;margin:0;text-align:center}
.native-legend [data-title=""]{position:absolute;left:88px;top:373px;width:42px;height:42px;border:0;border-radius:50%;padding:0;background:none;color:#e1cba4;font-size:11px;min-height:0}
/* NPC dialogue keeps the original portrait and speech well. Service controls
   scroll in a separate original option pane, never inside the speech bubble. */
.desktop-client #panel[data-native-panel=npc]{top:max(42px,calc(env(safe-area-inset-top,0px) + 40px));bottom:auto;margin:0 auto;width:880px;max-width:calc(100vw - 24px);height:auto;max-height:calc(100dvh - 54px);padding:0;border:0;border-image:none;background:none;box-shadow:none;overflow:visible}
.desktop-client #panel[data-native-panel=npc] .dialog-head{position:absolute;right:10px;top:0;padding:0;z-index:2;border:0;background:none;min-height:25px}
.desktop-client #panel[data-native-panel=npc] .dialog-head>div{display:none}
.desktop-client #panel[data-native-panel=npc] #close-panel{width:25px;height:25px;min-height:0;padding:0;font-size:16px;border:0;background:none;color:#ecd7a7}
.desktop-client #panel[data-native-panel=npc] #panel-body{padding:0;height:auto;overflow:visible}
.native-npc-layout{display:grid;grid-template-columns:minmax(215px,367px) minmax(260px,1fr);gap:8px;align-items:start;max-height:calc(100dvh - 54px)}
.native-npc-wrap{position:relative;min-width:0}
.native-npc-board{width:367px;height:239px;position:relative;transform-origin:top left;background-image:url('/assets/ui/followup/quest-0-0.png'),linear-gradient(#111710,#111710);background-position:0 0,13px 27px;background-size:367px 239px,341px 183px;background-repeat:no-repeat}
.native-npc-title{position:absolute;left:35px;top:5px;width:249px;line-height:20px;background:#514735;color:#f1d9a5;font:13px var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.native-npc-portrait{position:absolute;left:22px;top:73px;width:85px;height:110px;object-fit:contain;image-rendering:pixelated}
img.native-npc-portrait:not([src]){display:none}
.native-npc-speech{position:absolute;left:136px;top:51px;width:194px;height:121px;overflow:auto;color:#f0e3c4;font:13px/1.7 var(--font);scrollbar-width:thin}
.native-npc-services{position:relative;box-sizing:border-box;border:solid transparent;border-width:28px 12px 22px;border-image:url('/assets/ui/followup/options-0-0.png') 28 12 22 fill / 28px 12px 22px / 0 round;background:#121611;background-clip:padding-box;height:min(430px,calc(100dvh - 54px));min-width:0;overflow:auto;padding:5px 8px;scrollbar-color:#887652 #13180e;font:12px/1.5 var(--font)}
.native-npc-services::before{content:attr(data-service-title);display:block;position:sticky;top:-5px;background:#514735;color:#f2dca7;min-height:22px;line-height:22px;margin:-5px 25px 8px 0;padding-left:4px}
.native-npc-services .npc-actions{gap:5px;margin:8px 0}
.native-npc-services :is(.quest-entry,.item-row){border:0;border-bottom:1px solid #676045;background:none;padding:8px 0;margin:0}
.native-npc-services .quest-entry h3{font-size:13px;color:#ead39a}
.native-npc-service-pane{position:relative;box-sizing:border-box;border:solid transparent;border-width:28px 12px 22px;border-image:url('/assets/ui/followup/options-0-0.png') 28 12 22 fill / 28px 12px 22px / 0 round;background:#121611;background-clip:padding-box;height:min(430px,calc(100dvh - 54px));min-width:0;padding:0}
.native-npc-service-title{position:absolute;left:22px;top:-24px;width:220px;height:20px;line-height:20px;background:#514735;color:#f2dca7;font:12px/20px var(--font);white-space:nowrap;overflow:hidden}
.native-npc-services{height:100%;max-height:100%;border:0;border-image:none;background:none;padding:5px 8px;overflow:auto}
.native-npc-services::before{content:none}
/* Bank: native wooden currency board and actual selected item artwork. */
.native-bank .bank-balances{width:165px;height:107px;position:relative;box-sizing:border-box;background:url('/assets/ui/followup/money-0-0.png') no-repeat;margin:0;padding:0;font-size:10px;color:#ead6ae}
.native-bank .bank-balances span{position:absolute;left:14px;right:14px;top:19px;display:block;white-space:nowrap;line-height:15px;text-align:center}
.native-bank .bank-balances span:nth-child(2){top:79px}
.native-bank .bank-treasury{display:grid;grid-template-columns:165px minmax(0,1fr);gap:10px;align-items:center}
.native-bank .bank-treasury .npc-actions{display:flex;gap:4px;flex-wrap:wrap}
.native-bank .bank-treasury form{border:0;padding:0}
.native-bank .bank-treasury input{width:100%;box-sizing:border-box}
.native-bank .bank-balances b{font-size:11px;color:#fff0c9}
.native-bank form{padding:8px 0;border-bottom:1px solid #65593e;display:grid;gap:6px;min-width:0}
.native-bank form label{display:flex;flex-direction:column;gap:4px;font-size:11px}
.native-bank .bank-item-preview{display:flex;align-items:center;gap:7px;min-height:45px}
.bank-item-preview .native-item-icon{background:url('/assets/ui/shortcut-2-0.png') center/42px 42px no-repeat;width:45px;height:45px}
.bank-item-preview strong{font-size:12px;color:#e6cea0}
.desktop-client .native-legend .title-card{color:#291b0c;text-shadow:none}
.desktop-client .native-legend .title-card b{color:#291b0c}
.desktop-client .native-legend .title-card small{color:#493420}
.desktop-client .native-legend .title-card.locked{opacity:.8}
.desktop-client .native-legend .title-card button:disabled{opacity:.8}
@media(max-height:500px){
 .desktop-client .client-window:not(.source-window){max-height:100%;box-sizing:border-box}
 .desktop-client .client-window:not(.source-window) .window-body{padding:2px 6px;max-height:calc(100dvh - 115px)}
 .desktop-client .client-window:not(.source-window) .window-body button,.desktop-client #panel[data-native-panel=npc] button{min-height:31px}
 .desktop-client .client-window:not(.source-window) :is(input,select),.desktop-client #panel[data-native-panel=npc] :is(input,select){min-height:32px;font-size:16px}
 .native-npc-layout{grid-template-columns:minmax(215px,.85fr) minmax(260px,1fr)}
 .native-npc-service-pane{height:calc(100dvh - 54px)}
 .native-npc-services{height:100%;font-size:12px}
 .desktop-client #window-titles .native-legend [data-title=""]{min-height:0}
}

.desktop-client .career-material-status{display:block;margin-top:3px;color:#d9ccae;line-height:1.5;font-size:11px}

/* 2026-10-24（使用者：銀行人物共用選項）：清楚標示目前帳本；手機捲動仍可切換。 */
.native-bank .bank-ledger-tabs{position:sticky;top:0;z-index:2;background:#172019;padding:6px 0}
.desktop-client #panel #panel-body .native-bank [data-bank-scope][aria-pressed="true"]{background:#584425!important;border-color:#d2b26a!important;color:#fff3ca!important;box-shadow:inset 0 0 0 1px #d2b26a!important}
