/* Common materials documented in /aestethic.md. */
:root{
 --art-page:url('/assets/ui/clan/page-texture-v1.png?v=20261010');
 --art-stone:url('/assets/ui/clan/panel-texture-v1.png?v=20261010');
 --art-wood:url('/assets/ui/clan/button-normal-texture-v1.png?v=20261010');
 --art-wood-hover:url('/assets/ui/clan/button-hover-texture-v1.png?v=20261010');
 --art-wood-selected:url('/assets/ui/clan/button-selected-texture-v1.png?v=20261010');
 --art-cream:#e7dfc5;--art-gold:#c9a35c;--art-edge:#48554d;
}
#hotbar{background:#111b18 var(--art-page) repeat!important;background-size:128px 128px!important;image-rendering:pixelated;border-color:var(--art-gold)!important}
#hotbar :is(.hb-mode,.hotbar-key-edit){background:#15281e var(--art-wood) repeat!important;background-size:128px 128px!important;image-rendering:pixelated}
#hotbar :is(.hb-mode,.hotbar-key-edit):hover{background-image:var(--art-wood-hover)!important}
#hotbar :is(.hb-mode,.hotbar-key-edit).active{background-image:var(--art-wood-selected)!important}
#win-char.character-journal-win>.win-body,#win-skills>.win-body{background:#111b18 var(--art-page) repeat!important;background-size:256px 256px!important;image-rendering:pixelated}
#win-char .character-section{background:#111a20 var(--art-stone) repeat!important;background-size:128px 128px!important;border-color:var(--art-edge);border-radius:2px;image-rendering:pixelated}
#win-char :is(.combat-cell,.stat-row,.char-guild-skill){background:#111a20 var(--art-stone) repeat!important;background-size:64px 64px!important;border-color:#3c4e46;image-rendering:pixelated}
#win-char :is(.cs-skill,.cs-points,.set-bonus-block),#win-skills :is(.skill-card,.sk-banner){background:#14291d var(--art-wood) repeat!important;background-size:128px 128px!important;image-rendering:pixelated}
#win-char .cs-skill:hover,#win-skills .skill-card:hover{background-image:var(--art-wood-hover)!important}
#win-char .cs-skill.maxed{border-color:var(--art-gold)}
#win-char .cs-skill.locked{background-image:var(--art-stone)!important}

/* Fixed ornaments + repeating rails: any panel size, no stretched corners. */
.ui-modular-frame,#win-guild.guild-win>.win-body>.guild-banner{
 border:0!important;border-image:none!important;border-radius:0;
 padding:24px 36px;min-height:124px;box-sizing:border-box;image-rendering:pixelated;
 background-color:#132b1f!important;
 background-image:
 url('/assets/ui/ornaments/corner-tl-v1.png'),url('/assets/ui/ornaments/corner-tr-v1.png'),
 url('/assets/ui/ornaments/corner-bl-v1.png'),url('/assets/ui/ornaments/corner-br-v1.png'),
 url('/assets/ui/ornaments/leaf-left-v1.png'),url('/assets/ui/ornaments/leaf-right-v1.png'),
 url('/assets/ui/ornaments/rail-h-v1.png'),url('/assets/ui/ornaments/rail-h-v1.png'),
 url('/assets/ui/ornaments/rail-v-v1.png'),url('/assets/ui/ornaments/rail-v-v1.png')!important;
 background-position:left top,right top,left bottom,right bottom,12px center,right 12px center,left top,left bottom,left top,right top!important;
 background-size:32px 32px,32px 32px,32px 32px,32px 32px,32px 48px,32px 48px,64px 12px,64px 12px,12px 64px,12px 64px!important;
 background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat-x,repeat-x,repeat-y,repeat-y!important;
}
@media(max-width:700px){#win-guild.guild-win>.win-body>.guild-banner,.ui-modular-frame{padding:22px 36px}}

/* Login and roster share the same materials as the in-game windows. */
html #screen-auth .auth-panel,html #screen-chars .chars-panel{position:relative;background:#111b18 var(--art-page) repeat!important;background-size:128px 128px!important;border-color:var(--art-gold)!important;image-rendering:pixelated}
html #screen-auth .auth-panel::before,html #screen-chars .chars-panel::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;image-rendering:pixelated;background-image:url('/assets/ui/ornaments/corner-tl-v1.png'),url('/assets/ui/ornaments/corner-tr-v1.png'),url('/assets/ui/ornaments/corner-bl-v1.png'),url('/assets/ui/ornaments/corner-br-v1.png'),url('/assets/ui/ornaments/rail-h-v1.png'),url('/assets/ui/ornaments/rail-h-v1.png'),url('/assets/ui/ornaments/rail-v-v1.png'),url('/assets/ui/ornaments/rail-v-v1.png');background-position:left top,right top,left bottom,right bottom,left top,left bottom,left top,right top;background-size:24px 24px,24px 24px,24px 24px,24px 24px,64px 8px,64px 8px,8px 64px,8px 64px;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat-x,repeat-x,repeat-y,repeat-y}
html #screen-auth .auth-panel :is(#auth-user,#auth-pass,#channel-select),html #screen-chars .chars-panel input:not([type='range']),html #screen-chars :is(#char-create,.char-showcase-info,.char-row,.class-card){background:#111a20 var(--art-stone) repeat!important;background-size:64px 64px!important;color:var(--art-cream)!important;border-color:var(--art-edge)!important;image-rendering:pixelated}
html #screen-auth .auth-panel button,html #screen-chars .chars-panel button{background:#14291d var(--art-wood) repeat!important;background-size:128px 128px!important;border-color:#7d7856!important;color:var(--art-cream)!important;image-rendering:pixelated}
html #screen-auth .auth-panel button#btn-login,html #screen-chars button#btn-enter-char{background:#15352c var(--art-wood-selected) repeat!important;background-size:128px 128px!important;color:#f0ddb2!important;border-color:var(--art-gold)!important}
html #screen-auth .auth-panel button:hover:not(:disabled),html #screen-auth .auth-panel button#btn-login:hover:not(:disabled),html #screen-chars .chars-panel button:hover:not(:disabled){background:#1e3e2a var(--art-wood-hover) repeat!important;background-size:128px 128px!important;color:#fff0cc!important}
html #screen-chars :is(.char-row.selected,.class-card.selected){background:#15352c var(--art-wood-selected) repeat!important;background-size:128px 128px!important;border-color:var(--art-gold)!important}
html #screen-auth .auth-panel button:disabled,html #screen-chars .chars-panel button:disabled{opacity:.5}
html #screen-auth .auth-panel :focus-visible,html #screen-chars .chars-panel :focus-visible{outline:2px solid #e1c77d!important;outline-offset:2px}

/* Inner pages, navigation and dense collection/title/cosmetic panels. */
#win-char .char-tab-content{background:#111b18 var(--art-page) repeat!important;background-size:256px 256px!important;image-rendering:pixelated}
#win-char :is(.ct-list,.ct-detail,.title-row,.collection-card,.coll-card,.cos-card,.rb-path,.ct-cosmetic-preview){background:#111a20 var(--art-stone) repeat!important;background-size:128px 128px!important;image-rendering:pixelated}
#win-char .character-nav .inv-tab,#win-char :is(.ct-filter,.ct-category){background:#152b20 var(--art-wood) repeat!important;background-size:128px 128px!important;image-rendering:pixelated}
#win-char .character-nav .inv-tab:hover,#win-char .ct-filter:hover{background-image:var(--art-wood-hover)!important}
#win-char .character-nav .inv-tab.active,#win-char .ct-filter.active,#win-char .ct-cosmetic-row.equipped{background:#15352c var(--art-wood-selected) repeat!important;background-size:128px 128px!important;border-color:var(--art-gold)!important}
#win-char :is(.ct-row,.ct-cosmetic-row){background:#152b20 var(--art-wood) repeat!important;background-size:128px 128px!important;image-rendering:pixelated}
#win-char .ct-preview{background:#111a20 var(--art-stone) repeat!important;background-size:64px 64px!important;image-rendering:pixelated}
#win-char .ct-row:hover{background-image:var(--art-wood-hover)!important}
#win-char .ct-row[aria-pressed='true']{background-image:var(--art-wood-selected)!important;border-color:var(--art-gold)!important}

/* Shared in-game window materials. Skin only: existing geometry, layout and
   gameplay colours stay owned by each component. Standalone dialogs share it. */
html body :is(.win,.rpg-modal-win,.cosm-slide,.mob-sheet-panel,.fullmap-box,.ap-box,.pp-box,.drop-box,.split-box,.npctut-box,.premium-zoom-card,.death-panel,.fd-panel,.dv-sum,#portal-info,#pet-sense-panel){
 /* Keep one compositing surface for the entire lifetime of an open panel.
    Hover transforms/filters on children must not re-rasterize scaled pixel art. */
 will-change:transform;
 background-color:#111a20!important;background-image:var(--art-stone)!important;
 background-repeat:repeat!important;background-size:128px 128px!important;background-position:0 0!important;
 image-rendering:pixelated;
}
html body :is(.win,.rpg-modal-win,#portal-info)>.win-body,
html body :is(.cosm-slide-body,.mob-sheet-body,.news-archive,.settings-shell){
 background-color:#111b18!important;background-image:var(--art-page)!important;
 background-repeat:repeat!important;background-size:128px 128px!important;background-position:0 0!important;
}
html body :is(.win,.rpg-modal-win,#portal-info) :is(.win-title,.news-title,.fd-head,.dv-top),
html body :is(.cosm-slide-head,.mob-sheet-head,.pet-sense-head,.settings-nav,.premium-nav,.bank-head,.inv-tabs,.social-tabs){
 background-color:#152b20!important;background-image:var(--art-wood)!important;
 background-repeat:repeat!important;background-size:128px 128px!important;background-position:0 0!important;
}
/* Dense interior cards have quiet stone, not another ornate outer frame. */
html body :is(.win,.rpg-modal-win,.cosm-slide,#portal-info) :is(.skill-card,.quest-card,.quest-row,.pet-card,.trade-col,.bsp-cols,.wb-panel,.premium-detail,.premium-card,.pd-card,.cos-card,.wd-card,.wd-side,.wd-preview,.ct-detail,.ct-list,.ct-preview,.bank-lock-box,.bb-arena,.rb-path,.news-entry,.settings-section,.graphics-section,.settings-perf-log-summary,.settings-intro,.bank-silver-panel,.premium-balance,.premium-hero,.pc-foot,.pd-desc,.pd-price,.npc-speech,.bp-head,.bp-quest,.bp-row,.bp-cell,.stat-pts-row,.journal-index,.shop-row,.shop-msg,.loot-row,.mail-row,.fr-row,.lb-row,.daily-row,.battlepass-tier,.bp-tier,.inspect-stats,.stat-row,.combat-cell),
html body :is(.premium-zoom-stage,.riki-stash-slot,.pp-option,.ap-card){
 background-color:#111a20!important;background-image:var(--art-stone)!important;
 background-repeat:repeat!important;background-size:128px 128px!important;background-position:0 0!important;
}
html body :is(.win,.rpg-modal-win,.cosm-slide,.mob-sheet-panel,.fullmap-box,.ap-box,.pp-box,.drop-box,.split-box,.npctut-box,.premium-zoom-card,.death-panel,.fd-panel,.dv-sum,#portal-info,#pet-sense-panel) :is(button,.rpg-btn,.inv-tab,.guild-tab,.sk-filter,.premium-nav-btn,.bank-tab,.quest-tab,.mail-tab,.wd-cat,.ct-filter,.ct-category,.social-tab,.settings-tab,.bp-collapse,.pet-cell){
 background-color:#152b20!important;background-image:var(--art-wood)!important;
 background-repeat:repeat!important;background-size:128px 128px!important;background-position:0 0!important;
 image-rendering:pixelated;color:var(--art-cream)!important;
}
html body :is(.win,.rpg-modal-win,.cosm-slide,.mob-sheet-panel,.fullmap-box,.ap-box,.pp-box,.drop-box,.split-box,.npctut-box,.premium-zoom-card,.death-panel,.fd-panel,.dv-sum,#portal-info,#pet-sense-panel) :is(button,.rpg-btn,.inv-tab,.guild-tab,.sk-filter,.premium-nav-btn,.bank-tab,.quest-tab,.mail-tab,.wd-cat,.ct-filter,.ct-category,.social-tab,.settings-tab,.bp-collapse,.pet-cell):is(.active,.selected,.on,.equipped,.rpg-btn-primary,.btn-accept,.good,[aria-selected=true],[aria-pressed=true]){
 background-image:var(--art-wood-selected)!important;border-color:var(--art-gold)!important;
}
html body :is(.win,.rpg-modal-win,.cosm-slide,.mob-sheet-panel,.fullmap-box,.ap-box,.pp-box,.drop-box,.split-box,.npctut-box,.premium-zoom-card,.death-panel,.fd-panel,.dv-sum,#portal-info,#pet-sense-panel) :is(button,.rpg-btn,.inv-tab,.guild-tab,.sk-filter,.premium-nav-btn,.bank-tab,.quest-tab,.mail-tab,.wd-cat,.ct-filter,.ct-category,.social-tab,.settings-tab,.bp-collapse,.pet-cell):hover:not(:disabled):not(.locked){
 background-image:var(--art-wood-hover)!important;
}
/* Texture/color states provide the highlight. Animated filters and lifts create
   temporary child compositor layers and change pixel sampling during the first
   hover frames, even when the settled panel looks identical. */
html body :is(.win,.rpg-modal-win,.cosm-slide,.mob-sheet-panel,.fullmap-box,.ap-box,.pp-box,.drop-box,.split-box,.npctut-box,.premium-zoom-card,.death-panel,.fd-panel,.dv-sum,#portal-info,#pet-sense-panel) :is(button,.rpg-btn,.inv-tab,.guild-tab,.sk-filter,.premium-nav-btn,.bank-tab,.quest-tab,.mail-tab,.wd-cat,.ct-filter,.ct-category,.social-tab,.settings-tab,.bp-collapse,.pet-cell):not(:disabled):not(.disabled):not(.locked){
 filter:none!important;transform:none!important;
 transition:background-color .1s,color .1s,border-color .1s,box-shadow .1s!important;
}
html body .premium-shop-win .pshop-card .pc-ic{transform:none!important;transition:none!important}
html body :is(.win,.rpg-modal-win,.cosm-slide,.mob-sheet-panel,.fullmap-box,.ap-box,.pp-box,.drop-box,.split-box,.npctut-box,.premium-zoom-card,.death-panel,.fd-panel,.dv-sum,#portal-info,#pet-sense-panel) :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea){
 background-color:#111a20!important;background-image:var(--art-stone)!important;
 background-repeat:repeat!important;background-size:64px 64px!important;background-position:0 0!important;
 color:var(--art-cream);
}
/* Red danger wash is flat and keeps the wood visible underneath. */
html body :is(.win,.rpg-modal-win,.cosm-slide,.death-panel,#portal-info) :is(button,.rpg-btn):is(.danger,.btn-danger,[data-danger=true]){
 background-image:linear-gradient(#6d211c99,#6d211c99),var(--art-wood)!important;
 border-color:#ab6656!important;color:#ffd2c0!important;
}
html body :is(.win,.rpg-modal-win,.cosm-slide,.death-panel,#portal-info) :is(button,.rpg-btn):is(.danger,.btn-danger,[data-danger=true]):hover:not(:disabled){
 background-image:linear-gradient(#8b2b2199,#8b2b2199),var(--art-wood-hover)!important;
}
html body :is(.win,.rpg-modal-win,.cosm-slide,.mob-sheet-panel,.fullmap-box,.premium-zoom-card,.death-panel,#portal-info,#pet-sense-panel) :is(button,.rpg-btn,.inv-tab,.pet-cell):disabled,
html body :is(.win,.rpg-modal-win,.cosm-slide,#portal-info) :is(.locked,.skill-card.locked,.ct-row.locked){
 background-image:var(--art-stone)!important;color:#aab6a7!important;filter:brightness(.65);
}
html body :is(.win,.rpg-modal-win,.cosm-slide,.mob-sheet-panel,.fullmap-box,.premium-zoom-card,.death-panel,#portal-info,#pet-sense-panel) :is(button,input,select,textarea,[tabindex]):focus-visible{
 outline:2px solid #e1c77d!important;outline-offset:2px;
}

html body #win-rewards .bp-cell.claimed{background-image:var(--art-stone)!important;filter:brightness(.72)}
html body #win-rewards .bp-cell.ready{background-image:var(--art-wood-selected)!important;border-color:var(--art-gold)!important}

html body :is(.win,.rpg-modal-win,#portal-info) :is(.settings-shell,.settings-content){background:#111b18 var(--art-page) repeat!important;background-size:128px 128px!important}
html body :is(.win,.rpg-modal-win,#portal-info) :is(.settings-nav,.premium-nav,.bank-head,.inv-tabs,.social-tabs){background:#152b20 var(--art-wood) repeat!important;background-size:128px 128px!important}
/* Item filters shared by every companion. The source inventory is a reference, not storage. */
.pet-exclusions{margin:12px 0;padding:12px;border:1px solid #746443;background:url('/assets/ui/clan/page-texture-v1.png') repeat;color:#e7dfc5}
.pet-exclusions h3{font-size:14px;margin:0 0 8px;color:#e1c77d}
.pet-exclusions p{font-size:12px;line-height:1.5;margin:0 0 10px;color:#aab6a7}
.pet-exclude-grid{display:flex;flex-wrap:wrap;gap:6px;min-height:68px;max-height:174px;overflow:auto;padding:8px;border:2px dashed #796944;background:url('/assets/ui/clan/panel-texture-v1.png') repeat;align-content:flex-start}
.pet-exclude-grid.drag-over{border-color:#e1c77d;outline:2px solid #e1c77d;outline-offset:2px}
.pet-exclude-slot{display:flex;align-items:center;gap:6px;max-width:100%;padding:6px;border:1px solid #76594a;background:url('/assets/ui/clan/button-normal-texture-v1.png') repeat;color:#e7dfc5;cursor:pointer}
.pet-exclude-slot span{font-size:11px;text-align:left}.pet-exclude-slot img,.pet-exclude-source-item img{width:28px;height:28px;object-fit:contain;image-rendering:pixelated;pointer-events:none}
.pet-exclusions summary{margin:10px 0;cursor:pointer;font-size:12px;color:#e1c77d}
.pet-exclude-source{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:5px;max-height:142px;overflow:auto}
.pet-exclude-source-item{height:40px;border:1px solid #58634b;background:url('/assets/ui/clan/panel-texture-v1.png') repeat;cursor:grab}
.pet-exclude-source-item:disabled{opacity:.35;cursor:default}.pet-exclude-slot:hover,.pet-exclude-source-item:hover:not(:disabled){border-color:#e1c77d}
.pet-exclude-slot:focus-visible,.pet-exclude-source-item:focus-visible{outline:2px solid #e1c77d}
html .win .pet-exclude-source-item{padding:4px!important;min-width:0;width:100%;height:44px;box-sizing:border-box}
.pet-exclude-source{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));overflow-x:hidden}
html #arena-result-overlay .arena-result-actions{flex-wrap:wrap}
html #arena-result-overlay .arena-result-actions .arena-next{flex-basis:100%;border-color:#bfa05d!important;background-image:url('/assets/ui/clan/button-selected-texture-v1.png')!important}
html #arena-result-overlay .arena-result-actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:0}
html #arena-result-overlay .arena-result-actions .rpg-btn{min-width:0;white-space:normal;overflow-wrap:anywhere}
html #arena-result-overlay .arena-result-actions .arena-next{grid-column:1 / -1}
@media(max-width:600px){html #arena-result-overlay .arena-result-actions{grid-template-columns:minmax(0,1fr)}}

html #arena-dummy-panel{position:fixed;right:16px;top:230px;width:300px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 250px);overflow:auto;z-index:150;padding:14px;background-image:var(--art-stone);background-color:#111b18;border:1px solid #817446;color:#e7dfc5;font-family:Outfit,sans-serif;box-sizing:border-box}
#arena-dummy-panel header{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#e1c77d;margin-bottom:8px}
#arena-dummy-panel small{display:block;color:#aab6a7;font-size:11px;line-height:1.5}
#arena-dummy-panel .dummy-fold{min-width:28px;padding:2px 8px}
.dummy-stats{display:grid;grid-template-columns:1fr auto;gap:7px 8px;font-size:13px;margin:12px 0;font-variant-numeric:tabular-nums}
.dummy-stats b{text-align:right;color:#e1c77d}.dummy-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}.dummy-actions .rpg-btn{font-size:12px;min-width:0;white-space:normal;padding:8px}.dummy-leave{grid-column:1 / -1}.dummy-collapsed .dummy-details{display:none}
@media(max-height:650px){html #arena-dummy-panel{top:145px;max-height:calc(100dvh - 165px)}}

html #arena-dummy-panel .rpg-btn{background-image:var(--art-wood)!important;background-color:#182b21!important;background-repeat:repeat!important;border:1px solid #817446!important;color:#e1c77d!important;letter-spacing:.02em;font-family:Outfit,sans-serif}
html #arena-dummy-panel .rpg-btn:hover{background-image:var(--art-wood-hover)!important}
html #arena-dummy-panel .rpg-btn:focus-visible{outline:2px solid #e1c77d;outline-offset:2px}
html #arena-dummy-panel header{font-family:Cinzel,serif;border-bottom:1px solid #817446;padding-bottom:8px}

#arena-dummy-panel .dummy-lower-hp{grid-column:1 / -1}

html #arena-dummy-panel .rpg-btn[hidden]{display:none!important}
html #arena-dummy-panel .dummy-stop{grid-column:1 / -1}
html #arena-dummy-panel .dummy-stop:disabled{opacity:.75;cursor:default}

/* Keep ornaments and actions on the shell, while only the reward list scrolls. */
html body #season-claim-popup .season-claim-box{display:flex;flex-direction:column;padding:20px 18px 14px;overflow:hidden;max-height:calc(100dvh - 32px);width:min(390px,calc(100vw - 24px));min-height:0}
html body #season-claim-popup .season-claim-title{flex:none;margin:0 24px 12px;text-align:center}
html body #season-claim-popup .season-claim-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:6px;scrollbar-width:thin;scrollbar-color:#817446 #111a20}
html body #season-claim-popup .season-claim-ok{flex:none;margin-top:12px;width:100%;position:relative;z-index:62}
html body #season-claim-popup .season-claim-box::before,html body #season-claim-popup .season-claim-box::after{width:20px;height:20px;pointer-events:none}
html body #season-claim-popup .season-claim-preview{box-sizing:border-box}
#hotbar-tool-modes .hbm-art{display:block;width:24px;height:24px;object-fit:contain;image-rendering:pixelated;pointer-events:none}
.ultimate-picker-icon{display:block;width:64px;height:64px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}
.ultimate-choice-icon{width:32px;height:32px;object-fit:contain;image-rendering:pixelated;vertical-align:middle;margin-right:6px;pointer-events:none}
#spec-modal>div{max-height:calc(100dvh - 32px);overflow-y:auto;background-image:var(--art-stone);background-repeat:repeat;background-size:128px 128px;scrollbar-width:none}
#spec-modal>div::-webkit-scrollbar{display:none}
#spec-modal .ultimate-picker-card{position:relative;border:2px solid #4a3f25;background:#111a20 var(--art-wood-normal) repeat;background-size:64px 64px;border-radius:3px;padding:12px;display:flex;flex-direction:column;gap:8px;cursor:pointer}
#spec-modal .ultimate-picker-card:hover{border-color:#c9a35c;background-image:var(--art-wood-hover)}
#spec-modal .ultimate-picker-card:focus-visible{outline:2px solid #e1c77d;outline-offset:3px}
#spec-modal .ultimate-picker-card.selected{border-color:#e1c77d;background-image:var(--art-wood-selected);box-shadow:inset 0 0 0 2px #0d1416,inset 0 0 0 3px #c9a35c;cursor:default}
#spec-modal .ultimate-picker-card.selected::before,#spec-modal .ultimate-picker-card.selected::after{content:'';position:absolute;top:0;width:32px;height:32px;background-size:32px 32px;image-rendering:pixelated;pointer-events:none}
#spec-modal .ultimate-picker-card.selected::before{left:0;background-image:url('/assets/ui/ornaments/corner-tl-v1.png')}
#spec-modal .ultimate-picker-card.selected::after{right:0;background-image:url('/assets/ui/ornaments/corner-tr-v1.png')}
#spec-modal .ultimate-picker-card.selected .ultimate-picker-icon{outline:2px solid #c9a35c;outline-offset:2px}
#spec-modal .ultimate-picker-card.blocked{opacity:.5;cursor:default}

/* Reconnect dialog uses the same stone and fixed metal ornaments as the HUD. */
#reconnect-modal .rc-box{background-color:#111a20;background-image:url('/assets/ui/ornaments/corner-tl-v1.png'),url('/assets/ui/ornaments/corner-tr-v1.png'),url('/assets/ui/ornaments/corner-bl-v1.png'),url('/assets/ui/ornaments/corner-br-v1.png'),var(--art-stone);background-position:left top,right top,left bottom,right bottom,left top;background-size:32px 32px,32px 32px,32px 32px,32px 32px,128px 128px;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat;border-color:#c9a35c;border-radius:3px;color:#e7dfc5;image-rendering:pixelated;box-shadow:inset 0 0 0 2px #0d1416,0 8px 24px #0009}
#reconnect-modal .rc-title{color:#e1c77d;font-family:Cinzel,MedievalSharp,serif;font-weight:700}
#reconnect-modal .rc-sub{color:#aab6a7;font-family:Outfit,system-ui,sans-serif}
#reconnect-modal .rc-spin{border-color:#485660;border-top-color:#e1c77d}

/* Shared materials for skill details and the desktop shortcut menu. */
.reborn-tier-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:10px 0}
html body #win-rebornevolve{width:min(480px,calc(100vw - 24px));max-width:calc(100vw - 24px)}
#win-rebornevolve .win-body{min-width:0;max-width:none;max-height:65vh;overflow-y:auto;padding:14px}
.reborn-open-temple{width:100%;min-height:44px}
.reborn-evolve-drop{min-height:90px;display:flex;align-items:center;justify-content:center;padding:12px;border:2px dashed #9f71bc;background:#111a20 var(--art-stone) repeat;background-size:128px 128px;color:#cbb2db;font:500 13px/1.5 Outfit,system-ui,sans-serif;image-rendering:pixelated}
.reborn-evolve-drop.drag-over{border-color:#e1c77d;background-image:var(--art-wood-selected)}
.reborn-evolve-drop>div{width:100%;flex-wrap:wrap;background:transparent!important}
.reborn-evolve-drop>div>button{min-height:38px;margin-left:auto}
.reborn-evolve-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px;margin-top:14px}
.reborn-evolve-clear{display:block;min-height:36px;margin:8px 0 0 auto;padding:7px 16px}
.reborn-evolve-item{position:relative;min-height:58px;padding:8px;border:1px solid #53674e;background:#132b1f var(--art-wood) repeat;background-size:64px 64px;cursor:pointer;image-rendering:pixelated}
.reborn-evolve-item img{width:32px;height:32px;object-fit:contain;image-rendering:pixelated;pointer-events:none}
.reborn-evolve-item b{position:absolute;bottom:3px;right:4px;color:#e1c77d;font:700 11px/1 Outfit,sans-serif}
.reborn-evolve-item:hover{background-image:var(--art-wood-hover);border-color:#c9a35c}
.reborn-evolve-item.selected{background-image:var(--art-wood-selected);border-color:#e1c77d}
.reborn-evolve-item:focus-visible{outline:2px solid #e1c77d;outline-offset:2px}
html body .reborn-tier-tabs .reborn-tier-tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:116px;padding:14px 9px;border:1px solid #52634e!important;background:#132b1f var(--art-wood) repeat!important;background-size:128px 128px!important;color:var(--art-cream)!important;white-space:normal;text-transform:none;box-shadow:inset 0 0 0 2px #0d1416}
.reborn-tier-tab::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:url('/assets/ui/ornaments/corner-tl-v1.png'),url('/assets/ui/ornaments/corner-tr-v1.png'),url('/assets/ui/ornaments/corner-bl-v1.png'),url('/assets/ui/ornaments/corner-br-v1.png');background-position:left top,right top,left bottom,right bottom;background-size:20px 20px;background-repeat:no-repeat;image-rendering:pixelated}
.reborn-tier-rank{color:#c98bff;font:700 24px/1 Cinzel,serif}
.reborn-tier-tab b{font:700 12px/1.3 Cinzel,serif;overflow-wrap:anywhere}
.reborn-tier-tab small{font:500 10px/1.2 Outfit,system-ui,sans-serif;color:#aab6a7}
.reborn-tier-tab.unlocked small{color:#8fe08f}
html body .reborn-tier-tabs .reborn-tier-tab.locked{background-image:var(--art-stone)!important}
html body .reborn-tier-tabs .reborn-tier-tab.next{border-color:#9f71bc!important}
html body .reborn-tier-tabs .reborn-tier-tab.active{background-image:var(--art-wood-selected)!important;border-color:#e1c77d!important;box-shadow:inset 0 0 0 2px #0d1416,inset 0 -3px 0 #9f71bc}
html body .reborn-tier-tabs .reborn-tier-tab:hover{background-image:var(--art-wood-hover)!important;border-color:#c9a35c!important}
.reborn-tier-tab:focus-visible{outline:2px solid #e1c77d;outline-offset:2px}
.reborn-tier-details{margin:0 0 12px;padding:12px;background:#111a20 var(--art-stone) repeat;background-size:128px 128px;border:1px solid #9f71bc;image-rendering:pixelated}
.reborn-tier-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:#d8b1f4;font:700 13px/1.35 Cinzel,serif}
.reborn-tier-heading span{color:#e1c77d;font:500 11px/1.35 Outfit,system-ui,sans-serif}
.reborn-tier-bonuses{margin-top:8px;color:#e7dfc5;font:500 12px/1.5 Outfit,system-ui,sans-serif}
@media(max-width:600px){.reborn-tier-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.reborn-tier-tabs .reborn-tier-tab:last-child{grid-column:1/-1}}
html body #rewards-shortcuts{width:232px;padding:12px;gap:10px;background:#111a20 var(--art-stone) repeat;background-size:128px 128px}
html body #rewards-shortcuts .reward-shortcut{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:78px;padding:14px 18px;border:1px solid #647356!important;background:#132b1f var(--art-wood) repeat!important;background-size:128px 128px!important;color:var(--art-cream)!important;box-shadow:inset 0 0 0 2px #0d1416}
html body #rewards-shortcuts .reward-shortcut::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:url('/assets/ui/ornaments/corner-tl-v1.png'),url('/assets/ui/ornaments/corner-tr-v1.png'),url('/assets/ui/ornaments/corner-bl-v1.png'),url('/assets/ui/ornaments/corner-br-v1.png');background-size:24px 24px;background-position:left top,right top,left bottom,right bottom;background-repeat:no-repeat;image-rendering:pixelated}
html body #rewards-shortcuts .reward-shortcut:hover{background-image:var(--art-wood-hover)!important;border-color:var(--art-gold)!important}
html body #rewards-shortcuts .reward-shortcut.claimable{background-image:var(--art-wood-selected)!important;border-color:var(--art-gold)!important}
.reward-shortcut-title{display:flex;align-items:center;justify-content:center;gap:8px;font:700 16px/1.2 Cinzel,MedievalSharp,serif}
.reward-shortcut-title .reward-ui-icon{width:20px;height:20px;object-fit:contain;image-rendering:pixelated}
.reward-shortcut-count{min-width:20px;padding:2px 4px;box-sizing:border-box;border:1px solid #e1c77d;background:#3e2d17;color:#ffe49b;font:700 12px/1.2 Outfit,system-ui,sans-serif}
.reward-shortcut-status{font:500 12px/1.2 Outfit,system-ui,sans-serif;color:#aab6a7;text-transform:none;letter-spacing:0}
.reward-shortcut.claimable .reward-shortcut-status{color:#e1c77d;font-weight:700}
html body #skill-panel{background:#111a20 var(--art-stone) repeat;background-size:128px 128px;border-color:#c9a35c;border-radius:3px;color:#e7dfc5;font-family:Outfit,system-ui,sans-serif;image-rendering:pixelated;box-shadow:inset 0 0 0 1px #0d1416,0 8px 24px #0009}
#skill-panel .sp-name{color:#e1c77d;font-family:Cinzel,serif}
#skill-panel .sp-desc{border-color:#48554d;color:#e7dfc5}
#skill-panel .sp-kind,#skill-panel .sp-lvl{color:#aab6a7}
#skill-panel .sp-icon{border-color:#c9a35c;border-radius:2px;image-rendering:pixelated}
html body #menu-bar{background:#111a20 var(--art-stone) repeat!important;background-size:128px 128px!important;border-color:#c9a35c!important;image-rendering:pixelated}
html body #menu-bar .menu-btn{background:#152b20 var(--art-wood) repeat!important;background-size:64px 64px!important;border-color:#48554d!important;color:#e7dfc5!important}
html body #menu-bar .menu-btn:hover{background-image:var(--art-wood-hover)!important;border-color:#e1c77d!important}
html body #menu-bar .menu-btn:active,html body #menu-bar .menu-btn.active{background-image:var(--art-wood-selected)!important;border-color:#c9a35c!important}
html body #menu-bar .menu-btn:focus-visible{outline:2px solid #e1c77d;outline-offset:2px}

/* Class selection must override the normal material rule containing #char-create. */
html body #screen-chars #class-list .class-card{position:relative;cursor:pointer}
html body #screen-chars #class-list .class-card:hover{border-color:#c9a35c!important;background-image:var(--art-wood-hover)!important}
html body #screen-chars #class-list .class-card.selected{background:#15352c var(--art-wood-selected) repeat!important;background-size:64px 64px!important;border-color:#e1c77d!important;box-shadow:inset 0 0 0 2px #0d1416,inset 0 0 0 3px #c9a35c}
html body #screen-chars #class-list .class-card.selected::after{content:'✓';position:absolute;top:7px;right:9px;color:#e1c77d;font:700 16px/1 Outfit,system-ui,sans-serif;pointer-events:none}
html body #screen-chars #class-list .class-card:focus-visible{outline:2px solid #e1c77d;outline-offset:3px}
html body #screen-chars #char-create:has(#class-choice-preview:not(.hidden)){width:min(820px,calc(100vw - 32px))}
#char-create .class-choice-layout:has(#class-choice-preview:not(.hidden)){display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;align-items:start}
#class-choice-preview{box-sizing:border-box;padding:14px;border:2px solid #c9a35c;background:#111a20 var(--art-stone) repeat;background-size:128px 128px;color:#e7dfc5;text-align:center}
#class-choice-name{display:block;font:700 16px/1.4 Cinzel,serif;color:#e1c77d}
#class-choice-preview>small{display:block;color:#e1c77d;font:700 13px/1.5 Outfit,system-ui,sans-serif}
#class-choice-model{position:relative;width:100%;height:230px;image-rendering:pixelated}
#class-choice-model,#class-choice-model canvas{pointer-events:none}
#class-choice-gear{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
#class-choice-gear>span{position:relative;width:40px;height:44px;box-sizing:border-box;border:1px solid #48554d;background:#152b20 var(--art-wood) repeat;background-size:64px 64px}
#class-choice-gear img{width:32px;height:32px;image-rendering:pixelated}
#class-choice-gear small{position:absolute;left:0;right:0;bottom:0;background:#0d1416;color:#e1c77d;font:700 11px/13px Outfit,system-ui,sans-serif}
@media(max-width:700px){#char-create .class-choice-layout:has(#class-choice-preview:not(.hidden)){grid-template-columns:minmax(0,1fr)}#class-choice-model{height:190px}}
/* Training reports remain wheel/touch scrollable without visible scrollbars. */
.arena-dummy-hud .dummy-details{max-height:65vh;overflow:auto;scrollbar-width:none}
.arena-dummy-hud .dummy-details::-webkit-scrollbar{display:none}
.arena-dummy-hud .dummy-effects{margin-top:8px;font:12px/1.4 Outfit,system-ui,sans-serif;color:#e7dfc5}
.arena-dummy-hud .dummy-effects article{margin-top:6px;padding:6px;border:1px solid #66747c;background:var(--art-stone) repeat}
.graphics-section .audio-mute-label{display:flex;align-items:center;gap:8px;margin-top:10px}
.graphics-section .audio-mute-label input{width:18px;height:18px;flex:none;margin:0}
#minimap-zoom-controls{position:fixed;z-index:50;gap:4px;flex-direction:column}
#minimap-zoom-controls button{width:32px;height:32px;background:#132b1f var(--art-wood) repeat;border:1px solid #c9a35c;color:#e7dfc5;font:bold 22px serif;cursor:pointer;touch-action:manipulation;image-rendering:pixelated}
.atlas-zoom-controls{display:flex;align-items:center;gap:8px;margin:6px 0}
.atlas-zoom-controls[hidden],.atlas-map-viewport[hidden]{display:none!important}
.atlas-zoom-controls button{min-width:36px;min-height:36px;font-size:22px}
.atlas-map-viewport{width:min(600px,80vmin);height:min(600px,65dvh);overflow:auto;scrollbar-width:none;touch-action:pan-x pan-y;flex-shrink:0}
.atlas-map-viewport::-webkit-scrollbar{display:none}
html body .atlas-map-viewport .fullmap-canvas{max-width:none;max-height:none;border:0;border-radius:0}
.atlas-info-toggle[hidden]{display:none!important}
.mobile #fullmap{padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));box-sizing:border-box}
.mobile #fullmap .fullmap-box{position:relative;width:100%;height:100%;max-width:none;max-height:none;box-sizing:border-box;display:flex;flex-direction:column;gap:6px;padding:8px;min-height:0;overflow:visible}
.mobile #fullmap .fullmap-head{margin:0;min-height:44px;flex-shrink:0;font-size:16px}
.mobile #fullmap .atlas-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0;flex-shrink:0}
.mobile #fullmap .atlas-tabs button{min-height:44px;padding:6px;font-size:12px;white-space:normal}
.mobile #fullmap .atlas-zoom-controls{margin:0;flex-shrink:0;gap:6px}
.mobile #fullmap .atlas-zoom-controls button{min-width:44px;min-height:44px;padding:4px 10px}
.mobile #fullmap .atlas-center-player{margin-left:auto;font-size:12px}
.mobile #fullmap .atlas-map-viewport{width:100%!important;height:auto!important;flex:1 1 0;min-height:0;min-width:0;display:flex;background:#111a20 var(--art-stone) repeat}
.mobile #fullmap .fullmap-canvas{margin:auto;flex:0 0 auto}
.mobile #fullmap .atlas-info-toggle{flex-shrink:0;min-height:44px;font-size:12px}
.mobile #fullmap .fullmap-lm{position:absolute;z-index:2;bottom:62px;left:8px;right:8px;width:auto;max-width:none;max-height:50dvh;overflow:auto;padding:12px;margin:0;box-sizing:border-box;background:#111a20 var(--art-stone) repeat;border:1px solid var(--art-gold);font-size:12px}
.mobile #fullmap .lm-towers div{grid-template-columns:1fr;gap:2px;padding:6px 0}
.mobile #fullmap .world-atlas{flex:1;min-height:0;min-width:0;overflow:auto;padding:0;display:flex;flex-direction:column;gap:8px}
.mobile #fullmap .world-atlas[hidden]{display:none}
.mobile #fullmap .atlas-layout{grid-template-columns:1fr;gap:8px;order:0}
.mobile #fullmap .atlas-chart{height:clamp(180px,42dvh,320px);min-height:0}
.mobile #fullmap .atlas-globe-regions{display:grid;grid-template-columns:1fr 1fr;gap:6px;order:1;margin:0}
.mobile #fullmap .atlas-globe-regions button{min-height:44px;font-size:12px;white-space:normal;padding:6px}
.mobile #fullmap .atlas-home{order:2;margin:0}
.mobile #fullmap .world-atlas>small{order:3}
.mobile #fullmap .atlas-region-art{height:80px}
@media(orientation:landscape){
 .mobile #fullmap .fullmap-box{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:44px 44px minmax(0,1fr) 44px}
 .mobile #fullmap .fullmap-head{grid-column:1 / -1;grid-row:1}
 .mobile #fullmap .atlas-tabs{grid-column:1;grid-row:2}
 .mobile #fullmap .atlas-zoom-controls{grid-column:2;grid-row:2}
 .mobile #fullmap .atlas-map-viewport{grid-column:1 / -1;grid-row:3}
 .mobile #fullmap .atlas-info-toggle{grid-column:1 / -1;grid-row:4}
 .mobile #fullmap .world-atlas{grid-column:1 / -1;grid-row:3 / 5}
 .mobile #fullmap .world-map-open .atlas-tabs{grid-column:1 / -1}
 .mobile #fullmap .atlas-layout{grid-template-columns:minmax(0,1.2fr) minmax(180px,1fr)}
 .mobile #fullmap .atlas-globe-regions{grid-template-columns:repeat(3,minmax(0,1fr))}
 .mobile #fullmap .atlas-chart{height:clamp(180px,62dvh,320px)}
}
.reward-ui-icon{display:inline-block;width:24px;height:24px;object-fit:contain;image-rendering:pixelated;vertical-align:middle;flex-shrink:0;pointer-events:none}
#win-rewards .dj-medal>.reward-ui-icon{width:44px;height:44px}
#win-rewards .dj-flame .reward-ui-icon{width:32px;height:32px}
#win-rewards .dj-ck .reward-ui-icon{width:24px;height:24px}
#win-rewards .dj-ck{background:none;border:0;box-shadow:none;font-style:normal}
#win-rewards .win-title .reward-ui-icon{width:22px;height:22px}
.lb-category-icon{display:inline-block;width:24px;height:24px;object-fit:contain;image-rendering:pixelated;vertical-align:middle;pointer-events:none;flex-shrink:0}
#win-lb .lb-val .lb-category-icon{width:20px;height:20px}
#win-lb .win-title .lb-category-icon{width:24px;height:24px}
#interact-prompt .ip-key{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 8px;background:transparent url('/assets/ui/interaction/keycap-v1.png') center/100% 100% no-repeat;border:0;border-radius:0;box-shadow:none;animation:none;image-rendering:pixelated;color:#30210e;font-size:16px}
#interact-prompt .ip-lbl{display:flex;align-items:center;justify-content:center;gap:3px;min-width:112px;min-height:40px;padding:6px 22px;background:transparent url('/assets/ui/interaction/label-v1.png') center/100% 100% no-repeat;border:0;border-radius:0;image-rendering:pixelated;color:#e7dfc5;text-shadow:1px 1px #0d1416}
#interact-prompt .ip-art{width:28px;height:28px;object-fit:contain;image-rendering:pixelated;pointer-events:none;flex-shrink:0}

/* Character values: fixed ornamental corners and distinct material roles. */
#win-char .character-combat .combat-cell,
#win-char .character-attributes .character-stat-grid .stat-row{
 --stat-material:var(--art-stone);--stat-tint:#172a34;--stat-edge:#7298a4;
 background-color:var(--stat-tint)!important;
 background-image:url('/assets/ui/ornaments/corner-tl-v1.png'),url('/assets/ui/ornaments/corner-tr-v1.png'),url('/assets/ui/ornaments/corner-bl-v1.png'),url('/assets/ui/ornaments/corner-br-v1.png'),var(--stat-material)!important;
 background-size:16px 16px,16px 16px,16px 16px,16px 16px,96px 96px!important;
 background-position:left top,right top,left bottom,right bottom,center!important;
 background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat!important;
 background-blend-mode:normal,normal,normal,normal,luminosity;
 border:1px solid var(--stat-edge)!important;border-left:3px solid var(--stat-edge)!important;border-radius:0;
 box-shadow:inset 0 0 0 3px #0d141680;image-rendering:pixelated;
}
#win-char .character-combat .combat-cell[data-tone="attack"]{--stat-material:var(--art-wood);--stat-tint:#34261c;--stat-edge:#ba865a}
#win-char .character-combat .combat-cell[data-tone="defense"]{--stat-tint:#142b36;--stat-edge:#699dab}
#win-char .character-attributes .stat-row[data-stat="STR"]{--stat-material:var(--art-wood);--stat-tint:#34261c;--stat-edge:#ba865a}
#win-char .character-attributes .stat-row[data-stat="VIT"]{--stat-tint:#172c35;--stat-edge:#699dab}
#win-char .character-attributes .stat-row[data-stat="DEX"]{--stat-material:var(--art-wood-selected);--stat-tint:#1b3425;--stat-edge:#89a76f}
#win-char .character-attributes .stat-row[data-stat="INT"]{--stat-tint:#2c2035;--stat-edge:#9d81ad}
#win-char .character-attributes.character-section{background:#15291e var(--art-page) repeat!important;border-color:#62754d}
#win-char .character-attributes .stat-pts-row.has{background:#26391f var(--art-wood-selected) repeat!important;border:1px solid #a7a36a!important}
#win-char .character-combat .cc-k{color:#e7dfc5}
#win-char .ultimate-slot-required,#win-skills .ultimate-slot-required{color:#d0b578;font-size:11px;line-height:1.4}
#siege-bar>b{display:flex;align-items:center;justify-content:center;gap:6px}
#siege-bar .siege-heading-icon{width:24px;height:24px;object-fit:contain;image-rendering:pixelated;flex:none}
.cos-category-art{display:inline-block;width:24px;height:24px;object-fit:contain;image-rendering:pixelated;vertical-align:middle;flex-shrink:0;pointer-events:none}
.cos-item-art{display:block;width:64px;height:64px;object-fit:contain;image-rendering:pixelated;pointer-events:none}
.wd-grid .cos-static-icon{min-height:72px}
.cos-badgeFx{height:24px;width:auto;max-width:none;object-fit:contain;vertical-align:middle;image-rendering:pixelated;margin-right:4px}
.premium-zoom-stage .cos-badgeFx{height:48px;width:auto;margin-right:8px}
@media(max-width:600px){.premium-zoom-stage .cos-badgeFx{height:40px}}
.cos-preview-identity{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.cos-preview-identity>.cos-badgeFx{margin-right:0}
.cos-clan-tag{color:#ffffff}
.cos-preview-identity .cos-preview-title{font-size:10px;line-height:1.3}
.premium-zoom-stage .cos-preview-identity .cos-preview-title{font-size:clamp(16px,2.5vw,20px)}
/* A skill reward lights the shared showroom without covering its item or description. */
.evolve-result-box .skill-unlocked-showroom{isolation:isolate}
.skill-unlocked-showroom .evolve-gold-light{position:absolute;inset:12px;z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 43%,#ffe6a680 0%,#c9a35c45 28%,#c9a35c00 68%);animation:evolveGoldBreathe 4s ease-in-out infinite}
.skill-unlocked-showroom .evolve-gold-rays{position:absolute;width:180px;height:180px;left:calc(50% - 90px);top:calc(43% - 90px);z-index:0;pointer-events:none;animation:evolveGoldTurn 36s linear infinite}
.evolve-gold-rays i{position:absolute;left:80px;top:5px;width:20px;height:76px;transform-origin:10px 85px;transform:rotate(var(--ray-angle));background:#e1c77d;opacity:.3;clip-path:polygon(0 0,100% 0,100% 18%,80% 18%,80% 48%,65% 48%,65% 75%,55% 75%,55% 100%,45% 100%,45% 75%,35% 75%,35% 48%,20% 48%,20% 18%,0 18%)}
.evolve-result-box .skill-unlocked-showroom>img{z-index:1}
@keyframes evolveGoldTurn{to{transform:rotate(360deg)}}
@keyframes evolveGoldBreathe{0%,100%{opacity:.65}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.skill-unlocked-showroom .evolve-gold-rays,.skill-unlocked-showroom .evolve-gold-light{animation:none}}
/* Compact ornament frames for the character bonus and skill containers. */
#win-char :is(.char-tab-content[data-tab="bonus"] .stat-row,.set-bonus-block,.cs-skill,.char-guild-skill){position:relative;border:1px solid #8f7b4d!important;border-radius:0!important;box-shadow:inset 0 0 0 2px #0d1416,inset 0 0 0 3px #3c4e46}
#win-char :is(.char-tab-content[data-tab="bonus"] .stat-row,.set-bonus-block,.cs-skill,.char-guild-skill)::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:url('/assets/ui/ornaments/corner-tl-v1.png'),url('/assets/ui/ornaments/corner-tr-v1.png'),url('/assets/ui/ornaments/corner-bl-v1.png'),url('/assets/ui/ornaments/corner-br-v1.png');background-position:left top,right top,left bottom,right bottom;background-size:14px 14px;background-repeat:no-repeat;image-rendering:pixelated}
#win-char .set-bonus-block{border-color:#c9a35c!important;box-shadow:inset 0 0 0 2px #0d1416,inset 0 0 0 3px #52634e}
#win-char .set-bonus-block::after{background-size:18px 18px}
#win-char .cs-skill.maxed{border-color:#e1c77d!important;box-shadow:inset 0 0 0 2px #0d1416,inset 0 0 0 3px #8f7b4d}
#win-char .cs-skill:hover{border-color:#e1c77d!important;background-image:var(--art-wood-hover)!important}
#win-char .cs-skill:is(.locked,.unlearned),#win-char .char-guild-skill{border-color:#66747c!important}
#win-char .char-tab-content[data-tab="bonus"] .stat-row.is-zero{border-color:#48554d!important}
/* Pick the intended actor when several players overlap beneath the cursor. */
html body .ctx-menu.player-target-picker{width:min(280px,calc(100vw - 24px));min-width:0;box-sizing:border-box;border-radius:0;border-color:#c9a35c;background:#111a20 var(--art-stone) repeat!important;background-size:96px 96px!important;scrollbar-width:none}
.player-target-picker::-webkit-scrollbar{display:none}
html body .player-target-picker button{min-height:40px;margin-top:4px;white-space:normal;overflow-wrap:anywhere;background:#152b20 var(--art-wood) repeat!important;background-size:96px 96px!important;color:#e7dfc5!important;border:1px solid #52634e;border-radius:0;line-height:1.4;text-transform:none}
html body .player-target-picker button:is(:hover,:focus-visible){background-image:var(--art-wood-hover)!important;border-color:#e1c77d;outline:1px solid #e1c77d;outline-offset:-3px}
/* Caravan ambush controls reuse the existing wood and stone materials. */
.cv-tactics{margin:10px 0;padding:10px;border:1px solid #52634e;background:#111a20 var(--art-stone) repeat;color:#e7dfc5}
.cv-tactics small{display:block;margin-top:8px;line-height:1.45;color:#aab6a7}
.cv-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.cv-actions button,.cv-invite{min-height:44px;white-space:normal;overflow-wrap:anywhere}
.cv-invite{display:block;width:100%;margin-top:8px}
#caravan-hidden-banner{position:fixed;z-index:180;top:calc(env(safe-area-inset-top,0px) + 56px);left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 24px);box-sizing:border-box;padding:8px;display:flex;gap:8px;align-items:center;border:1px solid #c9a35c;background:#111a20 var(--art-stone) repeat;color:#e7dfc5;font-family:Outfit,sans-serif}
#caravan-hidden-banner span{overflow-wrap:anywhere;min-width:0}
#caravan-hidden-banner[hidden]{display:none}
#caravan-hidden-banner button{min-height:44px;white-space:normal;flex-shrink:0}
.mobile #caravan-hidden-banner{width:calc(100vw - 24px)}
.mobile #caravan-hidden-banner span{flex:1}
.mobile #caravan-hidden-banner button{max-width:48%}
.cv-rider{border-color:#c9a35c!important;background-image:var(--art-wood)!important}
.cv-journey{margin:10px 0;padding:10px;border:1px solid #52634e;background:#111a20 var(--art-stone) repeat;color:#e7dfc5;display:flex;flex-direction:column;gap:8px}
.cv-journey h3{margin:0;color:#e1c77d}
.cv-journey small{display:block;color:#aab6a7;line-height:1.45}
.cv-journey button{min-height:44px;white-space:normal;overflow-wrap:anywhere}
.cv-route-choices{display:grid;gap:6px}
.cv-route-choices label{display:block;min-height:44px;padding:8px;border:1px solid #52634e;background:#152b20 var(--art-wood) repeat;box-sizing:border-box;cursor:pointer}
.cv-route-choices input{accent-color:#e1c77d}
.cv-route-choices label:hover{background-image:var(--art-wood-hover);border-color:#e1c77d}
.cv-route-choices label:has(input:checked){background-image:var(--art-wood-selected);border-color:#e1c77d}
.cv-route-choices label:has(input:disabled){opacity:.5;cursor:default}
.cv-route-choices input:focus-visible{outline:2px solid #e1c77d;outline-offset:3px}
.cv-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:12px}
.cv-tabs .cv-tab{min-width:0;min-height:38px;white-space:normal;background:var(--art-wood) repeat;border:1px solid var(--art-edge);transform:none!important}
.cv-tabs .cv-tab.active{background:var(--art-wood-selected) repeat;border-color:var(--art-gold);color:var(--art-gold)}
.cv-tab-panel[hidden]{display:none!important}
.cv-journey-summary{display:flex;flex-direction:column;gap:5px;line-height:1.45}
.cv-alarm{font-size:16px;line-height:1.4;text-align:center;color:#e1c77d;max-width:calc(100vw - 64px)}
.mobile #win-caravan .cv-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.mobile #win-caravan .cv-slot{width:auto;min-width:0}

/* Clan cards reuse the small metal corners without covering interactive content. */
html .win#win-guild :is(.gs-skill,.fr-row,.guild-shop .gs-row){position:relative;border:1px solid #8f7b4d!important;border-radius:0!important;background:#111a20 var(--art-stone) repeat!important;background-size:64px 64px!important;box-shadow:inset 0 0 0 2px #0d1416,inset 0 0 0 3px #3c4e46!important}
html .win#win-guild :is(.gs-skill,.fr-row,.guild-shop .gs-row)::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:url('/assets/ui/ornaments/corner-tl-v1.png'),url('/assets/ui/ornaments/corner-tr-v1.png'),url('/assets/ui/ornaments/corner-bl-v1.png'),url('/assets/ui/ornaments/corner-br-v1.png');background-position:left top,right top,left bottom,right bottom;background-size:12px 12px;background-repeat:no-repeat;image-rendering:pixelated}
html .win#win-guild .gs-skill:not(.on){border-color:#66747c!important}
html .win#win-guild .gs-skill.on{border-color:#c9a35c!important}
html .win#win-guild .fr-row.on{background-color:#152b20!important;border-color:#7c995c!important}
html .win#win-guild .fr-row.off{border-color:#66747c!important}
/* Provisional Angel dungeon sequence: the chamber is a temporary pixel-art scene. */
#angel-scene{position:fixed;inset:0;z-index:90;pointer-events:none;color:#e7dfc5;font-family:Outfit,sans-serif;isolation:isolate}
#angel-scene>canvas{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;pointer-events:none}
#angel-scene.is-chamber{z-index:140;pointer-events:auto}
#angel-scene .angel-scene-caption{position:absolute;top:9%;left:50%;transform:translateX(-50%);width:min(640px,calc(100% - 32px));text-align:center;text-shadow:2px 2px #0d1416;transition:opacity 1.5s}
#angel-scene h2{font:700 clamp(20px,3vw,34px)/1.3 Cinzel,serif;color:#e1c77d;margin:0 0 8px}
#angel-scene p{font-size:clamp(14px,2vw,20px);margin:6px 0}
#angel-scene small{display:inline-block;font-size:26px;color:#fff0c5;opacity:var(--angel-pulse,1);font-variant-numeric:tabular-nums}
#angel-scene .angel-runes{position:absolute;top:58%;left:50%;transform:translateX(-50%);display:none;gap:clamp(18px,7vw,82px)}
#angel-scene[data-stage=puzzle] .angel-runes{display:flex}
html body #angel-scene .angel-runes button{width:64px;height:64px;padding:0;font-size:32px;border:2px solid #8f7b4d;border-radius:0;background:#132b1f var(--art-wood) repeat!important;pointer-events:auto;color:#e7dfc5}
html body #angel-scene .angel-runes button.active{opacity:1;filter:none;color:#e1c77d;border-color:#e1c77d;background-image:var(--art-wood-selected)!important;box-shadow:0 0 0 3px #c9a35c40}
#angel-scene .angel-leave{position:absolute;bottom:5%;right:5%;pointer-events:auto;display:none}
#angel-scene.is-chamber .angel-leave{display:block}
#angel-scene.victory-finished .angel-scene-caption,#angel-scene.chapter-finished .angel-scene-caption{opacity:0}
#angel-scene[data-stage=boss-intro]{background:#0d141670}
#angel-demo-controls{position:fixed;bottom:12px;left:12px;z-index:160;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100vw - 24px)}
#angel-demo-controls button{min-height:40px}
@media(max-width:600px){#angel-scene .angel-runes{gap:24px}#angel-scene .angel-runes button{width:52px;height:52px}#angel-scene .angel-scene-caption{top:10%}#angel-scene h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){#angel-scene .angel-scene-caption{transition:none}}
#angel-scene .angel-spirit-line{position:absolute;transform:translate(-50%,-100%);max-width:220px;padding:5px 9px;border:1px solid #8f7b4d;background:#111a20e8;color:#e7dfc5;text-align:center;font:13px/1.3 Outfit,sans-serif;pointer-events:none}
body.angel-demo-mode>header,body.angel-demo-mode>#preview-status{display:none!important}
@media(max-width:600px){#angel-demo-controls{display:grid;grid-template-columns:1fr 1fr;right:12px}#angel-demo-controls button{font-size:10px;padding:6px;letter-spacing:0;min-width:0}#angel-scene.angel-preview .angel-leave{bottom:120px;right:12px;font-size:11px}}
#angel-scene>canvas.angel-bloom{image-rendering:auto;mix-blend-mode:screen;pointer-events:none}
#angel-demo-clock{grid-column:1/-1;align-self:center;display:block;padding:6px 9px;background:#111a20;color:#e1c77d;font:13px/1.2 Outfit,sans-serif;font-variant-numeric:tabular-nums}
/* Sanctuary controls sit above gameplay without intercepting movement outside buttons. */
#angel-sanctuary-hud{position:fixed;inset:0;pointer-events:none;z-index:95;font-family:Outfit,sans-serif;color:#e7dfc5}
#angel-sanctuary-hud .angel-ritual-title{position:absolute;top:14px;left:50%;transform:translateX(-50%);width:min(380px,78vw);text-align:center;padding:5px 12px;background:#111a20e8 url('/assets/ui/clan/panel-texture-v1.png') repeat;border:1px solid #8f7b4d;box-sizing:border-box}
#angel-sanctuary-hud small{font-size:8px;letter-spacing:2px;color:#c9a35c}
#angel-sanctuary-hud h2{font-family:Cinzel,serif;font-size:16px;color:#e1c77d;margin:2px 0}
#angel-sanctuary-hud p{font-size:11px;margin:2px 0}
#angel-sanctuary-hud output{font-size:18px;color:#fff0c5;letter-spacing:5px}
#angel-sanctuary-hud time{font:700 19px Outfit,sans-serif;color:#e1c77d;font-variant-numeric:tabular-nums}
#angel-sanctuary-hud .angel-ritual-controls{position:absolute;bottom:145px;left:50%;transform:translateX(-50%);padding:10px 15px;text-align:center;background:#111a20 url('/assets/ui/clan/panel-texture-v1.png') repeat;border:1px solid #8f7b4d}
#angel-sanctuary-hud .angel-ritual-controls[hidden]{display:none}
#angel-sanctuary-hud .angel-ritual-controls div{display:flex;gap:10px}
#angel-sanctuary-hud button{pointer-events:auto;width:50px;height:48px;font-size:25px;touch-action:manipulation}
#angel-sanctuary-hud button[hidden]{display:none!important}
#angel-sanctuary-preview{position:fixed;inset:0;z-index:89;background:#0d1416}
#angel-sanctuary-preview canvas{width:100%;height:100%;image-rendering:pixelated}
@media(max-height:550px),(max-width:600px){#angel-sanctuary-hud .angel-ritual-title{top:22px;width:min(540px,78vw);padding:5px 10px}#angel-sanctuary-hud h2{font-size:17px}#angel-sanctuary-hud small{font-size:8px;letter-spacing:1px}#angel-sanctuary-hud p{font-size:11px}#angel-sanctuary-hud output{font-size:20px}#angel-sanctuary-hud .angel-ritual-controls{bottom:100px;padding:5px 10px}#angel-sanctuary-hud button{width:44px;height:44px}}
@media(max-height:550px) and (min-width:601px){#angel-sanctuary-hud .angel-ritual-title{left:12px;top:12px;transform:none;width:230px}#angel-sanctuary-hud .angel-ritual-controls{left:auto;right:12px;bottom:100px;transform:none}#angel-demo-controls button{font-size:10px;min-height:32px;padding:5px 8px;letter-spacing:0}}
#angel-rune-boon{position:fixed;left:16px;top:110px;z-index:96;max-width:260px;padding:8px 10px;border:1px solid #8f7b4d;background:#111a20 url('/assets/ui/clan/panel-texture-v1.png');color:#e7dfc5;font-size:12px;pointer-events:none;box-sizing:border-box}#angel-rune-boon[hidden]{display:none!important}@media(max-width:700px){#angel-rune-boon{top:auto;bottom:220px;left:8px;max-width:210px;font-size:11px;padding:5px 7px}}@media(max-height:550px){#angel-rune-boon{top:170px;bottom:auto;max-width:220px;font-size:11px}}
#angel-judgment{position:fixed;inset:0;z-index:180;pointer-events:none;display:grid;place-items:center;isolation:isolate}#angel-judgment .angel-judgment-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%,rgba(12,18,29,.12) 12%,rgba(9,12,23,.65) 58%,rgba(3,2,6,.97) 100%);box-shadow:inset 0 0 95px 20px #340b18;animation:angel-vignette 1.1s ease-out both;animation-delay:var(--angel-arrival-delay,0ms)}#angel-judgment img{position:relative;width:min(370px,52vw);max-height:72vh;object-fit:contain;image-rendering:pixelated;transform:translateY(-6vh);animation:angel-reveal 1.5s ease-out both;animation-delay:var(--angel-arrival-delay,0ms)}#angel-judgment .angel-judgment-words{position:absolute;bottom:7vh;left:12px;right:12px;text-align:center;color:#e7dfc5;text-shadow:2px 2px #08090e,-2px -2px #08090e}#angel-judgment small{color:#c9a35c;letter-spacing:.22em;font-size:11px}#angel-judgment h2{margin:8px 0;font-family:Georgia,serif;font-size:clamp(24px,4vw,42px);color:#eee1cc}#angel-judgment p{font-size:13px;margin:8px auto;max-width:420px}#angel-judgment[data-phase=doomed] .angel-judgment-vignette{box-shadow:inset 0 0 160px 50px #590f20;background:radial-gradient(ellipse,rgba(38,6,16,.25),rgba(3,2,6,.98));animation:angel-impact .65s ease-out both}#angel-judgment[data-phase=doomed] p{color:#ed8b86;font-size:19px;font-weight:bold}#angel-judgment[data-phase=doomed] img{animation:none;transform:translateY(-6vh)}@keyframes angel-reveal{from{opacity:0;transform:translateY(-12vh) scale(.82)}to{opacity:1;transform:translateY(-6vh) scale(1)}}@keyframes angel-vignette{from{opacity:0}to{opacity:1}}@keyframes angel-impact{from{opacity:.45}to{opacity:1}}@media(max-height:550px){#angel-judgment img{max-height:73vh;width:auto;max-width:48vw;transform:translateY(-6vh)}#angel-judgment .angel-judgment-words{bottom:3vh}#angel-judgment h2{font-size:24px;margin:3px 0}#angel-judgment p{font-size:11px;margin:3px auto}}@media(prefers-reduced-motion:reduce){#angel-judgment img,#angel-judgment .angel-judgment-vignette{animation:none!important}}
/* Boss contributions occupy the free left side, independent of the centered target HP. */
html body #target-contributions{position:fixed;left:12px;top:clamp(110px,21vh,190px);width:clamp(220px,23vw,280px);box-sizing:border-box;margin:0;padding:12px;border:1px solid #8f7b4d;background:#111a20 var(--art-stone) repeat;background-size:96px 96px;color:#e7dfc5;box-shadow:inset 0 0 0 2px #0d1416,3px 3px 0 #0d141680;z-index:35;pointer-events:none;image-rendering:pixelated}
#target-contributions::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:url('/assets/ui/ornaments/corner-tl-v1.png'),url('/assets/ui/ornaments/corner-tr-v1.png'),url('/assets/ui/ornaments/corner-bl-v1.png'),url('/assets/ui/ornaments/corner-br-v1.png');background-position:left top,right top,left bottom,right bottom;background-size:16px 16px;background-repeat:no-repeat}
#target-contributions .boss-top-heading{padding-bottom:6px;margin-bottom:4px;border-bottom:1px solid #8f7b4d66;flex-wrap:wrap}
@media(max-width:600px){html body #target-contributions{left:8px;top:clamp(120px,24vh,170px);width:min(220px,calc(100vw - 16px));padding:9px}#target-contributions .boss-top-row{min-height:25px;font-size:11px}}

/* In Sanctuarul Ingerului bara de sus (ritual) nu mai acopera bara de HP a tintei */
body:has(#angel-sanctuary-hud) #hud-target{top:var(--angel-hud-bottom,112px)!important}
