/* v0.53 — shared jade / antique-gold treatment for every in-game sheet. */
#game #panel{inset:auto 6px max(5px,env(safe-area-inset-bottom));height:min(560px,65%);max-height:calc(100% - 105px);display:flex;flex-direction:column;overflow:hidden;border:1px solid #bca06abf;border-radius:5px;background:linear-gradient(145deg,#193d2ef2,#0a211aef)!important;color:#f0e6c9;box-shadow:inset 0 0 0 2px #091b1544,0 5px 24px #0006;font:13px/1.55 var(--font-ui)}
#game #panel.compactArtPanel{height:min(490px,60%)}
#game #panel.characterPanel{height:min(570px,69%)}
#game #panel.chatPanel{height:min(680px,78%)}
#game #panel.gameMenuPanel{inset:calc(env(safe-area-inset-top) + 82px) 5px auto auto;width:min(280px,82%);height:auto;max-height:72%}
#game #panel .panelHead{position:relative;flex:none;min-height:38px;padding:3px 8px;background:#173b2eea;border-bottom:1px solid #bca26b60;font:700 17px/1.3 var(--font-display)}
#game #panelTitle{display:flex;align-items:center;gap:7px;min-width:0;color:#f3dca5}
#game #panelTitle :is(.artIcon,.menuSymbol){width:25px;height:25px;min-width:25px;border:0;flex:none}
#game #panel .panelHead button{width:32px;height:30px;min-height:30px;border-radius:3px;background:#102a21;border:1px solid #b79b6366;color:#eddbb0;font:22px/1 var(--font-ui)}
#game #panelBody{padding:10px;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b29d6880 transparent;flex:1}
#game #panel.compactArtPanel #panelBody{padding:6px 8px}
#game #panel :is(h2,h3,h4){color:#ecdbb1}
#game #panel :is(p,label,small,dt,dd){overflow-wrap:anywhere}
#game #panel :is(.muted,.gearNote,.gearEyebrow,.gearSummary,.gearCost,.gearGrade,.partyEyebrow,.dailyFoot,.soundFoot,.huntingLead,.huntingNoRecord,.lootNote,.chatHint,.potionHelp,.atlasLegacy,.partyMember>p,.partyNearbyRow small,.partyMemberTop small){color:#b8c8b3}
#game #panel :is(.card,.partyMember,.partyInvite,.partyNearbyRow,.partyRules,.dailyCard,.soundCard,.nowPlaying,.huntingRegion,.huntingEmpty,.huntingRules,.chatRules,.chatReport,.pkCard,.helpTopic,#potionSettings fieldset){background:#102d239c;border:1px solid #a18f6052;border-radius:4px;box-shadow:none}
#game #panel .card{padding:11px;margin-bottom:8px}
#game #panel :is(.card p,.partyIntro p,.partyRules p,.partyNearby>p,.partyCreate p,.dailyCard p,.soundCard p,.huntingRules p){font-size:12px;line-height:1.65}
#game #panel :is(.card h3,.partyNearby h3,.partyInvitations h3,.soundCard h3,.dailyCard h3){font-size:15px;line-height:1.4}
#game #panel :is(.stat,.gearCompare,.gearSummary,.lootMonster,.lootSourceRows article){border-color:#ab966044}
#game #panel :is(.statGain,.ready .dailyState){color:#a6e2b6}
#game #panel :is(.statLoss,.partyAlert,.dailyWarning){color:#ffc29b}
#game #panel :is(.badge,.dailyState,.partyClass){background:#38513a;color:#e9dbac;border:1px solid #c6a96544;border-radius:3px}
#game #panel:not(.compactArtPanel):not(.characterPanel):not(.gameMenuPanel):not(.commercePanel) #panelBody button{min-height:36px;padding:6px 10px;border:1px solid #b79c6b88;border-radius:4px;background:#244e3d;color:#f6e5bd;font-size:12px;line-height:1.4}
#game #panel button:disabled{opacity:.45;cursor:default}
#game #panel :is(button[aria-pressed=true],button[aria-selected=true]){border-color:#d4bb7b;background-color:#3b6047;color:#ffe6a9}
#game #panel :is(select,textarea,input:not([type=range]):not([type=checkbox])){background:#0b241d;color:#eee6c9;border:1px solid #9d916766;border-radius:3px;font:inherit;padding:7px}
#game #panel :is(select,textarea){width:100%;max-width:100%}
#game #panel input[type=range],#game #panel input[type=checkbox]{accent-color:#d3b777}
#game #panel a{color:#e6cf91}
#game #panel :is(summary,button,input,select,textarea,a):focus-visible,#bookConfirm button:focus-visible{outline:2px solid #f4d385;outline-offset:2px}
#game #panel progress{accent-color:#94be87}
#game #panel summary{cursor:pointer;color:#e4d2a5;font-size:12px;padding:9px 2px}
/* Field feedback stays small; level-up itself is drawn at the character. */
#game #notice{inset:auto 16px calc(env(safe-area-inset-bottom) + 218px);padding:7px 10px;border:0;border-left:2px solid #dac18a;border-radius:2px;background:linear-gradient(90deg,#122e25f2,#122e25bf);font:12px/1.55 var(--font-ui);color:#f1e4be;box-shadow:0 2px 10px #0003;z-index:31;text-align:left}
#rewardToast{position:absolute;z-index:30;right:12px;top:calc(env(safe-area-inset-top) + 188px);max-width:calc(100% - 24px);width:220px;padding:9px 11px;border:1px solid #d4b97899;border-radius:4px;background:linear-gradient(125deg,#294b35f2,#0d271ff0);box-shadow:0 3px 17px #0004;pointer-events:none;color:#f0dfb4}
#rewardToast[hidden],#bookConfirm[hidden]{display:none!important}
.rewardHeading{display:flex;flex-direction:column;gap:2px}.rewardHeading>span{font-size:10px;letter-spacing:1px;color:#c7d9b5}.rewardHeading strong{font:700 14px/1.4 var(--font-display);overflow-wrap:anywhere}
.rewardChips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}.rewardToken{position:relative;display:block;flex:none;width:35px;height:35px;border:1px solid #b5a26c9c;border-radius:3px;background:#0a241ee6;overflow:hidden}.rewardToken :is(.artIcon,.commerceIcon){display:block;width:100%!important;height:100%!important;min-width:0!important;border:0!important;margin:0!important}.rewardToken b{position:absolute;bottom:0;right:2px;font:700 10px/13px var(--font-ui);color:#fff0bf;text-shadow:0 1px 3px #000,1px 0 2px #000}
/* One confirmation route for a book selected in the bag or martial sheet. */
#bookConfirm{position:absolute;inset:0;z-index:32;display:grid;place-items:center;padding:18px;background:#03161070}
.bookConfirmCard{width:100%;max-width:340px;padding:19px;border:1px solid #d0b679;border-radius:6px;background:linear-gradient(140deg,#224a36,#0c271e);box-shadow:0 14px 45px #0008;color:#efe1bc}
.bookConfirmCard>small{font-size:11px;letter-spacing:1px;color:#c4d4b3}.bookConfirmCard h2{font:700 20px/1.4 var(--font-display);margin:9px 0 14px}.bookConfirmItem{display:flex;align-items:center;gap:11px;padding:10px;border:1px solid #ac9c6959;background:#102a22;border-radius:3px}.bookConfirmItem .artIcon{display:block;width:44px;height:44px;border-radius:4px}.bookConfirmItem strong{font-size:15px}.bookConfirmCard p{font:13px/1.7 var(--font-ui);color:#cbd3b9;word-break:keep-all}.bookConfirmActions{display:flex;gap:8px;margin-top:18px}.bookConfirmActions button{flex:1;min-height:42px;border:1px solid #a9986988;border-radius:4px;background:#142f25;color:#e5d8b4;font-size:13px}.bookConfirmActions #bookYes{background:#506341;border-color:#dac38c;color:#fff0c5}
/* Illustrated codex; portraits reuse already shipped sprite sheets. */
.monsterPortrait,.partyPortrait{display:inline-block;flex:none;width:56px;height:56px;background-repeat:no-repeat;filter:drop-shadow(0 4px 3px #03120d99)}
.partyPortrait{background-size:600% 400%;background-position:0 0}
#game #panel .lootGuide{font-size:12px;line-height:1.6}.lootGuide>label{font-size:11px;color:#b6c7ad}
#game #panel .lootTabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0 0 10px}.lootTabs button{display:flex;align-items:center;justify-content:center;gap:5px}.lootTabs .menuSymbol{width:19px;height:19px;flex:none}
#game #panel .lootGuide select{min-height:37px;margin:6px 0 10px;font-size:12px}
.codexHeading{display:flex;align-items:center;gap:12px;background:radial-gradient(ellipse at 10% 50%,#8b9a492b,transparent 80%);border-bottom:1px solid #b5a16a5c;padding:5px 0 9px}.codexHeading>.monsterPortrait{width:74px;height:74px}.codexHeading>.artIcon{width:57px;height:57px;flex:none}.codexHeading small{font-size:10px;color:#b6c6a7}.codexHeading h3{font:700 19px/1.4 var(--font-display);margin:3px 0}
#game #panel .lootModes{gap:5px;margin:9px 0}.lootModes button{flex:1}.lootMonster{position:relative;padding:11px 0}.lootMonster>button{float:right;margin-top:-28px}.lootMonster h3{font-size:14px;margin-bottom:10px;padding-right:85px}.lootMonster dl{margin:0}.lootMonster dl>div{align-items:center;margin:6px 0;font-size:12px}.lootMonster dt{display:flex;align-items:center;gap:7px;min-width:0}.lootMonster dt .artIcon{width:28px;height:28px;flex:none}.lootMonster dd{color:#dfc68e;font-variant-numeric:tabular-nums}
#game #panel .lootSourceRows article{gap:6px;padding:9px 0}.lootSourceRows article>div{flex:1}.lootSourceRows .monsterPortrait{width:42px;height:42px}.lootSourceRows :is(span,strong){font-size:11px!important;line-height:1.55}#game #panel .lootNote{margin:12px 0 0;border-top:1px solid #9e92654d}.lootNote p{margin:4px 0;font-size:11px}
/* Party portraits, concise rules and live health keep the panel readable. */
.partyArtwork{display:flex;justify-content:center;background:radial-gradient(ellipse,#667d3e42,transparent 70%);padding:5px}.partyArtwork .partyPortrait{width:82px;height:82px}.partyIntro{padding:5px 2px 9px}.partyIntro h3{font:700 20px/1.4 var(--font-display);margin:7px 0}.partyEyebrow{font-size:10px;letter-spacing:1px}.sectionEmblem{float:right;border:1px solid #b69a6566;padding:8px;background:#344e3155;border-radius:50%}.sectionEmblem .menuSymbol{display:block;width:29px;height:29px;color:#d7bf88}
#game #panel .partyRules{padding:0 10px;margin-top:13px}.partyRules p{margin:3px 0 9px}.partyRoster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.partyMember{padding:8px;min-width:0}.partyMemberTop{display:flex;gap:5px;flex-wrap:wrap;align-items:center}.partyMemberTop .partyPortrait{width:45px;height:45px}.partyMemberTop>div{flex:1;min-width:0}.partyMemberTop h3{font-size:13px!important;overflow-wrap:anywhere;margin:2px 0}.partyMemberTop small{font-size:9px}.partyMemberTop .partyClass{font-size:10px;width:100%;padding:2px 4px}.partyMember>p{font-size:10px!important;line-height:1.5;margin:7px 0}.partyMemberHp>span{font-size:10px;color:#c0d3b3}.partyMemberHp>div{background:#081f19;border:1px solid #74836455;height:6px}.partyMemberHp i{background:linear-gradient(90deg,#417e5c,#a3c287)}.partyMember.offline{opacity:.6}.partyNearbyRow{display:flex;align-items:center;gap:7px;padding:7px;margin:6px 0}.partyNearbyRow>div{flex:1;min-width:0}.partyNearbyRow .partyPortrait{width:43px;height:43px}.partyNearbyRow strong{font-size:12px}.partyNearbyRow small{display:block;font-size:10px}.partyActions{display:flex;flex-wrap:wrap;gap:5px}.partyActions button{flex:1}.partyMember .partyActions button{min-height:30px!important;font-size:10px!important;padding:4px!important}
/* Daily requests, sound, help, chat, statistics and older NPC cards. */
#game #panel .dailyIntro{padding:4px 0 11px}#game #panel :is(.dailyIntro,.soundIntro) h3{font:700 20px/1.4 var(--font-display);margin:9px 0}.dailyList{display:grid;gap:8px}#game #panel .dailyCard{padding:10px}.dailyCard.ready{border-color:#cab67b!important}.dailyCard.claimed{opacity:.65}.dailyNumber{display:flex!important;padding:5px!important;border:1px solid #b8a36a66;background:#284330!important;color:#e4c991!important;border-radius:4px}.dailyNumber .menuSymbol{width:22px;height:22px}.dailyState{font-size:10px;padding:3px 5px}.dailyProgress{gap:8px}.dailyProgress b{font-size:11px}.dailyActions{margin-top:9px}.dailyActions button{width:100%}.dailyFoot,.soundFoot{font-size:11px!important;line-height:1.65}.soundIntro .nowPlaying{padding:10px}.soundCard{padding:10px}.soundCard output{color:#e3cc99}.soundCard input[type=range]{height:35px}.soundStatus,.huntingNotice{color:#b9cba8!important;font-size:11px!important}
.helpTopic{margin-bottom:7px;padding:2px 10px}.helpTopic summary{font-size:14px!important;font-weight:700}.helpTopic>div{padding:0 2px 10px}.helpTopic p{font-size:12px;line-height:1.7;color:#c6d2b7}.helpTopic button{margin-top:5px}
#game #panel :is(.huntingFilters label,.huntingRate,.huntingRegion dt,.huntingRegionHead>span){color:#b6c8aa}#game #panel :is(.huntingRegion dd,.huntingRegionHead h3){color:#eaddb7}.huntingSummary,.huntingRegion,.huntingEmpty{padding:11px}.huntingSummary dt{color:#bdcdb0}.huntingSummary dd{color:#f0d9a4}.huntingRegionHead>span{background:#264533!important}.huntingRules{padding:0 10px}
#game #panel :is(.gearWallet,.gearSlot){background:#1b3c2d;color:#e5d5ad;border-color:#a9966155}#game #panel :is(.gearSlot small,.gearItemTop small){color:#b6c8ad}
#game #panel :is(.chatTabs,.chatComposer,.chatMessages,.chatEmpty,.reportBox,.chatBubble,.chatSafety){background:#102a21;color:#e0ddbc;border-color:#92895c66}#game #panel :is(.chatLine,.chatMessage,.chatMember,.reportOptions){border-color:#92895c44}#game #panel :is(.chatMeta,.chatTime,.chatRules p){color:#aec2a8}#game #panel .chatMessage.self{background:#294a32}
#game #panel #potionSettings fieldset{margin:10px 0;padding:10px}#game #panel #potionSettings legend{color:#e4d0a1;padding:0 5px}
#game #dialogue{left:10px;right:10px;bottom:calc(env(safe-area-inset-bottom) + 74px);padding:13px 14px;border:1px solid #c6ab71;border-radius:5px;background:linear-gradient(130deg,#234432f5,#10281fed);color:#e6dec0;box-shadow:0 4px 20px #00110866}
#game #dialogue:before{display:none}#game .dialogueTop{border-color:#b4a06b55;padding-bottom:8px}#game .dialogueTop span{color:#e8d3a0;font:700 16px var(--font-display)}#game .dialogueTop small{color:#b9c6aa;font-size:10px}#game #dialogueText{font-size:13px;line-height:1.7;margin:11px 0}#game .dialogueActions button{font-size:12px;min-height:38px;border:1px solid #b4a06b;background:#34553b;color:#f1dfb1;border-radius:4px}
@media(max-width:350px){#game #panelBody{padding:8px}.partyRoster{grid-template-columns:1fr}.partyMemberTop .partyClass{width:auto}.lootSourceRows .monsterPortrait{width:32px;height:32px}.lootSourceRows article button{padding:5px!important;font-size:10px!important}#rewardToast{width:190px}.rewardToken{width:32px;height:32px}}
@media(max-height:600px){#game #panel{height:77%;max-height:calc(100% - 70px)}#game #panel.chatPanel{height:85%}#rewardToast{top:75px}#game #notice{bottom:180px}}
#game #panel :is(.chatLog,.reportBox blockquote,.reportItem blockquote,.reportActions,.areaGuideNow,.areaGuideNext,.areaTrail){background:#102e23b3;color:#d8dfc0;border-color:#a18f6052}
#game #panel :is(.chatContext,.chatCount,.chatFoot,.chatMeta time,.reportNotice,.reportItem>p,.reportItem details p,.reportItem small,.areaGuideNow>small,.areaGuideNext>small,.areaTrail li span,.areaTrail li>small,.areaBossTip,.partyRules p){color:#bbcaad}
#game #panel :is(.chatStatus,.reportFeedback,.reportReceipt,.dailyIntro strong,.dailyProgress b,.areaGuideNow>strong,.areaGuideNext>strong,.areaTrail li){color:#e9d5a5}
#game #panel :is(.chatRestriction,.dailyWarning){background:#55402a;color:#ffe0b3;border-color:#bc9b6780}
#game #panel :is(.reportState,.areaGuideNow>span,.areaTrail .current){background:#31583c;color:#e2e6bd}
#game #panel .areaTrail .danger span{color:#ffc393}
#game #panel :is(.preparationCard,.preparationItem,.investigationLog){border-color:#a6936359}

img.monsterPortrait{object-fit:contain;border-radius:4px}

/* v0.77: daily goals and always-visible coin supplies */
#game #panel .dailyList{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
#game #panel .dailyCard{min-width:0;padding:8px}
#game #panel .dailyIntro h3{font-size:16px;margin:6px 0}
#game #panel .dailyIntro strong{font-size:12px}
#game #panel .dailyCard h3{font-size:12px}
#game #panel .dailyCard p{font-size:11px;margin:5px 0}
#game #panel .dailyNumber{padding:2px!important}
#game #panel .dailyNumber .menuSymbol{width:16px;height:16px}
#game #panel .dailyActions{flex-wrap:wrap;gap:4px}
#game #panel .dailyActions button{flex:1;font-size:11px}
#game #panel .dailyProgress b{font-size:10px;white-space:nowrap}
#game #panel .coinSupplyShop{display:flex;align-items:center;gap:8px;padding:9px;margin-bottom:8px;border:1px solid #bfa36b80;background:#163829;border-radius:4px}
#game #panel .coinSupplyShop>.commerceIcon{width:30px;height:30px;flex-shrink:0}
#game #panel .coinSupplyShop>div{flex:1;min-width:0}
#game #panel .coinSupplyShop small{display:block;font-size:10px;margin-top:3px;color:#c5c9b6}
#game #panel .coinSupplyShop button{font-size:11px;white-space:nowrap}
#game #panel .commerceWallet{flex-wrap:wrap;gap:6px}
#game #panel .commerceWallet>span{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:420px){#game #panel .dailyList{grid-template-columns:1fr}#game #panel .coinSupplyShop{flex-wrap:wrap}#game #panel .coinSupplyShop button{margin-left:auto}}
