/*

	LinkiumPlus | NJUPT-Share
	未来每一帧快乐 想陪你捕捉.

	瑞联研发中心（星河实验室）2025
	保留所有程序版权，抄袭必究

*/

@import "//static.nlrdev.top/font-service/handwritten/font.css";


/* 公用组件 */
html, body{overflow:hidden;--SimsvMainColor:#00267E!important;--SimsvSubColor:#F0F6FE!important;}
*{line-height:1.2em;}
.separator{flex-grow:1;}
.centered{display:flex;flex-direction:column;width:100%;align-items:center;justify-content:center;}
.maskBoth{--mask:linear-gradient(to right, transparent 0%, black 10px, black calc(100% - 10px), transparent 100%);mask-image:var(--mask);-webkit-mask-image:var(--mask);}
.maskEnd{--mask:linear-gradient(to right, black 0%, black calc(100% - 10px), transparent 100%);mask-image:var(--mask);-webkit-mask-image:var(--mask);}
.maskVertical{--mask:linear-gradient(to bottom, transparent 0%, black 10px, black calc(100% - 10px), transparent 100%);mask-image:var(--mask);-webkit-mask-image:var(--mask);}
.nowrap{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%;}

#loadingSplash,.fullscreenLayer{position:fixed;inset:0;z-index:100;background:#F9F9FB;transition:opacity .2s;}
#loadingSplash[hidden],.fullscreenLayer[hidden]{display:flex!important;opacity:0;pointer-events:none;}
#loadingSplash>img{width:30px;margin-top:50px;animation:loaderShow 1.5s;}
@keyframes loaderShow{0%{opacity:0;}60%{opacity:0;}100%{opacity:1;}}

.fullscreenLayer>div{width:70%;max-width:500px;min-width:310px;}
.fullscreenLayer>div>.title{font-size:1.5em;}
.fullscreenLayer>div>.content{margin:10px 0;}
.fullscreenLayer>div>.buttons{text-align:right;}
.fullscreenLayer>div>.buttons a{margin:0 25px;}

#loadingLayer{position:fixed;z-index:20;inset:0;transition:opacity .3s;}
#loadingLayer[hidden]{display:block!important;opacity:0;pointer-events:none;}
#loadingBar{position:fixed;transition:width .2s linear;height:2px;border-bottom-right-radius:2px;background:#00267E;box-shadow:0 0 20px 0 #00267E33;}


/* 顶栏组件 */
header{display:flex;align-items:center;padding:0 25px 0 20px;justify-content:center;height:60px;border-bottom:1px solid #ECECEE;background:#F9F9FBEE;backdrop-filter:blur(20px);position:fixed;width:100%;z-index:10;}
header #appLogo{display:flex;align-items:center;}
header #appLogo img{height:30px;margin-bottom:-5px;}

header #tabsBar{height:30px;flex-grow:1;align-items:center;justify-content:flex-start;margin:0 12.5px;padding:0 5px;white-space:nowrap;overflow-x:scroll;overflow-y:hidden;}
header #tabsBar>div{padding:0 7.5px;margin-right:2.5px;height:30px;display:inline-flex;align-items:center;border-radius:5px;}
header #tabsBar>div:active{background:#F4F4F6;color:black;}
header #tabsBar>div.active{color:#00267E;background:white!important;}
header #tabsBar>div>span{max-width:145px;margin-left:5px;}
header #tabsBar>div>i:last-child{font-size:.9em;margin-left:5px;border-radius:50%;transition:all .2s,color 0s;}
header #tabsBar>div>i:last-child:hover{color:#00267E;filter:brightness(.9);}
header #tabsBar>div>i:last-child:active{color:#00267E;filter:brightness(.8);transform:scale(.8);}

header .operations{display:flex;align-items:center;white-space:nowrap;}
header .operations>i{width:30px;height:30px;border:1px solid #ECECEE;border-radius:50%;margin-right:5px;display:flex;align-items:center;justify-content:center;position:relative;bottom:0;right:0;}
header .operations>i.dropdownActive{background:#F0F6FE;border:1px solid #F0F6FE;color:#00267E;}
header .operations>a{margin-left:10px;}
header .operations #mobileTabsBarBtn,header .operations #mobileCloseBtn{display:none;}
#mobileTabsBarBtn>span{font-family:"hmsans";position:absolute;inset:0;font-size:7px;}
#downloadProgressBtn>span{font-family:"hmsans";width:12px;height:12px;font-size:8px;background:#00267E;color:white;position:absolute;padding-top:2px;top:-2px;right:-2px;border-radius:50%;}

#downloadProgressContent,#mobileTabsBarContent{padding:25px;width:min(330px, calc(100vw - 100px));height:500px;max-height:calc(100% - 100px);}
#downloadEmpty{overflow:hidden;height:calc(100% - 80px);}
#downloadEmpty img{width:120px;margin:-20px;}
#downloadStatus{height:fit-content;max-height:calc(100% - 25px);margin:5px 0;padding:10px 0;overflow-y:scroll;display:flex;flex-direction:column-reverse;}
#downloadStatus>div{display:flex;align-items:center;margin:5px 0;width:100%;}
#downloadStatus>div>i{font-size:2em;margin:0 5px 0 -3px;-webkit-text-stroke:.5px #F9F9FB;}
#downloadStatus>div>div{flex-grow:1;}
#downloadStatus>div>div .name{font-size:.9em;width:260px;}
#downloadStatus>div>div .status{color:#000000CC;font-size:.8em;margin:0 0 3px -1px;}
#downloadStatus>div[data-status="downloading"]>div .progress>div>div::after{content:""; position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient( 90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.2) 20%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0.2) 80%, rgba(255, 255, 255, 0) 100% );animation:fullShimmer 1s infinite;}
@keyframes fullShimmer{0%{transform:translateX(-100%);}100%{transform:translateX(100%);}}

#mobileTabsBar{height:calc(100% - 25px);margin:0 -5px 5px -5px;padding:10px 0;overflow-y:scroll;}
#mobileTabsBar>div{padding:0 7.5px;margin-right:2.5px;height:30px;display:flex;align-items:center;border-radius:5px;}
#mobileTabsBar>div>i:first-child{pointer-events:none;}
#mobileTabsBar>div>span{margin:0 5px;}

/* 起始页 */
#initialPage,#resourcePage{position:absolute;inset:0;transition:opacity .2s,transform .2s;}
#initialPage[hidden]{display:block!important;opacity:0;pointer-events:none;}
#resourcePage[hidden]{display:block!important;opacity:0;pointer-events:none;transform:translateY(20px);}
#initialPage{padding:120px max(calc(50vw - 500px), 25px) 20px max(calc(50vw - 500px), 25px);overflow:scroll;text-align:center;}
#initialPage #fullLogo{width:80%;max-width:200px;}
#initialPage .title{font-size:1.7rem;margin:25px 0 15px 0;position:relative;display:inline-block;text-align:center;width:100%;}
#initialPage .title::after{content:"";position:absolute;bottom:-5px;left:50%;transform:translateX(-50%);width:90px;height:4px;background:#00267E;border-radius:2px;}

#globalPromotion{color:#00267E;text-align:justify;border-radius:10px;margin:20px 0 5px 0;padding:10px 15px;background:#F0F6FE;overflow:hidden;transition:filter .2s;}
#globalPromotion.link:hover{filter:brightness(.95);}
#globalPromotion.link:active{filter:brightness(.9);}

#initialPageSubjects>div{width:110px;height:135px;display:inline-flex;font-size:1.2em;border-radius:10px;}
#initialPageSubjects>div>img{width:80px;height:80px;margin-bottom:10px;}

.initialPageLinks{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:10px;}
.initialPageLinks>div{background:white;display:flex;padding:15px 20px;border-radius:10px;font-size:1.1em;text-align:left;}
.initialPageLinks>div:hover,.initialPageLinks>div:active{background:#FCFCFC;}
.initialPageLinks>div>div{margin-right:5px;flex-grow:1;}
.initialPageLinks>div>div>small{opacity:.8;display:block;}
.initialPageLinks>div>i:last-child{opacity:.5;}

#todoList{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;}
#todoList>div{background:white;display:flex;padding:15px 20px;border-radius:10px;font-size:1.1em;text-align:left;align-items:center;overflow:hidden;}
#todoList>div:hover,#todoList>div:active{background:#FCFCFC;}
#todoList>div .content{font-size:1.1em;white-space:nowrap;flex-grow:1;text-overflow:ellipsis;overflow:hidden;}
#todoList>div .date{font-size:.9em;display:flex;align-items:baseline;flex-wrap:nowrap;white-space:nowrap;flex-shrink:0;color:#000000AA;}
#todoList>div .date span{font-size:1.3em;padding:0 2px;}
#todoList>div .date span.red{color:#B20000;}
#todoList>div .date span.blue{color:#00267E;}
#todoList>div.add{opacity:.8;}
#todoList>div.add i{background:#00000005;border-radius:3px;width:25px;height:25px;display:flex;align-items:center;justify-content:center;margin-right:5px;}

#forumTopicList>div{background:white;display:flex;padding:15px 20px;border-radius:10px;text-align:left;align-items:center;overflow:hidden;gap:10px;}
#forumTopicList>div:hover,#forumTopicList>div:active{background:#FCFCFC;}
#forumTopicList>div .topic{font-size:1.2em;flex-grow:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
#forumTopicList>div .info{font-size:.9em;flex-shrink:0;color:#000000AA;text-align:right;}
#forumTopicList>div .info .creator{display:flex;align-items:center;gap:5px;justify-content:flex-end;}
#forumTopicList>div .info .creator i{width:17px;height:17px;background:#F0F6FE;color:#00267E;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.8em;}

#initialPage .user{background:white;border-radius:5px;margin:50px 0 10px 0;padding:10px;display:inline-flex;width:300px;align-items:center;text-align:left;}
#initialPage .user>i{background:#F0F6FE;color:#00267E;min-width:45px;height:45px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.6em;margin-right:10px;}
#initialPage .user>div{width:100%;}
#initialPage .user>div>div{display:flex;align-items:center;}
#initialPage .user>div>span{display:block;font-size:.85em;opacity:.6;padding-top:5px;transition:opacity .2s;}
#initialPage .user>div>span:hover{opacity:1;}
#initialPage .user>div>span:active{opacity:.8;}
#initialPage .user>div #username{font-size:1.1em;white-space:nowrap;max-width:100px;overflow:hidden;text-overflow:ellipsis;}
#initialPage .links{font-size:.8em;padding:5px 25px;}


/* 侧栏组件 */
#sidebar{position:absolute;top:0;left:0;width:260px;height:100%;background:#F9F9FB;border-right:1px solid #ECECEE;z-index:5;padding:60px 10px 10px 10px;overflow-y:scroll;}
#sidebar .clickable{margin:2.5px 5px 2.5px 5px;padding:7px 10px;border-radius:5px;letter-spacing:.04em;}
#sidebar .clickable.active{background:#00267E;color:white;}

#sidebar #subjectSwitcher{height:30px;width:unset;border-radius:5px;background:#F0F6FE;color:#00267E;margin:20px 5px 10px 5px;flex-direction:row;transition:all .2s;}
#sidebar #subjectSwitcher:hover{filter:brightness(.95);}
#sidebar #subjectSwitcher i{margin-right:5px;}



/* 文件列表 */
.filesMain{position:absolute;left:260px;top:0;width:calc(100% - 260px);height:100%;padding:80px max(calc(50vw - 500px), 20px) 20px max(calc(50vw - 500px), 20px);overflow-y:scroll;}
.errorContent{height:max(calc(100vh - 500px), 500px);flex-direction:row;}
.errorContent img{width:120px;height:120px;margin:0 -5px 0 -25px;}
.errorContent b{display:block;font-size:1.2em;margin-bottom:5px;}
.errorContent span a{margin-top:5px;}

/* 文件通用 */
#fileList.hidden{transition:transform .4s,opacity .4s;transform:translateY(10px);opacity:0;pointer-events:none;}
#fileList center{text-align:center;margin:25px 0;font-size:.8em;opacity:.8;}
#fileList>*,#fileList>.fileListContainer>*,.fileDirBox,.pageContent>*,.about>*{transition:transform .4s,opacity .4s;}
#fileList>.hidden,#fileList>.fileListContainer>.hidden,.fileDirBox.hidden,.pageContent>*.hidden,.about>*.hidden{opacity:0;transform:translateY(10px);transition:none;}
#fileList .iconText{height:400px;}
.fileListTitle b{display:block;font-size:1.2em;font-weight:normal;}
.fileListTitle small{display:block;font-size:.9em;font-weight:normal;opacity:.8;}

.pathBar{display:flex;white-space:nowrap;overflow-x:scroll;align-items:center;margin:0 -10px 10px -10px;padding:0 10px;}
.pathBar>div{padding:5px 15px;border:1px solid #ECECEE;border-radius:50px;transition:background .3s,color .3s,border .3s;}
.pathBar>div:hover{background:#F4F4F6;}
.pathBar>div:active{background:#ECECEE;color:#00267E;}
.pathBar>div.current{background:#F0F6FE;color:#00267E;border:1px solid transparent;}
.pathBar>i{margin:0 5px;font-size:1.2em;opacity:.5;}

#tabsContainer [data-tabid^='interactivePage-']{overflow:scroll;position:absolute;inset:0}
.pageContent{text-align:justify;padding:80px 20px 20px 20px;}
.pageContent>*{line-height:1.5em;display:block;}
.pageContent>br{display:none;}
.pageContent el{display:block;height:5px;}
.pageContent li::before{content:"\EA6C";margin-right:5px;font-family:"icon";}
.pageHeader{overflow:hidden;background:linear-gradient(90deg, #F0F6FECC, #F0F6FE);border-radius:5px;margin-bottom:20px;display:flex;align-items:flex-end;flex-direction:row-reverse;padding:20px 25px 0 25px;}
.pageHeader>img{height:100px;filter:drop-shadow(0 0 10px #00000010);}
.pageHeader>div{flex-grow:1;font-size:2em;padding-bottom:20px;color:#00267E;}

.about{position:absolute;height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.about img{width:150px;height:150px;object-fit:contain;}
.about .aboutTitle{margin-top:20px;font-size:2em;}
.about .aboutDesc{font-size:1.5em;margin-top:5px;font-family:"handwritten";}
.about .btns{width:200px;margin-top:20px;}
.about .btns button{width:100%;}
.about .links{margin:20px 0;font-size:.9em;}

/* 目录列表 */
.file{position:relative;height:45px;width:100%;border-bottom:1px solid #ECECEE;}
.fileInfo{position:absolute;inset:0 -5px;border-radius:5px;display:flex;align-items:center;padding:0 15px;font-size:1.1em;transition:background .2s,color .2s;}
.fileInfo:hover{background:#F4F4F6;}
.fileInfo:active{background:#ECECEE;color:#00267E;}
.fileInfo>i{margin-right:5px;}
.fileInfo>div{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%;max-width:calc(100% - 130px);align-items:center;display:flex;mask-image:var(--mask);-webkit-mask-image:var(--mask);--mask:linear-gradient(to right, black 0%, black calc(100% - 25px), transparent 100%);}
.dir .fileInfo>div{max-width:calc(100% - 30px);}
.fileDirBox .fileInfo>div{max-width:calc(100% - 60px);}
.fileInfo>div>span{display:block;background:#ECECEE;opacity:.8;font-size:.7em;padding:1px 5px;border-radius:10px;margin-right:3px;transition:background .2s;}
.fileInfo:active>div>span{background:#F0F6FE;}
.fileOperations{position:absolute;right:5px;top:0;bottom:0;display:flex;align-items:center;}
.fileOperations i{width:35px;height:35px;font-size:1.1em;padding-top:2px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid transparent;transition:border .2s,background .2s,color .2s;}
.fileOperations i:hover{border:1px solid #ECECEE;background:#F4F4F6;}
.fileOperations i:active{border:1px solid #ECECEE;background:#ECECEE;color:#00267E;}
.fileOperations span{font-size:.9em;opacity:.8;margin-right:5px;}

/* 文档预览 */
.loaderScreen{position:fixed;z-index:5;inset:60px 0 0 0;background:#F9F9FB;transition:opacity .2s;}
.loaderScreen[hidden]{display:flex!important;opacity:0;pointer-events:none;}
.loaderScreen>img{width:50px;height:50px;margin-bottom:5px;filter:brightness(0.6);}
.loaderScreen>span{margin-bottom:10px;}
.loaderScreen>.progress{margin-bottom:70px;width:150px;}
.loaderScreen>.progress>div{background:#F0F6FE;}
.loaderScreen>.tip{position:absolute;bottom:70px;left:10px;right:10px;text-align:center;opacity:.8;font-size:.9em;}
.errorScreen>.errorContent{height:fit-content;}
.viewerFrame{position:fixed;width:100%;height:100%;border:0;}
.converterFrame{position:fixed;opacity:0;pointer-events:none;}

/* 对话框 */
.modalContainer>div>.modalHeader>div{font-weight:normal!important;}

/* 新手指引 */
#newcomerTipDialog>div{background:#00267E;color:white;border:none;min-height:140px;}
#newcomerTipText{font-size:.9em;text-align:justify;}
#newcomerTipSubmit{background:white;}

/* 验证码框 */
#captchaDialog .input{height:40px;overflow:hidden;}
#captchaDialog .input img{height:40px;image-rendering:pixelated;border-left:1px solid #EFEFEF;}
#captchaDialog .linkDefender{position:absolute;width:70px;left:25px;bottom:30px;}


/* 移动适配 */
@media screen and (max-width: 600px) {
	header{padding:0 15px 0 10px;}
	header #appLogo{display:none;}
	.filesMain{left:0;width:100%;padding-top:120px;}
	#sidebar{position:absolute;top:60px;height:50px;width:100%;background:#F9F9FBEE;backdrop-filter:blur(20px);border-right:none;border-bottom:1px solid #ECECEE;display:flex;padding:10px 0 10px 10px;flex-wrap:nowrap;overflow-x:scroll;white-space:nowrap;}
	#sidebar>#subjectSwitcher{margin:0;padding:0 10px;height:30px;margin-right:10px;}
	#sidebar>#subjectNav{display:flex;flex-wrap:nowrap;}
	#sidebar>#subjectNav>div{padding:0 10px;height:30px;margin:0;display:flex;align-items:center;justify-content:center;margin-right:10px;}
	#sidebar>#subjectNav>div>i{margin-right:5px;}
	header .operations #mobileTabsBarBtn{display:flex;}
	header #tabsBar{margin:0 5px 0 0;}
	header #tabsBar>div:not(.active){display:none;}
	header #tabsBar>div.active{width:100%;background:transparent!important;color:black;font-size:.95em;}
	header #tabsBar>div.active>i:last-child{display:none;}
	header #tabsBar>div.active>span{max-width:unset;}
	.initialPageLinks,#todoList{grid-template-columns:1fr;gap:0;}
	.initialPageLinks>div,#todoList>div{background:transparent;padding:10px 15px;}
	#forumTopicList>div{background:transparent;flex-direction:column;gap:5px;padding:10px 15px;align-items:flex-start;}
	#forumTopicList>div .info{display:flex;gap:10px;align-items:center;flex-wrap:nowrap;white-space:nowrap;overflow:hidden;}
	#forumTopicList>div .info *{overflow:hidden;text-overflow:ellipsis;}
	body:not(.home) header .operations #mobileCloseBtn{display:flex;}
	body:not(.home) header .operations #menuBtn{display:none;}
}
@media screen and (max-width: 550px) {
	#newcomerTipDialog>div{overflow:visible;padding-left:0;}
	#newcomerTipText{font-size:1em;}
}
@media screen and (min-width: 550px) {
	.filesMain::-webkit-scrollbar{display:block;}
}