:root{font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei','Hiragino Sans GB',system-ui,sans-serif;-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body,#app{max-width:100%;min-width:0;overflow-x:hidden}
button,select,input{font-family:inherit}
.personnel-page,.ability-page,.enemy-page,.world-page{max-width:100%;overflow-x:hidden;font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei','Hiragino Sans GB',system-ui,sans-serif}
.personnel-page small,.personnel-page .kicker,.personnel-page .personnel-crumb,.personnel-page .personnel-foot,.personnel-page .person-card>small,.ability-page small,.ability-page .kicker,.ability-page .ability-crumb,.ability-page .ability-foot,.enemy-page small,.enemy-page .kicker,.enemy-page .enemy-crumb,.enemy-page .enemy-foot{font-family:'Roboto Mono','Noto Sans SC','PingFang SC','Microsoft YaHei',monospace}
.personnel-crumb,.ability-crumb,.enemy-crumb{max-width:100%;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.personnel-crumb::-webkit-scrollbar,.ability-crumb::-webkit-scrollbar,.enemy-crumb::-webkit-scrollbar{display:none}
.person-card{min-width:0;grid-column:auto;grid-row:auto;order:initial}
.person-ident>span,.person-file,.person-file>header>div,.tier-title>div{min-width:0}
.person-ident em,.person-file p,.file-section p,.relation button span{overflow-wrap:anywhere;word-break:normal}
.person-visual>img{object-fit:contain;object-position:center top;filter:saturate(.88) contrast(1.03)}

@media(max-width:620px){
 .personnel-head,.ability-head,.enemy-head{grid-template-columns:minmax(0,1fr) auto;gap:10px}
 .personnel-head h1,.ability-head h1,.enemy-head h1{font-size:22px;white-space:nowrap}
 .personnel-head .kicker,.ability-head .kicker,.enemy-head .kicker{font-size:8px;line-height:1.55;letter-spacing:.14em;white-space:normal}
 .personnel-access,.ability-access,.enemy-access{min-width:0;gap:8px}
 .personnel-access>div,.ability-access>div,.enemy-access>div{flex:0 0 auto}
 .personnel-access button,.ability-access button,.enemy-access button{padding:8px 10px}
 .personnel-main,.ability-main,.enemy-main{width:92vw}
 .tier-title{align-items:flex-start;gap:12px}
 .tier-title h2{font-size:31px;white-space:nowrap}
 .tier-title h2 b{font-size:42px;margin-right:10px}
 .tier-title>span{padding-top:15px;font-size:9px;white-space:nowrap}
 .personnel-filters{gap:8px}
 .personnel-filters label{min-width:0}
 .personnel-filters select,.personnel-filters button{width:100%;min-width:0;height:44px;font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif;font-size:16px}
 .personnel-list,.personnel-list.tier-b,.personnel-list.tier-c{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-flow:row}
 .person-card{min-height:230px;padding:18px}
 .person-ident{align-items:flex-start;margin:16px 0}
 .person-ident img,.person-placeholder{width:82px;height:102px;border-color:rgba(122,214,196,.32);background:#0a1010}
 .person-ident b{font-size:19px}
 .person-ident em{font-size:11px;line-height:1.65}
 .ability-row{padding-right:0;margin-top:10px}
 .person-card>i{bottom:14px}
 .person-visual{height:72vh;min-height:520px;background:radial-gradient(circle at 50% 35%,rgba(122,214,196,.08),transparent 50%),#0c1414}
 .person-visual>img{object-fit:contain;object-position:center top}
 .detail-plate{left:18px;right:18px;bottom:20px}
 .person-file>header h1{font-size:36px}
 .file-section{padding:21px 20px}
 .relations button{width:100%;min-width:0}
 .ability-category-title,.enemy-detail>header,.resident-file>header,.evolved-file>header{overflow:hidden}
 .matrix-row>*{overflow-wrap:anywhere}
}
