/* Selected partner, separate collection, right action list, and account bar:
   our generated Naruto artwork and shared scroll layouts. */
#scr-menu{padding:18px 26px 12px;isolation:isolate;background:transparent;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:14px;overflow:hidden}
#scr-menu:before{content:'';position:fixed;inset:0;background:#091a1326;z-index:-1;pointer-events:none}
.village-topbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:44px;flex:none;max-width:100%}
.resource-pill,.topbar-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:7px 12px;background:#17271feb;border:2px solid #919478;color:#f4ebd0;font-size:17px;line-height:1.1;box-shadow:2px 3px 0 #0b1712}
.resource-pill b{font-size:21px}.resource-pill img{width:24px;height:24px}.topbar-button:hover{background:#344735;border-color:#dfd2a5}.topbar-button:disabled{opacity:.5;cursor:default}
#account-open{border-color:#d2bd87;min-width:88px}#account-label{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shinobi-menu{width:100%;max-width:1420px;flex:1;min-height:0;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 350px;column-gap:54px;align-items:stretch}
.menu-left{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;text-align:center;padding-bottom:16px}
.menu-brand{margin:0 0 26px;text-shadow:3px 4px 0 #101f18}
.menu-brand>p{font-size:13px;letter-spacing:4px;color:#e8d3a3;margin:0 0 12px}
.menu-brand h1{font-size:clamp(40px,4.5vw,68px);line-height:.95;margin:0;font-weight:700;color:#f9eed0;letter-spacing:-1px}
.menu-brand h1 em{font-style:normal;color:#f6a34b}
.menu-brand-sub{display:block;font-size:16px;letter-spacing:5px;color:#e1dfc2;margin-top:13px}
.shinobi-display{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:480px}
.shinobi-stage{display:grid;place-items:center;width:300px;height:224px;max-width:100%;border:3px solid #c87b41;background:#17271fe8;box-shadow:inset 0 0 0 3px #57604b,4px 5px 0 #0b1712;position:relative;padding:0;transition:border-color .1s}
.shinobi-stage:hover{border-color:#f0bd79;background:#223429f2}
#hero-preview{display:block;width:216px;height:216px;max-width:100%;aspect-ratio:1;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(3px 4px 0 #0d1d1380)}
.shinobi-profile{min-width:0;width:100%;color:#f4edda;text-shadow:2px 2px 0 #0a1d13}
#hero-name{font-size:32px;line-height:1.1;margin:0 0 4px;text-wrap:balance}
#hero-role{font-size:18px;line-height:1.2;color:#dbd8b5;margin:0 0 10px}
.starting-jutsu{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.menu-label{font-size:16px;color:#b9c8ad}
#hero-start{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;font-size:20px;line-height:1.2;margin:0}
.opening-move{display:inline-flex;align-items:center;gap:6px}.opening-move img{width:24px;height:24px}.opening-extra{display:none}
.ability-preview{display:inline-flex;justify-content:center;gap:8px;align-items:center;padding:7px 10px;margin-top:8px;background:#17271fcc;border:1px solid #869173;color:#ebe8cf;font-size:17px;min-height:36px}
.ability-preview strong{font-weight:400;color:#ebc288}.ability-preview>span{display:none}.ability-preview small{font-size:16px;color:#c6d2b7}.ability-preview:hover{background:#344735}
#character-status{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}
.menu-right{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0}
.menu-actions{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#777b60 #e9dfbf;border:solid transparent;border-width:38px 24px 34px;border-image:url('../assets/pixel-v2/scroll-safe-lossless/ivory.png') 284 144 242 144 fill / 38px 24px 34px / 0 stretch;padding:0 2px;filter:drop-shadow(3px 4px 0 #0c1710)}
.menu-item{display:flex;align-items:center;gap:15px;width:100%;min-height:70px;padding:11px 7px;border:0;border-bottom:1px solid #b7ae8b66;background:transparent;color:#363b2e;text-align:left;transition:background .1s,transform .1s steps(2,end)}
.menu-item:last-child{border-bottom:0}.menu-item:hover{background:#d8d0ad80}.menu-item:active{transform:translateY(2px)}
.menu-item-icon{display:grid;place-items:center;flex:0 0 28px;width:28px}.menu-item-icon img{width:28px;height:28px}
.menu-action-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.menu-action-copy strong{font-size:27px;line-height:1.05;font-weight:700}.menu-action-copy small{font-size:16px;line-height:1.2;color:#68694f}
.menu-play{color:#9d4422;min-height:79px}.menu-play .menu-action-copy strong{font-size:31px}.menu-play small{color:#795b3a}.menu-play:hover{background:#d3b67a55}.menu-play:disabled{opacity:.55;cursor:wait}
.menu-record{flex:none;padding:13px 16px;border:2px solid #a7aa87;background:#17271fee;box-shadow:3px 4px 0 #0c1710}.menu-record p{font-size:16px;color:#ece6c9;line-height:1.35;margin:0}.menu-record p+p{font-size:15px;color:#bccab0;margin-top:4px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.menu-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;flex:none;color:#c5cfb9;font-size:14px;text-shadow:2px 2px 0 #12271a;min-height:22px}.menu-footer p{font-size:14px;margin:0;line-height:1.3}.menu-footer button{padding:3px 0;background:none;color:#d1d6bc;border:0;text-align:right;font-size:14px;text-decoration:underline;text-underline-offset:3px}.touch-controls{display:none}
#scr-menu button:focus-visible{outline:3px solid #f4c283;outline-offset:3px}
/* Every collection and recruitment view inherits the generated-paper popup. */
#character-select{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}
#character-select .character-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:152px;padding:14px 8px;background:#e9dfbf;border:2px solid #b0a781;color:#343b2b;text-align:center;box-shadow:none}
#character-select .character-card canvas{width:64px;height:64px;grid-row:auto;image-rendering:pixelated}
#character-select .character-card span{font-size:20px;line-height:1.15}#character-select .character-card small{font-size:16px;color:#666b51;line-height:1.2}
#character-select .character-card[aria-pressed=true]{background:#354532;border-color:#5d704a;color:#fff0d2}#character-select .character-card[aria-pressed=true] small{color:#dfddbc}
#character-select .character-card[data-locked=true] canvas{filter:none;opacity:1}#character-select .character-card[data-locked=true]{background:#ded8c0;color:#66634f;border-style:dashed}#character-select .character-card:hover{border-color:#8f512e;background:#e3d3ab}
#character-select .character-card[data-state=loading]{border-color:#a6562d}#character-select .character-card[data-state=error]{border-color:#963d2c}
#collection-detail{border-left:3px solid #8c7955;padding:6px 0 6px 14px;min-height:2.8em}
.hero-stats{display:flex;justify-content:space-around;gap:20px;margin:20px 0;padding:14px;border:1px solid #b4aa89;background:#e5ddc0;color:#64624f;font-size:17px;text-align:center}.hero-stats b{display:block;font-size:28px;color:#34332b}
#recruitment-pool{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}#recruitment-pool>span{display:flex;align-items:center;gap:8px;border:1px solid #b4aa89;background:#e5ddc0;padding:8px 12px;font-size:19px}#recruitment-pool canvas{width:40px;height:40px;image-rendering:pixelated}
#recruitment-result:not(:empty){display:flex;align-items:center;gap:16px;background:#dce2c6;border:2px solid #899970;padding:18px;font-size:25px;margin:18px 0}#recruitment-result canvas{width:80px;height:80px;image-rendering:pixelated}
#recruitment-balance{font-size:26px!important;font-weight:700}#recruitment-rules{max-width:760px}
#starter-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}#starter-choices button{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 14px;background:#e8ddbd;border:2px solid #aca17b;color:#343b2b;font-size:23px}#starter-choices canvas{width:80px;height:80px;image-rendering:pixelated}#starter-choices small{font-size:18px;line-height:1.3}#starter-choices [aria-pressed=true]{border-color:#9d512b;background:#dfc99b;box-shadow:inset 0 -4px #bba371}
#records-missions{display:grid;gap:8px}#records-missions>p{border:1px solid #b4aa89;background:#e5ddc0;padding:12px;margin:0!important;font-size:20px!important}.settings-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.menu-scroll-hint{position:sticky;bottom:-1px;display:block;background:#eee3c5;color:#64624f;text-align:center;font-size:14px;line-height:1.2;padding:5px 0;margin:0;pointer-events:none}.menu-scroll-hint[hidden]{display:none}
body.in-village #rotate{display:none!important}#rotate-ico{display:flex;align-items:center;justify-content:center;gap:18px;color:#eac283;margin-bottom:20px;font-size:54px}.rotate-phone{display:block;width:34px;height:58px;border:4px solid currentColor;box-shadow:inset 0 -7px #eac283}
@media(pointer:coarse){.desktop-controls{display:none}.touch-controls{display:block}}
@media(max-width:1100px){#scr-menu{padding:14px 18px 10px;gap:10px}.shinobi-menu{grid-template-columns:minmax(0,1fr) 310px;column-gap:28px}.menu-brand h1{font-size:48px}.menu-brand{margin-bottom:22px}.menu-item{min-height:65px}.menu-action-copy strong{font-size:25px}.menu-action-copy small{font-size:16px}.topbar-button,.resource-pill{font-size:16px;padding:6px 9px}.resource-pill b{font-size:19px}}
@media(max-height:700px) and (orientation:landscape){.menu-brand h1{font-size:42px}.menu-brand>p{margin-bottom:8px}.menu-brand{margin-bottom:16px}.menu-brand-sub{font-size:13px;margin-top:8px;letter-spacing:4px}.shinobi-stage{width:250px;height:184px}#hero-preview{width:178px;height:178px}#hero-name{font-size:28px}#hero-role{font-size:17px}.ability-preview{margin-top:6px}.menu-item{min-height:62px}.menu-record{padding:9px 13px}}
@media(max-height:450px) and (orientation:landscape){
 #scr-menu{padding:7px 12px 6px;gap:7px}.village-topbar{min-height:36px;gap:5px}.topbar-button,.resource-pill{min-height:36px;font-size:14px;padding:5px 8px;gap:4px}.resource-pill img{width:19px;height:19px}.resource-pill b{font-size:17px}.resource-pill>span:last-child{display:none}#account-open{min-width:65px}#account-label{max-width:95px}#fullscreen-menu{display:none}
 .shinobi-menu{grid-template-columns:minmax(0,1fr) minmax(225px,42%);gap:18px}.menu-left{padding:0}.menu-brand{margin:0 0 9px}.menu-brand>p,.menu-brand-sub{display:none}.menu-brand h1{font-size:30px;line-height:1}.shinobi-display{gap:5px}.shinobi-stage{width:162px;height:113px;border-width:2px}#hero-preview{width:108px;height:108px}.shinobi-profile{max-width:100%}#hero-name{font-size:24px;margin-bottom:3px}#hero-role{font-size:16px;margin-bottom:4px}.menu-label{display:none}#hero-start{font-size:17px;gap:5px}.opening-move img{width:20px;height:20px}.opening-move+.opening-move{display:none}.opening-extra{display:inline-block;color:#edd4a0;font-size:15px}.ability-preview{min-height:29px;padding:4px 8px;margin-top:5px}.ability-preview strong{display:none}.ability-preview small{font-size:15px}
 .menu-right{gap:7px}.menu-actions{border-width:22px 17px 20px;border-image-width:22px 17px 20px;padding:0}.menu-item{min-height:59px;padding:8px 5px;gap:10px}.menu-item-icon{flex-basis:24px;width:24px}.menu-item-icon img{width:24px;height:24px}.menu-action-copy strong{font-size:23px}.menu-action-copy small{font-size:15px}.menu-play .menu-action-copy strong{font-size:26px}.menu-record{padding:6px 9px}.menu-record p{font-size:13px}.menu-record p+p{font-size:12px;margin-top:2px}.menu-footer{min-height:16px;gap:10px}.menu-footer p,.menu-footer button{font-size:11px}
 #character-select{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}#character-select .character-card{min-height:115px;padding:8px 4px;gap:4px}#character-select .character-card canvas{width:48px;height:48px}#character-select .character-card span{font-size:18px}#character-select .character-card small{font-size:14px}
}
@media(max-height:350px) and (orientation:landscape){.menu-brand h1{font-size:26px}.shinobi-stage{height:94px;width:142px}#hero-preview{width:90px;height:90px}#hero-role{display:none}.menu-record p+p{font-size:12px}.menu-footer .touch-controls{max-width:310px}}
@media(max-width:600px) and (orientation:portrait){
 #scr-menu{overflow:auto;padding:12px;gap:15px}.village-topbar{flex-wrap:wrap;justify-content:center;gap:7px}.topbar-button,.resource-pill{font-size:15px;min-height:38px;padding:6px 8px}#account-label{max-width:115px}#fullscreen-menu{display:none}.shinobi-menu{display:flex;flex-direction:column;flex:none;gap:24px}.menu-left{padding:18px 0 0}.menu-brand{margin-bottom:18px}.menu-brand h1{font-size:42px}.menu-brand>p{font-size:12px}.shinobi-stage{width:245px;height:183px}#hero-preview{width:178px;height:178px}.menu-brand-sub{font-size:13px}.menu-right{min-height:0;gap:12px}.menu-actions{flex:none;overflow:visible;border-width:34px 24px 32px;border-image-width:34px 24px 32px}.menu-item{min-height:73px}.menu-action-copy strong{font-size:27px}.menu-action-copy small{font-size:17px}.menu-record p{font-size:16px}.menu-record p+p{font-size:15px}.menu-footer{align-items:flex-start}.menu-footer p{max-width:210px;font-size:12px}.menu-footer button{font-size:12px}
 #character-select{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#character-select .character-card{min-height:143px}#starter-choices{grid-template-columns:1fr}#starter-choices button{display:grid;grid-template-columns:64px 1fr;text-align:left;justify-items:start;gap:8px 12px}#starter-choices canvas{grid-row:1/3;width:64px;height:64px}#starter-choices small{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.menu-item,.shinobi-stage{transition:none}}

#training-list .training-group{grid-column:1/-1;margin:12px 0 0;font-size:26px;line-height:1.2}

/* SOCIAL VILLAGE TRIAL */
/* Full-screen courtyard; original native scroll and every menu action remain. */
#village-shell #scr-menu{background:#183425;isolation:isolate}
#village-shell #scr-menu:before{display:none}
#village-shell .menu-left{display:none!important}
#village-shell .shinobi-menu{pointer-events:none;grid-template-columns:minmax(0,1fr) 350px;align-items:center}
#village-shell .menu-right{grid-column:2;pointer-events:auto}
#village-shell .menu-actions{overflow:visible}
#village-shell .village-topbar{pointer-events:none}#village-shell .village-topbar>*{pointer-events:auto}
#village-shell .village-courtyard{position:absolute;inset:0;z-index:-1;pointer-events:none;color:#f7efda}
#village-shell .village-map{position:absolute;inset:0;overflow:hidden;background:#a8bc85;pointer-events:auto}
#village-shell .village-map>img,#village-shell .village-map>canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}
#village-shell .village-map>img{pointer-events:none}#village-shell .village-map>canvas{outline:none}
#village-shell #village-names{position:absolute;inset:0;pointer-events:none!important;overflow:hidden}
#village-shell #village-names [hidden]{display:none!important}
#village-shell .village-player-name{position:absolute;left:0;top:0;display:block;max-width:136px;color:#fff1c9;font:14px/16px Pixelify,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:-1px -1px #17291c,1px -1px #17291c,-1px 1px #17291c,1px 1px #17291c;will-change:transform}
#village-shell .village-player-name.village-self{color:#ffe0a0;background:#17291ced;padding:0 3px;z-index:1}
#village-shell .village-player-bubble{position:absolute;left:0;top:0;max-width:min(280px,calc(100% - 16px));padding:4px 8px;box-sizing:border-box;border:1px solid #705b3d;background:#f4e6c8;color:#29392b;font:14px/17px Pixelify,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:2px 2px #17291c44;z-index:2}
#village-shell .village-toolbar{position:absolute;left:22px;top:18px;z-index:4;display:flex;align-items:center;gap:10px;min-height:42px;padding:4px 8px;background:#182d24ed;border:2px solid #939679;font-size:17px;pointer-events:auto}
#village-shell .village-toolbar>strong{display:none}#village-shell .village-channel-label{display:flex;align-items:center;gap:8px}#village-shell .village-toolbar select{font:inherit;min-height:32px;max-width:150px;background:#243a2b;color:#f9edce;border:1px solid #979c77;padding:3px 7px}#village-shell .village-toolbar select:disabled{opacity:.65}#village-shell #village-population{font-size:15px;white-space:nowrap;color:#cbd5bd}
#village-shell #village-change-character{position:static;min-height:44px;border:2px solid #aea37a;background:#182d24f2;color:#fff1cc;font:18px Pixelify,monospace;white-space:nowrap;padding:7px 10px;pointer-events:auto}
#village-shell #village-change-character:hover{background:#365136;border-color:#e1c798}#village-shell #village-change-character[hidden]{display:none}
#village-shell #village-notice{position:absolute;bottom:76px;left:22px;max-width:430px;background:#192d23ed;border:1px solid #bcb18c;color:#ffedca;padding:10px 14px;font-size:17px;pointer-events:none}
#village-shell .village-chat-bar{position:absolute;left:22px;bottom:20px;z-index:2;display:flex;align-items:center;gap:10px;min-height:44px;max-width:480px;padding:0;background:none;border:0;pointer-events:auto}
#village-shell .village-chat-bar button,#village-shell .village-chat-heading button,#village-shell #village-chat-form button{min-height:36px;background:#304a35;color:#fff0ce;border:1px solid #acaa7e;padding:5px 12px;font:18px Pixelify,monospace;cursor:pointer}#village-shell .village-chat-bar button:hover,#village-shell .village-chat-heading button:hover,#village-shell #village-chat-form button:hover{background:#49643f}
#village-shell #village-chat-preview{display:none;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:330px;color:#e0e5cd;font-size:17px}#village-shell #village-retry{margin-left:auto}
#village-shell #village-chat{position:absolute;left:22px;bottom:20px;z-index:5;width:430px;max-width:calc(100vw - 44px);border:2px solid #a4a17d;background:#172b21d1;color:#f5e9ca;padding:12px;box-shadow:4px 4px #0e2018;pointer-events:auto;box-sizing:border-box}
#village-shell .village-chat-heading{display:flex;align-items:center;justify-content:space-between;font-size:19px}#village-shell .village-chat-heading button{font-size:15px;min-height:28px;padding:2px 8px}#village-shell #village-chat-log{height:170px;overflow:auto;overscroll-behavior:contain;padding:8px 0;overflow-wrap:anywhere;font-size:18px;line-height:1.4}#village-shell #village-chat-log p{font-size:inherit;line-height:inherit;margin:4px 0;color:#e6e7d5}#village-shell #village-chat-log b{color:#f1cc8e}
#village-shell #village-chat-form{display:flex;gap:8px}#village-shell #village-chat-input{flex:1;width:0;min-height:44px;background:#eee2c4;color:#25382b;border:1px solid #a3a17a;padding:8px;font:19px Pixelify,monospace}#village-shell #village-chat-input:disabled,#village-shell #village-chat-send:disabled{opacity:.6}#village-shell #village-chat-status{margin:0;font-size:15px;color:#f5cb98}#village-shell #village-chat-status:not(:empty){margin-top:7px}
#village-shell .village-loadout{margin:0 0 16px;padding:10px;border:1px solid #a99a74;background:#e7dcc0}#village-shell .village-loadout>strong{display:block;font-size:22px;margin-bottom:8px}#village-shell .village-loadout #opening-open{display:flex;width:100%;align-items:center;justify-content:space-between;background:#34462f;color:#fff1cf;padding:12px;border:2px solid #9d9a70}#village-shell .village-loadout #hero-start{justify-content:flex-start;font-size:20px;text-shadow:none}#village-shell .village-loadout .opening-compact{display:inline!important}#village-shell .village-loadout #opening-open[aria-label]{min-height:54px}
body#village-shell.village-scene #game{visibility:hidden}
#village-shell #scr-menu button:focus-visible,#village-shell #scr-menu select:focus-visible,#village-shell #village-chat-input:focus-visible{outline:3px solid #f8d092;outline-offset:3px}
#village-shell .village-map>canvas{touch-action:none}
#village-shell .village-dock{display:contents}#village-shell .village-dock>button,#village-shell #village-menu-close,#village-shell #village-menu-scrim{display:none}
#village-shell .village-chat-heading>div{display:flex;gap:6px}
#village-shell .village-toolbar #village-retry{font:16px Pixelify,monospace;color:#fff1cc;background:#304a35;border:1px solid #acaa7e;min-height:44px;padding:6px 8px}
/* The compact layout activates only once the optional controller is ready. */
#village-shell #scr-menu[data-village-mobile=true]{padding:0;gap:0;overflow:hidden!important}
#village-shell #scr-menu[data-village-mobile=true] .village-toolbar{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));gap:6px;padding:0;border:0;background:none;justify-content:space-between}
#village-shell #scr-menu[data-village-mobile=true] #village-change-character{font-size:17px;padding:7px 9px;background:#182d24f5;min-width:0}
#village-shell #scr-menu[data-village-mobile=true] .village-channel-label{font-size:0;gap:0;background:#182d24f5}
#village-shell #scr-menu[data-village-mobile=true] .village-toolbar select{min-height:44px;max-width:126px;font-size:16px;padding:5px 7px;border-width:2px}
#village-shell #scr-menu[data-village-mobile=true] #village-population{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#village-shell #scr-menu[data-village-mobile=true] .village-topbar{position:absolute;left:8px;right:8px;top:calc(max(8px,env(safe-area-inset-top)) + 52px);z-index:3;justify-content:flex-end;flex-wrap:nowrap;gap:5px;min-height:44px;max-width:none}
#village-shell #scr-menu[data-village-mobile=true] .resource-pill,#village-shell #scr-menu[data-village-mobile=true] .topbar-button{min-height:44px;font-size:16px;padding:6px;gap:4px;margin:0}
#village-shell #scr-menu[data-village-mobile=true] .resource-pill b{font-size:18px}
#village-shell #scr-menu[data-village-mobile=true] .resource-pill img{width:20px;height:20px}
#village-shell #scr-menu[data-village-mobile=true] .resource-pill>span:last-child{display:none}
#village-shell #scr-menu[data-village-mobile=true] #account-open{min-width:44px}
#village-shell #scr-menu[data-village-mobile=true] #account-label{max-width:94px;font-size:15px}
#village-shell #scr-menu[data-village-mobile=true] .shinobi-menu{position:absolute;inset:0;display:block;max-width:none;width:100%;margin:0;pointer-events:none}
#village-shell #scr-menu[data-village-mobile=true] .menu-right{position:absolute;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:calc(76px + env(safe-area-inset-bottom));z-index:5;display:block;pointer-events:none;visibility:hidden}
#village-shell #scr-menu[data-village-mobile=true][data-village-menu=true] .menu-right{pointer-events:auto;visibility:visible}
#village-shell #scr-menu[data-village-mobile=true] .menu-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;max-height:min(410px,max(136px,calc(var(--game-height,100dvh) - 318px - env(safe-area-inset-top) - env(safe-area-inset-bottom))));overflow:auto;overscroll-behavior:contain;touch-action:pan-y;border-width:18px 13px 18px;border-image-width:18px 13px 18px;padding:0 3px 4px}
#village-shell #scr-menu[data-village-mobile=true] .menu-item{min-height:48px;gap:5px;padding:6px 4px;justify-content:flex-start;text-align:left;min-width:0}
#village-shell #scr-menu[data-village-mobile=true] .menu-action-copy strong,#village-shell #scr-menu[data-village-mobile=true] .menu-play .menu-action-copy strong{font-size:clamp(16px,4.6vw,20px);line-height:1.1;white-space:nowrap;letter-spacing:-.15px}
#village-shell #scr-menu[data-village-mobile=true] .menu-item-icon{display:grid;width:18px;flex-basis:18px}
#village-shell #scr-menu[data-village-mobile=true] .menu-item-icon img{width:18px;height:18px}
#village-shell #scr-menu[data-village-mobile=true] #village-menu-close{display:block;grid-column:1/-1;position:sticky;top:0;z-index:2;min-height:44px;text-align:center;background:#ece2c2;color:#37422e;border:0;border-bottom:1px solid #b7ae8b;font:20px Pixelify,monospace;touch-action:none}
#village-shell #scr-menu[data-village-mobile=true] #village-menu-scrim:not([hidden]){display:block;position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#10201820;z-index:2;pointer-events:auto}
#village-shell #scr-menu[data-village-mobile=true] .village-dock{position:absolute;left:0;right:0;bottom:0;z-index:6;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:17px max(10px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:linear-gradient(to bottom,transparent 12px,#eee3c5 12px);border:0;pointer-events:auto}
#village-shell #scr-menu[data-village-mobile=true] .village-dock:before{content:"";position:absolute;top:0;left:0;right:0;height:0;border:solid transparent;border-width:12px 8px 0;border-image:url("../assets/pixel-v2/scroll-safe-lossless/ivory.png") 284 144 242 144 / 12px 8px 0 / 0 stretch;image-rendering:pixelated;pointer-events:none;filter:drop-shadow(0 2px 0 #15221866)}
#village-shell #scr-menu[data-village-mobile=true] .village-dock>button,#village-shell #scr-menu[data-village-mobile=true] #village-chat-toggle{display:block;width:100%;min-width:0;min-height:44px;border:1px solid #a69b76;background:#e1d5ae;color:#35412e;padding:6px 2px;font:20px Pixelify,monospace;white-space:nowrap}
#village-shell #scr-menu[data-village-mobile=true] #village-quick-play{background:#ad502b;color:#fff1d1;border-color:#8b4b2c}
#village-shell #scr-menu[data-village-mobile=true] .village-dock button:disabled{opacity:.55}
#village-shell #scr-menu[data-village-mobile=true] .village-chat-bar{position:static;display:block;max-width:none;min-height:0;border:0;padding:0;background:none}
#village-shell #scr-menu[data-village-mobile=true] #village-chat-preview{display:none}
#village-shell #scr-menu[data-village-mobile=true] #village-notice{top:112px;left:8px;right:8px;bottom:auto;max-width:none;padding:6px 8px;font-size:16px;z-index:4}
#village-shell #scr-menu[data-village-mobile=true] #village-chat{left:8px;right:8px;bottom:calc(76px + env(safe-area-inset-bottom));width:auto;max-width:none;max-height:calc(var(--game-height,100dvh) - 150px - env(safe-area-inset-bottom));display:flex;flex-direction:column;padding:9px;box-shadow:3px 3px #0e2018}
#village-shell #scr-menu[data-village-mobile=true] #village-chat[hidden]{display:none}
#village-shell #scr-menu[data-village-mobile=true] .village-chat-heading{font-size:18px;gap:4px;flex:none}
#village-shell #scr-menu[data-village-mobile=true] .village-chat-heading button{min-height:44px;font-size:16px;padding:5px 7px}
#village-shell #scr-menu[data-village-mobile=true] #village-chat-log{height:150px;min-height:28px;flex:1 1 auto;font-size:17px;padding:5px 0}
#village-shell #scr-menu[data-village-mobile=true] #village-chat-form{flex:none;gap:6px}
#village-shell #scr-menu[data-village-mobile=true] #village-chat-input{font-size:18px;min-width:0}
#village-shell #scr-menu[data-village-mobile=true] #village-chat-send{min-height:44px;font-size:18px;padding:6px 9px}
#village-shell #scr-menu[data-village-mobile=true] #village-retry{position:absolute;top:104px;right:0}
#village-shell #scr-menu[data-village-mobile=true][data-village-keyboard=true] .village-toolbar,#village-shell #scr-menu[data-village-mobile=true][data-village-keyboard=true] .village-topbar,#village-shell #scr-menu[data-village-mobile=true][data-village-keyboard=true] .village-dock{display:none}
#village-shell #scr-menu[data-village-mobile=true][data-village-keyboard=true] #village-chat{bottom:8px;max-height:calc(var(--game-height,100dvh) - 16px)}
/* Native popup button skin, including Save now's lower bevel and shadow. */
#village-shell #scr-menu[data-village-mobile] :is(#village-change-character,#village-retry,#village-chat-toggle,#village-quick-play,#village-quick-squad,#village-menu-toggle,#village-menu-close,#village-chat-send,#village-chat-mute,#village-chat-close,.topbar-button){background:#303b30;border:2px solid #6b735a;color:#f8efd7;box-shadow:inset 0 -3px #1d291f,2px 3px 0 #34332b33;font-weight:700;line-height:1.15;cursor:pointer}
#village-shell #scr-menu[data-village-mobile] :is(#village-quick-play,#village-chat-send){background:#bd582c;border-color:#8e462b;color:#fff0d2;box-shadow:inset 0 -3px #934325,2px 3px 0 #34332b33}
#village-shell #scr-menu[data-village-mobile] :is(#village-change-character,#village-retry,#village-chat-toggle,#village-quick-squad,#village-menu-toggle,#village-menu-close,#village-chat-mute,#village-chat-close,.topbar-button):hover{background:#47533c;border-color:#81896a}
#village-shell #scr-menu[data-village-mobile] :is(#village-quick-play,#village-chat-send):hover{background:#cf6a34}
#village-shell #scr-menu[data-village-mobile] :is(#village-change-character,#village-retry,#village-chat-toggle,#village-quick-play,#village-quick-squad,#village-menu-toggle,#village-menu-close,#village-chat-send,#village-chat-mute,#village-chat-close,.topbar-button):active{transform:translateY(2px);box-shadow:inset 0 -1px #1d291f}
#village-shell #scr-menu[data-village-mobile=true] .menu-item{margin:0 3px 3px 0;width:calc(100% - 3px);border:2px solid #aa9b75;background:#e8dcbb;color:#35412e;box-shadow:inset 0 -3px #c7b78e,2px 3px 0 #34332b33}
#village-shell #scr-menu[data-village-mobile=true] .menu-item.menu-play{background:#bd582c;border-color:#8e462b;color:#fff0d2;box-shadow:inset 0 -3px #934325,2px 3px 0 #34332b33}
#village-shell #scr-menu[data-village-mobile=true] .menu-item:hover{background:#f5eacb}
#village-shell #scr-menu[data-village-mobile=true] .menu-item.menu-play:hover{background:#cf6a34}
#village-shell #scr-menu[data-village-mobile=true] .menu-item:active{transform:translateY(2px);box-shadow:inset 0 -1px #b3a47e}
/* The scroll art's transparent corner pixels reveal the village, never paper. */
#village-shell #scr-menu[data-village-mobile=true] .menu-actions{background-clip:padding-box}
#village-shell .village-player-banner.rank-banner{position:absolute;left:0;top:0;width:188px;max-width:188px;pointer-events:none;will-change:transform}
#village-shell .village-player-banner .rank-banner-copy strong{font-size:13px}
#village-shell .village-player-bubble{white-space:normal;overflow-wrap:anywhere;line-height:18px;overflow:visible;text-overflow:clip}
#village-shell .village-player-bubble:after{content:"";position:absolute;bottom:-5px;left:calc(50% - 4px);width:7px;height:7px;background:#f4e6c8;border-right:1px solid #705b3d;border-bottom:1px solid #705b3d;transform:rotate(45deg)}
@media(max-height:500px) and (min-width:600px){
 #village-shell #scr-menu[data-village-mobile=true] .village-toolbar{right:auto;justify-content:flex-start}
 #village-shell #scr-menu[data-village-mobile=true] .village-topbar{left:auto;top:max(8px,env(safe-area-inset-top));max-width:calc(100% - 310px)}
}

/* Chat is an overlay; its toggle is present only while the sheet is closed. */
#village-shell .village-chat-bar[hidden],#village-shell #village-chat-toggle[hidden]{display:none!important}
#village-shell #scr-menu[data-village-mobile=true][data-village-chat=true] .village-dock{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Trim the generated banner's isolated bottom fringe; retain original artwork. */
#village-shell .village-player-banner.rank-banner{clip-path:inset(0 0 var(--village-banner-trim,18.75%) 0)}
#village-shell .village-player-banner.rank-banner:is([data-tier=rank-4-10],[data-tier=rank-11-20]){--village-banner-trim:16.666667%}
/* A short compositor-driven glint, followed by a long quiet interval. */
#village-shell .village-banner-shine{position:absolute;inset:0;overflow:hidden;pointer-events:none;mask-image:var(--rank-art);mask-size:100% 100%;mask-repeat:no-repeat}
#village-shell .village-banner-shine:after{content:"";position:absolute;left:-35%;top:0;width:26%;height:100%;background:linear-gradient(110deg,transparent 10%,#fff1bc80 44%,#ffffffb3 50%,#fff1bc80 56%,transparent 90%);opacity:0;transform:translateX(0);animation:village-banner-shine 9s linear infinite;animation-delay:var(--village-shine-delay,0ms)}
@keyframes village-banner-shine{0%,82%{opacity:0;transform:translateX(0)}84%{opacity:.38}93%{opacity:.38;transform:translateX(550%)}95%,100%{opacity:0;transform:translateX(550%)}}
@media(prefers-reduced-motion:reduce){#village-shell .village-banner-shine{display:none}}
#village-shell .village-chat-bar button{min-height:44px}
