.game-telemetry{position:absolute;left:8px;top:100%;padding:1px 4px;font:11px Georgia,"Times New Roman",serif;color:#ead492;text-shadow:1px 1px 1px #000;background:#141008b8;white-space:nowrap;pointer-events:none}
.game-shell .effect-bar{margin-top:16px}

@font-face{font-family:'Phong Than PC v1.1';src:url('assets/overhead/pt-pc-v11-14.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:block;ascent-override:82%;descent-override:24%;line-gap-override:0%}
.game-shell .newcomer-actor span,.game-shell .chat-content,.game-shell .chat-message,.game-shell .chat-sender,.game-shell .chat-text,.game-shell #chatInput,.game-shell #chatChannel,.game-shell #chatForm button{font-family:'Phong Than PC v1.1';font-weight:400}
.game-shell .chat,.game-shell .chat-content,.game-shell #chatInput,.game-shell #chatChannel,.game-shell #chatForm button{font-family:'Phong Than PC v1.1'!important}
.inventory-cell canvas{width:100%;height:100%;object-fit:contain;pointer-events:none}.newcomer-items canvas{width:32px;height:32px;object-fit:contain;flex:none}
.inventory-cell canvas[data-native-size=true]{display:block;margin:auto;justify-self:center;align-self:center}
.game-shell .native-skill-cell .hand-skill-icon{position:absolute;inset:3px;width:calc(100% - 6px);height:calc(100% - 6px);max-width:none;max-height:none;object-fit:cover;z-index:1}
.game-shell .native-skill-cell .native-skill-label{z-index:2}
.game-shell .effect-icon{box-sizing:border-box;border:1px solid #45f66b;box-shadow:0 0 1px #154f24}
.inventory-window [data-quality=green]{--quality-line:#20e646}.inventory-window [data-quality=gold]{--quality-line:#f1ce39}.inventory-window [data-quality=orange]{--quality-line:#ff912f}

.inventory-detail .equipment-line{color:#eee;margin:3px 0}.inventory-detail .equipment-line.description{margin:10px 0}.inventory-detail .equipment-line.requirement{color:#ffca7e}.inventory-detail .equipment-line.state,.inventory-detail .equipment-line.set{color:#41f34b}.inventory-detail .equipment-line.upgrade{color:#8faaff}.inventory-detail .equipment-line.magic{color:#719cff}.inventory-detail .equipment-line.power{color:#fff443}.inventory-detail .equipment-line.unverified{color:#e1b987}.inventory-detail .equipment-line.set-active{color:#ffdf63}.inventory-detail .equipment-line.set-inactive{color:#9a9b96}
.equipment-max-star{display:inline-block;width:12px;height:11px;margin-right:4px;vertical-align:0;background:url('assets/ui/equipment-stars/blue.png') no-repeat;text-shadow:none}
.game-shell button,.inventory-window button,.newcomer-dialog button,.inventory-detail button{-webkit-tap-highlight-color:transparent}
/* Bag quality frames are unchanged; worn equipment only frames orange items. */
.inventory-window .inventory-cell{border:1px solid #383320;outline:0;box-shadow:none}
.inventory-window .inventory-equip-slot.equipped{border-color:transparent;box-shadow:none}
.inventory-window .inventory-cell:is([data-quality=green],[data-quality=gold],[data-quality=orange])::after,.inventory-window .inventory-equip-slot.equipped[data-quality=orange]::after{content:"";position:absolute;inset:1px;box-sizing:border-box;border:1px solid var(--quality-line);pointer-events:none}
.inventory-window .inventory-cell.selected{outline:1px solid #fff0b7;outline-offset:-1px}
.inventory-window :is(.inventory-cell,.inventory-equip-slot):is([data-quality=white],[data-quality=blue])::after{content:none}
.inventory-detail-actions{position:sticky;bottom:-15px;background:#151207;padding:7px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.inventory-detail .inventory-detail-actions button{width:100%;margin:0;min-height:40px}

.ground-item{position:absolute;z-index:3;transform:translate(-50%,-100%);border:0;background:none;min-height:20px;padding:0;font:12px 'Phong Than PC v1.1';white-space:nowrap;text-shadow:1px 1px #000,-1px -1px #000}.ground-item img{display:block;margin:auto;max-width:64px;max-height:64px;object-fit:contain}.ground-item span{display:block}
.stall-items{display:grid;gap:4px;max-height:45vh;overflow:auto}
.train-scene{position:fixed;inset:0;z-index:2;pointer-events:none;width:100%;height:100%}.compact-panel{position:fixed;box-sizing:border-box;width:min(330px,calc(100vw - 24px));max-height:calc(100dvh - 90px);padding:8px;border:1px solid #a8873e;border-radius:2px;background:#0b0d08;color:#e4d5a4;font:12px/1.4 'TG Vietnamese Serif',Georgia,serif;overflow:auto}.compact-panel::backdrop{background:#0004}.compact-panel header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-8px;z-index:1;background:#251c0e;color:#ead392;padding:4px 6px;font-weight:bold}.compact-panel header button{width:28px;min-height:26px;margin:0;padding:0;font-size:23px}.compact-panel button{font:inherit;min-height:34px;padding:4px 6px;border-radius:2px}.train-options,.pk-options{display:grid;gap:4px;margin-top:6px}.pk-options small{display:block;font-size:10px}.pk-options [aria-pressed=true]{border-color:currentColor}.auto-form{display:grid;gap:5px;padding-top:6px}.auto-check{display:flex;align-items:center;gap:5px;min-height:28px}.auto-check input[type=checkbox]{width:18px;height:18px;accent-color:#bf9c44}.auto-check input[type=number]{width:44px;min-height:26px;font-size:14px;padding:1px 3px;background:#14190c;border:1px solid #66542b;color:#ead392;margin-left:auto}.auto-form fieldset{margin:0;border:1px solid #65522e;padding:5px}.auto-buffs,.auto-rotation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.auto-buffs select:first-child{grid-column:span 2}.auto-form select{min-width:0;width:100%;height:30px;background:#151b0d;border:1px solid #806936;color:#e4d5a4;font-size:11px}.auto-form footer{display:flex;gap:5px}.auto-form footer button{flex:1}.skill-cooldown{position:absolute;inset:3px;z-index:3;display:grid;place-items:center;color:#fff;font:bold 18px 'Phong Than PC v1.1';text-shadow:1px 1px #000,-1px -1px #000;pointer-events:none}.skill-cooldown[hidden]{display:none}
.compact-panel.pk-state-menu{position:fixed;z-index:35;margin:0;width:218px;padding:3px;background:rgba(34,27,30,.94);border:1px solid #82756b;box-shadow:2px 3px 8px #0008;overflow:visible}.pk-state-menu button{display:flex;align-items:center;gap:6px;width:100%;height:28px;min-height:28px;padding:1px 5px;margin:0;border:0;background:transparent;font:bold 13px Tahoma,Arial,sans-serif;text-shadow:1px 1px #000,-1px -1px #000;text-align:left}.pk-color-chip{width:19px;height:14px;flex:none;border:1px solid #cfcfcf;box-shadow:inset 0 0 0 1px #0006}.pk-current{margin-left:auto;color:#fff}.pk-state-menu button:hover,.pk-state-menu button:focus-visible{background:#ffffff25;outline:1px solid #c0ad85}.pk-state-menu small{display:block;padding:3px 5px;color:#d9caa8;font-size:10px}

.game-tooltip,.game-tooltip :is(h2,h3,p,strong,.equipment-line){text-align:center}.game-tooltip label,.game-tooltip .cs-detail-actions{justify-content:center}

/* Ground icons: three times the previous 64px display, with the name above. */
.ground-item img{width:var(--ground-icon-size,96px);height:var(--ground-icon-size,96px);max-width:var(--ground-icon-size,96px);max-height:var(--ground-icon-size,96px)}
.ground-item{pointer-events:none}.ground-item img,.ground-item span{pointer-events:auto}

.game-shell .status-info .xp{--fill:0%;background:linear-gradient(#f5d46a,#b77c21) left center/var(--fill) 100% no-repeat,#17160e;border:1px solid #81662d;border-radius:4px;box-sizing:border-box;color:#fff1c9;text-shadow:0 1px 2px #000;overflow:hidden}

.game-shell #chatForm{position:relative}.game-shell #chatForm .chat-unread-dot{position:absolute;z-index:3;top:-3px;min-width:12px;min-height:12px;width:12px;height:12px;padding:0;border:0;border-radius:50%;background:#ed3333;box-shadow:0 0 0 1px #ffe0a0,0 0 4px #000c;cursor:pointer}.game-shell #chatForm .chat-unread-dot:focus-visible{outline:2px solid #fff;outline-offset:2px}

.actor[data-nearby-chat=true] .native-overhead{visibility:hidden}.nearby-speech{position:absolute;left:0;transform:translateX(-50%);white-space:nowrap;pointer-events:none;z-index:5;color:#ffffff;font-family:"Phong Than PC v1.1",serif;text-shadow:1px 1px #000,-1px -1px #000,1px -1px #000,-1px 1px #000;line-height:1.2}

.nearby-speech .nearby-text{color:#ffffff}.nearby-speech{text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000,1px 1px #000,-1px -1px #000,1px -1px #000,-1px 1px #000}

.game-shell #chatForm .chat-compose{display:flex;flex:1;order:1;min-width:0;align-items:center;flex-wrap:wrap}.game-shell #chatForm .chat-compose #chatInput{flex:1;min-width:40px;width:0;order:1}.game-shell #chatForm .chat-compose .chat-compose-item{order:0;flex:0 1 auto;width:auto;max-width:100%;min-height:18px;height:auto;line-height:18px;padding:0 2px;border:0;background:none;white-space:normal;overflow-wrap:anywhere;text-align:left;font:inherit}.game-shell #chatForm:has(.chat-compose-item:not([hidden])){height:auto;min-height:22px;align-items:stretch}.game-shell .chat-item-link{font:inherit;text-shadow:1px 1px #000,-1px -1px #000}

.game-shell button.chat-item-link{display:inline;padding:0;border:0;background:none;color:inherit;font:inherit;line-height:inherit;white-space:normal;text-align:inherit;cursor:pointer}.game-shell button.chat-item-link:hover{text-decoration:underline}.chat-item-tooltip [role=status]{color:#b9ab86}

/* Half-height message history; the composer stays available when history is hidden. */
.game-shell .chat{height:auto;display:flex;flex-direction:column}
.game-shell .chat-content{height:calc((var(--overlay-height) - 24px) / 2);flex:none;line-height:1.2;padding-top:2px;padding-bottom:2px}
.game-shell .chat[data-chat-size=half] .chat-content{height:calc((var(--overlay-height) - 24px) / 4)}
.game-shell .chat-message{margin:0;padding:0;line-height:1.2}
.game-shell .chat-sender,.game-shell button.chat-item-link{display:inline;min-height:0;height:auto;min-width:0;margin:0;padding:0;border:0;border-radius:0;background:none;line-height:inherit;vertical-align:baseline;box-shadow:none}
.game-shell .chat-sender:disabled{opacity:1;cursor:default}
.chat-item-tooltip{box-sizing:border-box;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto}
.game-shell .chat.collapsed{height:auto;padding:0}
.game-shell .chat-group{--chat-font-size:11px}
.game-shell #chatForm{flex:none}
.game-shell #chatForm #chatInput,.game-shell #chatChannel,.game-shell #chatForm button[type=submit]{line-height:18px}
/* Match the Enter/channel face and size, including inherited item-advertisement text. */
#chatPanel :is(.chat-content,.chat-message,.chat-sender,.chat-text,.chat-item-link,#chatForm,.chat-compose,.chat-compose-item,#chatInput,#chatChannel,button[type=submit]){font-family:'Phong Than PC v1.1'!important;font-size:var(--chat-font-size);font-weight:400}
@media(max-width:600px) and (orientation:portrait){.game-shell .chat-group{--chat-font-size:10px}}

/* Focusable chat controls must keep a real 16px font to avoid iOS focus zoom.
   Only their presentation scales to match the 10/11px Enter/history text.
   Keep this guard separate from shared chat typography; covered by the chat-focus browser test. */
#chatPanel{-webkit-text-size-adjust:100%;text-size-adjust:100%;--chat-control-scale:.6875}
#chatPanel .chat-input-wrap{position:relative;flex:1;order:1;min-width:40px;height:20px;overflow:hidden}
#chatPanel .chat-channel-wrap{position:relative;flex:0 0 65px;width:65px;height:20px;overflow:hidden;order:0}
#chatPanel #chatForm :is(#chatInput,#chatChannel){position:absolute;left:0;top:0;min-width:0;width:calc(100% / var(--chat-control-scale));height:calc(20px / var(--chat-control-scale));min-height:0;max-height:none;margin:0;padding:0 calc(4px / var(--chat-control-scale));font-size:16px!important;line-height:calc(18px / var(--chat-control-scale));transform:scale(var(--chat-control-scale));transform-origin:top left;box-sizing:border-box}
@media(orientation:portrait){#chatPanel .chat-channel-wrap{flex-basis:58px;width:58px}}
@media(max-width:600px) and (orientation:portrait){#chatPanel{--chat-control-scale:.625}}

.ground-item .ground-stack-icon{display:block;width:32px;height:32px;margin:auto;pointer-events:auto;object-fit:contain}

.quick-bag-charge{position:absolute;left:3px;right:3px;bottom:2px;height:3px;background:#160d05;border:1px solid #a18a45;pointer-events:none}.quick-bag-charge i{display:block;height:100%;background:#7cc55a}

.train-entry-protection{position:absolute;top:120px;left:50%;transform:translateX(-50%);z-index:15;max-width:80%;padding:6px 12px;border:1px solid #b99a4b;border-radius:3px;background:#1b150ee8;color:#ffe39a;font:13px/1.5 'Phong Than PC v1.1',Georgia,serif;text-align:center;pointer-events:none}.train-entry-protection[hidden]{display:none}

/* All in-game interface text uses the same source face as chat. */
body.ingame,body.ingame *{font-family:'Phong Than PC v1.1',serif!important}

/* A geometric cross stays centered regardless of the content font metrics. */
body.ingame button.ui-close{box-sizing:border-box;display:inline-grid!important;place-items:center!important;width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;max-width:24px!important;max-height:24px!important;flex:0 0 24px!important;padding:0!important;margin:0!important;font-size:0!important;line-height:0!important;border:1px solid #a8873e!important;border-radius:2px;background:#211a0f;color:#e4d5a4;overflow:hidden;vertical-align:middle}
body.ingame button.ui-close::before,body.ingame button.ui-close::after{content:'';grid-area:1 / 1;display:block;width:12px;height:1px;background:#e4d5a4;pointer-events:none;transform:rotate(45deg)}
body.ingame button.ui-close::after{transform:rotate(-45deg)}
body.ingame button.ui-close-floating{position:absolute!important;top:8px!important;right:8px!important;z-index:2;bottom:auto!important;left:auto!important}
body.ingame :is(.inventory-detail,.avatar-dialog,#systemDialog){padding-top:38px}
body.ingame .interaction-menu>strong{padding-right:28px}

/* Render the cross independently of font baselines and anonymous grid text. */
body.ingame button.ui-close{background:#211a0f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 2L10 10M10 2L2 10' stroke='%23e4d5a4' stroke-width='1.2' stroke-linecap='square'/%3E%3C/svg%3E") center / 12px 12px no-repeat!important}
body.ingame button.ui-close::before,body.ingame button.ui-close::after{content:none}
/* Content menus size to their rows, without inherited dialog button margins. */
body.ingame :is(.newcomer-dialog,.compact-panel,.inventory-detail,.avatar-dialog,#systemDialog) button:not(.ui-close){margin:0}
body.ingame .newcomer-dialog:not(.newcomer-quick){height:auto;min-height:0;padding:6px}
body.ingame .newcomer-dialog:not(.newcomer-quick) .newcomer-content{gap:4px;padding:4px 2px 0;align-content:start}
body.ingame .newcomer-dialog:not(.newcomer-quick) .newcomer-content>button{min-height:32px;padding:4px 7px;line-height:1.4}
body.ingame .newcomer-dialog .newcomer-items{gap:4px}
body.ingame .newcomer-dialog .newcomer-items button{padding:3px 6px;min-height:40px;gap:6px}
body.ingame .newcomer-dialog footer{margin-top:5px;padding:4px 2px 0}
body.ingame .newcomer-dialog footer button{min-height:30px;padding:3px 6px}
body.ingame .newcomer-dialog :is(.newcomer-intro,.newcomer-content>p){margin:4px 2px;line-height:1.4}
body.ingame .newcomer-pages{gap:6px;margin-top:2px}
body.ingame :is(.inventory-detail,.compact-panel) p{margin-block:4px}
body.ingame .inventory-detail h2{margin-bottom:6px}
body.ingame .inventory-detail-actions{gap:4px;margin-top:7px}
body.ingame #systemDialog button:not(.ui-close){margin-top:4px;min-height:34px}

/* Modal dialogs must not stretch between the browser's default top/bottom insets. */
body.ingame .newcomer-dialog:not(.newcomer-quick){bottom:auto;right:auto;margin:0;height:fit-content}
/* Override legacy per-control font shorthands throughout the game. */
html body.ingame #app,html body.ingame #app *,html body.ingame>dialog,html body.ingame>dialog *{font-family:'Phong Than PC v1.1',serif!important}

/* Center text by the visible glyphs, with equal space on both sides of titles. */
body.ingame :is(.inventory-heading,.inventory-bag-title,.cs-heading,.rps-heading,.rps-bag-title){box-sizing:border-box;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;padding:0 28px}
body.ingame .upgrade-window .upgrade-column .inventory-heading{text-align:center;padding:0 24px}
body.ingame :is(.newcomer-dialog,.compact-panel,.ktc-window) header{box-sizing:border-box;display:flex;align-items:center;justify-content:center;text-align:center;padding:3px 30px;min-height:30px}
body.ingame :is(.newcomer-dialog,.ktc-window) header{position:relative}
body.ingame :is(.inventory-heading,.cs-heading,.rps-heading,.newcomer-dialog header,.compact-panel header,.ktc-window header)>.ui-close{position:absolute!important;top:50%!important;right:2px!important;transform:translateY(-50%)}
body.ingame :is(.newcomer-dialog,.compact-panel,.inventory-detail,.avatar-dialog,#systemDialog) button:not(.ui-close){text-align:center;align-content:center;line-height:1.3}
body.ingame .newcomer-dialog:not(.newcomer-quick) .newcomer-content>button{text-align:center;line-height:1.3}
body.ingame :is(.newcomer-dialog,.inventory-detail,.compact-panel) :is(h2,h3,p){text-align:center}
body.ingame :is(.inventory-cell,.inventory-equip-slot,.inventory-set-tabs button,.inventory-page-tabs button,.inventory-actions button,.inventory-money output,.up-actions button){text-align:center;align-content:center;line-height:1.2}
body.ingame .inventory-equip-slot>span{text-align:center}

body.ingame :is(.upgrade-formula h3,.up-quote-summary,.upgrade-selected-name,.cs-detail-heading,.cs-skill-detail p){text-align:center}
body.ingame .upgrade-formula p[data-up-requirement]{align-items:center}
body.ingame :is(.inventory-set-tabs,.inventory-page-tabs,.cs-tree-tabs,.upgrade-service-menu) button{display:flex;align-items:center;justify-content:center;text-align:center}

.daily-quest-list{list-style:none;padding:0;margin:3px 0;display:grid;gap:4px}.daily-quest-list li{display:grid;gap:2px;text-align:center;line-height:1.35}.daily-quest-list li b{font-weight:400;color:#cebd83}.daily-quest-list li[data-complete=true] b{color:#92d86a}.daily-quest-full li{padding:5px;border-bottom:1px solid #5d4b29}.daily-quest-links{display:grid;grid-template-columns:1fr 1fr;gap:4px}.mission-body .daily-quest-list{font-size:10px}.mission-body [data-open-welfare]{width:100%;padding:3px 1px;font-size:10px;line-height:1.3;min-height:26px}

body.ingame .ranking-dialog{width:min(430px,calc(100vw - 16px))}.ranking-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.ranking-tabs button{min-height:28px!important;padding:3px 0!important;font-size:11px;white-space:nowrap;text-align:center}.ranking-tabs [aria-selected=true]{border-color:#f0cd75;background:#534022}.ranking-rows{list-style:none;margin:2px 0;padding:0;display:grid;grid-template-rows:repeat(5,minmax(32px,auto));grid-auto-flow:column;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:9px;row-gap:3px}.ranking-row{display:grid;grid-template-columns:16px minmax(0,1fr);gap:2px 3px;align-content:center;align-items:center;border-bottom:1px solid #54452c;font-size:10px;line-height:1.3;text-align:center}.ranking-row>span:first-child{grid-row:span 2;color:#d9b45c}.ranking-name{min-width:0;overflow-wrap:anywhere}.ranking-row b{font-weight:400;color:#e6d9a0;grid-column:2}.ranking-note{font-size:10px;line-height:1.35}.ranking-note:empty{display:none}

.welfare-ready-dot{position:absolute;right:0;top:0;width:10px;height:10px;border-radius:50%;background:#ff1828;box-shadow:0 0 2px #160000;pointer-events:none;z-index:2}.welfare-ready-dot[hidden]{display:none!important}
body.ingame [data-welfare-tab]{position:relative}.welfare-menu-dot{display:inline-block;margin-left:6px;width:7px;height:7px;border-radius:50%;background:#ff1828}
.daily-task-text{display:grid;gap:2px;min-width:0;text-align:center}.daily-task-text small{font-size:10px;color:#cbbb92;line-height:1.3}.daily-help{font-size:11px}
body.ingame .daily-quests-dialog{max-height:calc(100dvh - 16px)}.daily-quest-full li{grid-template-columns:minmax(0,1fr) 54px;align-items:center;gap:6px;padding:5px 2px}
body.ingame .daily-quest-full [data-daily-claim]{padding:2px;min-height:28px;font-size:11px;margin:0}.daily-bonus{border-top:1px solid #8e7339;padding-top:5px}.daily-bonus>small{display:block;font-size:10px;text-align:center;line-height:1.4;color:#d9c68a}.daily-progress{display:grid;grid-template-columns:auto minmax(0,1fr) auto 54px;align-items:center;gap:5px;font-size:11px}.daily-progress progress{width:100%;height:12px;accent-color:#c9a14d}.daily-progress b{font-weight:400}.daily-progress button{min-height:28px;font-size:11px;padding:2px}.daily-error{color:#f1b68e;font-size:11px}

.game-shell #minimapTools button[aria-label="Phúc lợi"]{position:relative;overflow:visible}

.game-shell #minimapTools button .welfare-ready-dot:not([hidden]){display:block}
/* Compact daily tracker: this reading panel is intentionally left aligned. */
body.ingame .game-shell .mission-panel{height:auto;max-height:min(210px,calc(100dvh - var(--mission-top) - 80px))}
body.ingame .game-shell .mission-body{height:auto;max-height:180px;padding:3px 5px;overflow-y:auto;scrollbar-gutter:auto;direction:ltr}
body.ingame .mission-body .daily-quest-list{gap:2px;margin:0;font-size:10px}
body.ingame .mission-body .daily-quest-list li{display:block;text-align:left;line-height:1.1;padding:0;margin:0}
body.ingame .mission-body .daily-task-text{display:flex;flex-wrap:wrap;column-gap:6px;row-gap:0;line-height:1.1;align-items:baseline;justify-content:flex-start;text-align:left}
body.ingame .mission-body .daily-task-text span{flex-basis:100%}
body.ingame .mission-body .daily-task-text b{font-size:10px}
body.ingame .game-shell .mission-panel,.daily-quests-dialog .daily-task-text{--quest-outline:-1px -1px 0 #000,0 -1px 0 #000,1px -1px 0 #000,-1px 0 0 #000,1px 0 0 #000,-1px 1px 0 #000,0 1px 0 #000,1px 1px 0 #000;color:#ffdf45;text-shadow:var(--quest-outline)}
body.ingame .mission-panel :is(#missionToggle,#missionDetails),body.ingame .mission-panel .daily-task-text :is(span,b),.daily-quests-dialog .daily-task-text :is(span,b){color:#ffdf45;text-shadow:var(--quest-outline)}
body.ingame .mission-panel [data-complete=true] .daily-task-text b,.daily-quests-dialog [data-complete=true] .daily-task-text b{color:#6dff3b;text-shadow:var(--quest-outline)}
body.ingame .mission-body [data-open-welfare]{height:22px;min-height:22px;line-height:1.2;padding:2px 3px;margin:3px 0 0;text-align:left}
.vtt-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 2px 8px;font-size:11px;line-height:1.3}
.vtt-summary b{font-weight:400;color:#ffe7a1}.vtt-rewards li{display:grid;grid-template-columns:46px minmax(0,1fr) 60px;gap:6px;align-items:center;min-height:38px;padding:5px 2px;border-bottom:1px solid #5d4b29}
.vtt-reward-level{font-size:11px;text-align:center}.vtt-rewards .vtt-reward-gift{display:grid;gap:3px;min-width:0;text-align:center}.vtt-rewards small{font-size:10px;line-height:1.3}
body.ingame .vtt-rewards button{height:28px;min-height:28px;padding:2px;font-size:11px;margin:0}
body.ingame :is(.vtt-rewards button,[data-daily-claim]){font-size:10px;letter-spacing:0;white-space:nowrap}
.vtt-rewards select{box-sizing:border-box;max-width:100%;height:27px;min-height:27px;background:#211a0f;border:1px solid #a8873e;color:#e4d5a4;font:inherit;text-align:center}
.vtt-instance-status{position:fixed;top:85px;left:50%;transform:translateX(-50%);z-index:5;max-width:calc(100vw - 24px);padding:5px 9px;box-sizing:border-box;background:none;border:0;color:#6dff3b;text-shadow:-1px -1px 0 #000,0 -1px 0 #000,1px -1px 0 #000,-1px 0 0 #000,1px 0 0 #000,-1px 1px 0 #000,0 1px 0 #000,1px 1px 0 #000;text-align:center;font-size:12px;line-height:1.4;pointer-events:none}
.vtt-instance-status[hidden]{display:none}.vtt-instance-status span{display:block;font-size:11px}
@media(max-width:600px){.vtt-instance-status{top:300px;right:8px;left:auto;transform:none;width:170px;max-width:calc(100vw - 16px);font-size:11px}}

#serverAnnouncement{position:fixed;top:calc(env(safe-area-inset-top,0px) + 62px);left:50%;transform:translateX(-50%);width:min(680px,70vw);height:32px;z-index:90;background:#1a160de8;border:1px solid #ad8b49;color:#ffe58a;overflow:hidden;pointer-events:none;font:14px/30px 'Phong Than PC v1.1',serif;text-align:center;text-shadow:1px 1px #000}#serverAnnouncement span{display:inline-block;min-width:100%;white-space:nowrap;padding:0 20px;animation:server-announcement-scroll 24s linear infinite}@keyframes server-announcement-scroll{from{transform:translateX(100%)}to{transform:translateX(-100%)}}@media(max-width:600px){#serverAnnouncement{width:88vw;top:calc(env(safe-area-inset-top,0px) + 72px)}}@media(prefers-reduced-motion:reduce){#serverAnnouncement{height:auto;max-height:100px;line-height:1.6}#serverAnnouncement span{animation:none;white-space:normal;padding:4px 10px}}

body.ingame button.ui-close[hidden]{display:none!important}

.game-shell .map-buttons .tower-status{position:static;inset:auto;transform:none;width:100%;max-width:none;margin:0;padding:2px 0;font-family:"Phong Than PC v1.1",serif;text-align:center}

.game-shell .tower-status{position:absolute!important;right:auto;bottom:auto;transform:none!important;max-width:none;margin:0;padding:0;background:transparent!important;border:0!important;box-shadow:none!important;font-family:'Phong Than PC v1.1',serif;text-align:center}
@media(orientation:portrait){.game-shell:has(.tower-status:not([hidden])) .quick{margin-top:34px}}

.game-shell .level-reward-list li{display:flex;flex-direction:row;gap:4px;align-items:center;padding:2px 0}.game-shell .level-reward-list .level-reward-cell{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;min-width:0;width:100%;padding:4px 6px;font-family:'Phong Than PC v1.1',serif;white-space:nowrap}.level-reward-cell>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-reward-cell>b{flex:none;color:#80ff80;font-weight:400}.level-reward-list select{max-width:78px;min-width:0;font:inherit}

.activity-guide{margin:0;padding-left:16px;text-align:left;font-size:11px;line-height:1.35}.activity-guide li{margin:4px 0}

body.ingame .daily-quests-dialog .level-reward-list{grid-template-columns:minmax(0,1fr);min-width:0;width:100%}body.ingame .daily-quests-dialog .level-reward-list li{display:flex;flex-direction:row;align-items:center;gap:4px;min-width:0;width:100%;padding:2px 0}body.ingame .daily-quests-dialog .level-reward-cell{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;flex:1 1 0;gap:6px;min-width:0;max-width:100%;width:100%;box-sizing:border-box;padding:4px 6px;font:12px/1.3 'Phong Than PC v1.1',serif;white-space:nowrap}body.ingame .daily-quests-dialog .level-reward-cell>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.ingame .daily-quests-dialog .level-reward-cell>b{flex:none;white-space:nowrap;color:#80ff80;font-weight:400}

/* Shared chrome: source icon/quality/SPR slots keep their native artwork and colors. */
body.ingame{--ui-surface:#080b07;--ui-control:#211a0f;--ui-border:#a8873e;--ui-inner-border:#54482a;--ui-text:#e4d5a4;--ui-title:#ead392;--ui-active:#4a371b;--ui-gap:4px}
body.ingame :is(.newcomer-dialog:not(.newcomer-quick),.compact-panel,.inventory-detail,.avatar-dialog,#systemDialog,.ktc-window,.interaction-menu,.rps-invitation,.trade-invitation){background:var(--ui-surface)!important;color:var(--ui-text);border-color:var(--ui-border)!important;border-radius:2px;box-sizing:border-box}
body.ingame :is(.inventory-stage,.cs-stage,.upgrade-stage,.upgrade-column,.rps-stage,.trade-stage){background-color:var(--ui-surface);border-color:var(--ui-border);border-radius:2px;box-sizing:border-box}
body.ingame :is(.newcomer-dialog:not(.newcomer-quick),.compact-panel,.ktc-window) header{background:var(--ui-control);color:var(--ui-title);border-color:var(--ui-border);text-align:center}
body.ingame :is(.inventory-heading,.inventory-bag-title,.cs-heading,.rps-heading,.rps-bag-title,.party-panel>strong){color:var(--ui-title);text-align:center}
body.ingame .party-panel>strong{margin:0;padding:0 24px;box-sizing:border-box;min-height:24px;display:flex;justify-content:center;align-items:center}
body.ingame :is(.newcomer-dialog,.compact-panel,.inventory-detail,.avatar-dialog,#systemDialog,.ktc-window,.interaction-menu,.inventory-actions,.inventory-set-tabs,.inventory-page-tabs,.cs-tree-tabs,.up-actions,.upgrade-tabs,.rps-actions,.rps-pages,.rps-choices) button:where(:not(.ui-close):not(.inventory-cell):not(.inventory-equip-slot):not(.party-list-row):not([data-pk]):not(.ground-item)){box-sizing:border-box;border-color:var(--ui-border);border-radius:2px;background:var(--ui-control);color:var(--ui-text);margin:0;text-align:center;align-content:center;line-height:1.3;box-shadow:none}
body.ingame :is(.newcomer-dialog,.compact-panel,.inventory-detail,.ktc-window,.interaction-menu,.rps-invitation,.trade-invitation) button:where(:not(.ui-close):not(.party-list-row):not([data-pk])):hover{border-color:var(--ui-title)}
body.ingame :is(.newcomer-dialog,.compact-panel,.inventory-detail,.ktc-window,.inventory-window,.character-skill-window,.upgrade-window,.rps-window,.trade-window) :is(input:not([type=checkbox]),select){box-sizing:border-box;background-color:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-inner-border);border-radius:2px;line-height:1.3}
body.ingame :is(.newcomer-dialog,.compact-panel,.inventory-detail,.ktc-window,.inventory-window,.character-skill-window,.upgrade-window,.rps-window,.trade-window) :is(button,input,select):focus-visible{outline:1px solid var(--ui-title);outline-offset:1px}
body.ingame :is(.newcomer-pages,.ranking-tabs,.daily-quest-links,.auto-form footer,.inventory-detail-actions){gap:var(--ui-gap)}
body.ingame .newcomer-pages{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}
body.ingame .newcomer-pages>button{width:100%;min-width:0}
body.ingame .party-panel .party-columns section{border-color:var(--ui-inner-border)}
body.ingame .party-actions button{width:100%;min-width:0;min-height:28px;padding:3px 1px;font-size:12px}
body.ingame .party-panel .party-list-row{color:var(--ui-text)}
body.ingame .party-panel .party-list-row.is-leader{color:#fff34d}
body.ingame .party-panel .party-list-row[aria-pressed=true]{border-color:var(--ui-border);background:var(--ui-active)}
body.ingame .activity-guide{display:grid;gap:6px;margin:0;text-align:left;font-size:12px;line-height:1.35}
body.ingame .activity-guide section{min-width:0}
body.ingame .activity-guide h3{margin:0 0 3px;padding:2px 0;border-bottom:1px solid var(--ui-inner-border);font-size:13px;line-height:1.3;color:var(--ui-title);text-align:left}
body.ingame .activity-guide section p{margin:3px 0!important;text-align:left!important;line-height:1.35}
body.ingame .service-navigation [data-tower-enter]{width:100%;min-height:32px;padding:5px 6px;white-space:normal;text-align:center}
@media(max-height:500px){body.ingame .activity-guide{font-size:11px;line-height:1.2;gap:4px}body.ingame .activity-guide h3{font-size:12px;line-height:1.2;margin-bottom:2px}body.ingame .activity-guide section p{margin:2px 0!important;line-height:1.2}}

body.ingame #systemDialog[open]{display:grid;gap:var(--ui-gap)}
body.ingame #systemDialog h2{margin:0 0 4px;text-align:center;color:var(--ui-title)}
body.ingame :is(.inventory-set-tabs,.inventory-page-tabs,.cs-tree-tabs,.ranking-tabs,.avatar-grid,.rps-pages) button:is([aria-selected=true],[aria-pressed=true]){background:var(--ui-active);border-color:var(--ui-title)}

body.ingame .party-actions button{font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(orientation:portrait) and (max-width:360px){body.ingame .party-actions button{font-size:11px}}
@media(orientation:landscape) and (max-height:500px){
 body.ingame .service-navigation:has(.activity-guide){width:min(600px,calc(100vw - 24px))}
 body.ingame .activity-guide{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px;font-size:12px;line-height:1.3}
 body.ingame .activity-guide>section:first-child{grid-column:1/-1}
 body.ingame .activity-guide section p{line-height:1.3}
}

body.ingame .activity-guide{padding:0}
body.ingame .service-navigation:has(.activity-guide)>:is(header,footer){flex-shrink:0}
@media(orientation:landscape) and (max-height:500px){body.ingame .service-navigation:has(.activity-guide){max-width:min(600px,calc(100vw - 24px))}}
.game-shell .vtt-gate-actor{position:absolute;transform-origin:50% 100%;display:flex;flex-direction:column;align-items:center;padding:0;border:0;background:transparent;cursor:pointer;pointer-events:auto;width:auto;min-width:0;height:auto}
.game-shell .vtt-gate-actor[hidden]{display:none}
.vtt-gate-actor canvas{display:block;pointer-events:none}
.vtt-gate-actor span{position:absolute;bottom:100%;white-space:nowrap;color:#ffe17b;font-family:'Phong Than PC v1.1';font-size:13px;text-shadow:-1px -1px #000,1px -1px #000,-1px 1px #000,1px 1px #000;pointer-events:none}
