html,body{
  margin:0;
  height: 100%;
  width: 100%;
  min-width: 1000px;  /* Prevent layout from breaking below 1000px */
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  color: #111;
  overflow-x: auto;  /* Enable horizontal scroll when needed */
}
#body-out{
  background: white url("../images/DSC_2690.e1face05c1e9.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  background-color: #464646;
}
p{
  margin:0;
}
[v-cloak] {
  display: none;
}
h3, h4{
  margin-bottom: 5px;
}

/**************************/
/********* Header *********/
/**************************/
#header{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  width:100%;
  min-width: 1000px;  /* Consistent minimum width */
  background: rgba(256,256,256, 1);
  padding: 12px 20px;
  box-sizing: border-box;
}

#header .logo {
  font-size: 1.4rem;
  text-decoration: none;
  color: black;
}

#header .menu {
  font-size: 1.1rem;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

#header .menu a {
  position: relative;
  text-decoration: none;
  color: black;
  display: flex;
  align-items: center;
}

#header .menu a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: #000;
  transition: width 0.3s ease;
}

#header .menu a:hover::after {
  width: 100%; /* ホバー時に下線を全幅に広げる */
}

#header .menu .is-new::before {
	content: "NEW";
  color: #3f73ff;
  font-size: 16px;
  font-weight: bold;
  padding: 0 4px;
  margin-right: 4px;
  border: solid 1px #3f73ff;
  border-radius: 4px;
}

/**************************/
/******** Contents ********/
/**************************/
#contents{
  float: left;
  height : 90%;
  height : -webkit-calc(100% - 60px);
  height : calc(100% - 60px);
  min-height: fit-content;
  width:100%;
  min-width: 1000px;  /* Minimum width to prevent layout breaking */
  background-color: #fff;
}
#contents form{
  height: 100%;
}
#contents-out{
  float: left;
  height : 90% ;
  height : -webkit-calc(100% - 60px) ;
  height : calc(100% - 60px) ;
  width:100%;
}
#contents-out form{
  height: 100%;
}
#paperlist{
  margin-left: -280px;
  width: 100%;
  min-width: 1000px;  /* Minimum width to prevent layout breaking */
  float: right;
  height: 100%;
  height : -webkit-calc(100% - 5px) ;
  height : calc(100% - 5px) ;
  background-color: #f9f9fc;
}
#list{
  margin-left: 280px;
  height: 100%;
}
#sidebar{
  padding-top:10px;
  width: 279px;
  float: right;
  height: 95%;
  height : -webkit-calc(100% - 10px) ;
  height : calc(100% - 20px) ;
  background-color: #f5f5f7;
  border-right: 1px solid #eee;
}

/**************************/
/********* Sidebar *********/
/**************************/
#sidebar .title{
  width: 100%;
  height: 30px;
  line-height: 35px;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  border-bottom: 1.5px solid #ddd;
}
#sidebar .search, #sidebar .addtolist, #sidebar .remove, #sidebar .addpaper{
  width: 90%;
  height:fit-content;
  margin: 0px auto;
  margin-bottom: 10px;
}
#sidebar .dataflag{
  display: flex;
  gap: 4px;
}

#sidebar .addtolist{
  height: 56%;
}
#sidebar .addpaper{
  height: 17%;
}
#sidebar .listname{
  width: 100%;
  height: 70%;
  height : -webkit-calc(100% - 105px) ;
  height : calc(100% - 105px) ;
  overflow-y: scroll;
}
#sidebar .search input[type="text"]{
  /*float: left;
  width: 87%;*/
  margin-top:5px;
  width:59%;
  height: 19px;
  display: block;
  font-size: 16px;
  outline: 0;
  text-align: center;
  border: 1px solid #ddd;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
#sidebar .search img{
  float: left;
  width: 7%;
  margin: 5px auto;
  padding: 1%;
  background-color: #ddd;
}

#sidebar .search select{
  float: left;
  width: 36%;
  height: 21px;
  font-size: 16px;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border: 1px solid #ddd;
  margin: 2px;
  margin-top:5px;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  box-sizing: content-box;
}
#sidebar .addtolist input[type="text"]{
  display: block;
  float: left;
  margin-left: -5px;
  width: 80%;
  height:100%;
  outline: 0;
  text-align: left;
  font-size: 16px;
  background-color:transparent;
  border: 0px solid #eee;
}
#sidebar input.newlist{
  opacity: 0.4;
}
#sidebar .addtolist .create input[type="button"]{
  display: block;
  float: left;
  margin: 0;
  margin-left: 10px;
  margin-top:5px;
  padding: 0;
  width: 15%;
  height:15px;
  line-height: 15px;
  text-align: left;
  background-color:transparent;
  border: 0px solid #eee;
  font-size: 16px;
  font-weight: bold;
}
input.createlist::-webkit-input-placeholder {
    color: #111;
    font-weight: normal;
}
input.createlist:-ms-input-placeholder {
    color: #111;
    font-weight: normal;
}
input.createlist::-moz-placeholder {
    color: #111;
    font-weight: normal;
}
input:focus::-webkit-input-placeholder { color:transparent; }
input:focus:-moz-placeholder { color:transparent; }
input:focus::-moz-placeholder { color:transparent; }

#sidebar input[type="button"]{
  width: 95%;
  margin: 5px 2.5%;
  margin-bottom: 5px;
  border: 1px solid #ddd;
  background-color: #e0e0e0;
  font-size: 16px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  padding: 4px;
  font-weight: bold;
  color: #555;
}
#sidebar input[type="submit"]{
  width: 95%;
  margin: 5px 2.5%;
  margin-bottom: 5px;
  border: 1px solid #ddd;
  background-color: #e0e0e0;
  font-size: 16px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  color: #555;
}
#sidebar input[type="submit"]:hover{
  background-color: #e5e5e5;
}
#sidebar input[type="button"]:hover{
  background-color: #e5e5e5;
}
#sidebar input[type="button"]:disabled{
  background-color: #eee;
  border: 1px solid #ededed;
  color: #ddd;
}
.list{
  display: block;
  width:100%;
  height: 25px;
  line-height: 25px;
  margin: 0px auto;
}
.list:hover{
  background-color: #ddd;
}
.listall{
  padding-left:42px;
  width: 83.5%;
  width : -webkit-calc(100% - 42px) ;
  width : calc(100% - 42px) ;
}
.list.active{
  background-color: #dcdcdc;
  color: #111;
}
.addtolist label{
  width:80%;
  height:100%;
  float: left;
  display: block;
  font-size: 16px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.addtolist input[type="checkbox"]{
  display: block;
  float: left;
  margin: 0;
  margin-left: 5px;
  margin-top: 5px;
  width:15%;
  height:15px;
}
.addtolist input[type="checkbox"]:disabled{
	opacity: 0.4;
}

#sidebar .addpaper textarea{
  width: 95%;
  height: 50px;
  display: block;
  margin: 5px auto;
  text-align: center;
  font-size: 16px;
  border: 1px solid #ddd;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  resize: none;
}

#sidebar .search-methods {
  margin-bottom: 8px;
}

#sidebar .search-input {
  width: 100%;
  height: 60px;
  margin-bottom: 8px;
  font-size: 14px;
}

/**************************/
/********* Paperlist *********/
/**************************/
.paper .sub-menu{
  width: 100%;
  height:30px;
  margin: 0;
  padding:0;
  padding-left: 10px;
  /*background-color: #eee;*/
  border-top: 0.5px solid #ddd;
  border-bottom: 1px solid #ddd;
  background-color: #ececec;
}
.paper .sub-menu .checkbox{
  float: left;
  width: 30px;
  height: 100%;
  line-height: 30px;
  border-right: 1px solid #ddd;
}
.paper .sub-menu .subcontent label{
  text-align: center;
  line-height: 30px;
  float: left;
  height: 100%;
  width: fit-content;
  padding:0px 20px;
  border-right: 1px solid #ddd;
}
.paper .sub-menu .removelist{
  float: right;
}
.paper .sub-menu .removelist label:hover{
  background-color: #FA8072;
}
.paper .sub-menu .remove label:hover{
  background-color: #FA8072;
}
.paper .sub-menu .download label:hover{
  background-color: #e0e0e0;
}
.paper .sub-menu .getdata label:hover{
  background-color: #e0e0e0;
}
.paper .sub-menu .getdoi label:hover{
  background-color: #e0e0e0;
}
.paper .sub-menu .visualization label:hover{
  background-color: #e0e0e0;
}

.paper ul{
  width: 100%;
  height: 98%;
  height : -webkit-calc(100% - 30px) ;
  height : calc(100% - 30px) ;
  overflow-y: scroll;
  overflow-x: hidden;
  margin: 0;
  padding:0;
  list-style:none;
  box-shadow: 2px -3px 3px 0px rgba(0,0,0,0.1) inset;
  background-color: #fff;
}
.paper li{
  width: 100%;
  border-bottom: 1px solid #ddd;
  padding: 6px 8px;
  min-height: auto;
  background-color: #f8f9fa;
  border-radius: 4px;
}
.paper li:hover{
  background-color: #eee;
}
.paper .field .checkbox{
  width: 30px;
  height: 100%;
  vertical-align: top;
  display: inline-block;
}
.paper .field .space{
  height: 12px;
  float: left;
  width: 100%;
}
.paper .field .checkbox label{
  display: block;
  float: left;
  height: 40px;
  line-height: 55px;
  width: 100%;
  margin:0;
}
.paper .field .checkbox i{
  display: block;
  height: 40px;
  line-height: 25px;
  padding-left:4.5px;
  font-weight: bold;
  color: #666;
  cursor: move;
}
.paper .field .papercontent{
  width: 96%;
  width : -webkit-calc(100% - 40px) ;
  width : calc(100% - 40px) ;
  height: 100%;
  display: inline-block;
}
.paper .content{
  float: left;
  width: 100%;
}
.paper .title{
  display: block;
  width: 100%;
  font-size: 16px;
  font-weight: 700;
  color: #2c3e50;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;  /* Prevent text wrapping */
}
.paper .author{
  display: inline-block;
  font-size: 14px;
  color: #6c757d;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.paper .journal{
  display: inline-block;
  font-size: 14px;
  color: #6c757d;
  font-style: italic;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.paper .jump{
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}
.paper .jump a{
  color: #007bff;
  text-decoration: none;
  font-size: 13px;
  padding: 1px 6px;
  border: 1px solid #007bff;
  border-radius: 3px;
  transition: all 0.3s;
}
.paper .jump a:hover{
  background-color: #007bff;
  color: white;
}
.paper .common{
  display: block;
  float: left;
  width: 100%;
}
.space{
  display: block;
  float: left;
  width: 3%;
}
.paper .tagarea{
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  width: 100%;
  margin-bottom: 3px;
}
.tagarea .sid{
  display: inline-flex;
  align-items: center;
  height: auto;
  margin: 0;
  padding: 2px 6px;
  font-size: 12px;
  color: #495057;
  background-color: #e9ecef;
  border-radius: 3px;
  white-space: nowrap;
  font-weight: 600;
  line-height: 1.4;
}
#list .mylist{
  padding-top:5px;
  margin:0 auto;
  height: 27px;
  overflow-y: auto;
  width:99%;
}
.mylist::-webkit-scrollbar {
  display: none;
}
.mylist a{
  float: left;
  width: fit-content;
  height: 10px;
  margin-right: 5px;
  margin-bottom: 5px;
  padding: 5px 20px;
  line-height: 10px;
  text-align: center;
  border: 1px solid #ccc;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  text-decoration: none;
  font-size: 16px;
  color: #aaa;
}
.mylist a:hover{
  background-color: #dcdcdc;
  color: #111;
}
.mylist .active{
  background-color: #dcdcdc;
  color: #111;
}
#list .paper{
  float: left;
  margin:0 auto;
  height: fit-content;
  height : -webkit-calc(100% - 37px) ;
  height : calc(100% - 37px) ;
  width:99%;
}
#list .pagelimit{
  float: left;
  margin:10px;
  width:auto;
}
#list .pagelimit input[type="text"]{
  width:30px;
  text-align: center;
}
#list .pagination{
  float:right;
  margin:10px;
  padding-right: 10px;
  width:auto;
}
#list .no-result {
  padding: 8px;
}
/**************************/
/********* Login *********/
/**************************/
#outside{
  margin:20px auto;
  width: fit-content;
  height: 100%;
  width: 1210px;
}

#outside .explain{
  float: left;
  height:fit-content;
  width:690px;
}
#outside .exp-alpha{
  height: 580px;
  width: 90%;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  background: rgba(256,256,256, 0.3);
  padding-top: 10px;
  margin-top: 30px;
}

#outside .exp-text{
  width: 580px;
  height: 580px;
  margin: 0px auto;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  padding: 10px;
  color:#fff;
  text-align: justify;
  text-justify: inter-ideograph;
}

#outside .exp-text p {
  margin-bottom: 24px;
}

#outside .exp-see-more {
  font-weight: bold;
  font-size: 18px;
  text-align: center;
}

#outside .exp-see-more-link {
  color: white;
}

#outside .outer{
  float: right;
  height: fit-content;
  width: 500px;
  margin-top: 30px;
  background: rgba(256,256,256, 0.5);
}
#outside .attention{
  float: right;
  height: fit-content;
  width: 500px;
  margin-top: 50px;
  background: rgba(256,233,170, 0.8);
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
}
#outside .suppertimg{
  width: 160px;
  width: fit-content;
  margin:-20px auto;
  margin-bottom: 10px;
}
#outside .attention img{
  width: 50px;
}
#outside .atttext{
  margin: 20px;
  text-align: justify;
  text-justify: inter-ideograph;
}
#outside .cite{
  height: fit-content;
  width: 95%;
  margin-top: 5px;
  padding:10px;
  background-color: #ddd;
  border: 2px solid #ccc;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
#outside form{
  height: 95%;
  width: 95%;
  margin:2.5% auto;
  background-color: #fff;
}

#outside form p {
  width: 90%;
  margin: 8px auto;
  display: flex;
  align-items: center;
  gap: 8px;
}

#outside form p label {
  width: 80px;
}

#outside form p input {
  font-size: 18px;
  width: calc(100% - 80px);
}

#outside .title{
  width: 100%;
  height: 70px;
  line-height: 70px;
  margin-bottom: 20px;
  font-size: x-large;
  font-weight: bold;
  text-align: center;
  background-color: #fff;
  border-bottom: 1px solid #ddd;
}

#outside button{
  width: 100%;
  height: 50px;
  border: 0px solid #fff;
  margin-top: 20px;
  font-size: large;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
  -webkit-border-bottom-right-radius: 5px;
  -webkit-border-bottom-left-radius: 5px;
  -moz-border-radius-bottomright: 5px;
  -moz-border-radius-bottomleft: 5px;
  background-color: #f0f0f0;
}
#outside button:hover{
  background-color: #e5e5e5;
}
#outside p{
  display: block;
  width: 96%;
}
#outside .helptext{
  display: block;
  width: 90%;
  margin: 0px auto;
  font-size: small;
  text-align: center;
  color: #555;
}
#outside .errorlist{
  display: block;
  float: left;
  width: 96%;
  padding: 0 2%;
  margin:0;
  margin-top: 5px;
  list-style:none;
  font-size: medium;
  text-align: center;
  color: red;
}

/****************************/
/*********  Modal    ********/
/****************************/

.modal-mask {
  position: fixed;
  z-index: 9998;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .5);
  display: table;
  transition: opacity .3s ease;
}
.modal-wrapper {
  display: table-cell;
  vertical-align: middle;
}
.modal-container {
  width: 700px;
  max-height:500px;
  height: fit-content;
  margin: 0px auto;
  padding: 20px 30px;
  background-color: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .33);
  transition: all .3s ease;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
.modal-body {
  margin: 20px 0;
}
.modal-contents{
  width: 100%;
  height:fit-content;
  max-height: 400px;
  overflow-x: hidden;
  overflow-y: hidden;
  border: 1px solid #eee;
}
.modal-body .modal-item{
  padding-top: 2px;
  padding-bottom: 2px;
  text-align: justify;
}
.modal-body .close{
  width: fit-content;
  height: 20px;
  margin: 0px auto;
  margin-top: 20px;
}
.modal-body .close label{
  display: inline-block;
  width: 210px;
  height: 20px;
  text-align: center;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  background-color: #eee;
}
.modal-body .close label:hover{
  background-color: #ddd;
}
.modal-body .closedisabled{
  width: fit-content;
  height: 20px;
  margin: 0px auto;
  margin-top: 20px;
}
.modal-body .closedisabled label{
  display: inline-block;
  width: 210px;
  height: 20px;
  text-align: center;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  background-color: #eee;
}
.modal-body textarea{
  display: block;
  width: 99%;
  height:400px;
  margin: 0px auto;
  border: 0px solid #fff;
  font-size: 16px;
  line-height: 20px;
}

.modal-enter .modal-container,
.modal-leave-active .modal-container {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
.modal-body .getbutton{
  display: block;
  width: 100%;
  height: 50px;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
  background-color: #eee;
  margin-bottom: 5px;
}
.modal-body .getbutton:hover{
  background-color: #ddd;
}

.modal-body .title{
  display: inline-block;
  width: 100%;
  height: 40px;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
}
.modal-body .property{
  display: inline-block;
  width: 50%;
  height: 40px;
  text-align: right;
}
.modal-body .interval{
  display: inline-block;
  width: 49%;
  height: 40px;
  text-align: left;
}
.modal-body .fittingtype{
  margin: 0px auto;
  height: 30px;
  width: 100%;
}
.modal-body .fitting-property{
  float: left;
  width: 50%;
  margin: 0;
  text-align: right;
}
.modal-body .fitting-interval{
  float: left;
  width: 100px;
  line-height: 30px;
  padding-left: 10px;
  font-size: 16px;
}
.modal-body .interval input[type="text"]{
  text-align: right;
}


/****************************/
/*********  detail    ********/
/****************************/

#detailpage{
  height: 100%;
  margin: 0px auto;
  padding: 0 50px;
}

#detailpage .info{
  float: left;
  width: 100%;
  height:fit-content;
  margin-top: 10px;
  margin-bottom: 10px;
  border: 1px solid #eee;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
}
.info .content{
  float: left;
  width: 100%;
  min-height: 40px;
}
.info .content-short{
  float: left;
  width: 50%;
  min-height: 60px;
}
.info .title{
  float: left;
  width: 100%;
  height: 40px;
  line-height: 40px;
  font-weight: bold;
  font-size: 16px;
  text-indent:1em;
  background-color: #ddd;
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  -webkit-border-top-left-radius: 5px;
  -moz-border-radius-topright: 5px;
  -moz-border-radius-topleft: 5px;
}
.info .content .cap{
  float: left;
  width: 12vw;
  height: 100%;
  height : -webkit-calc(100% - 20px) ;
  height : calc(100% - 20px) ;
  margin-left: -10px;
  padding-right: 10px;
  background-color: #f9f9f9;
  text-align: right;
}
.info .content .val{
  float: left;
  width: 70vw;
  height: 100%;
  padding-left: 10px;
}
.info .content .title,.info .content-short .title{
  float: left;
  width: 100%;
  background-color: #eee;
  font-size: 16px;
  border-top-right-radius: 0px;
  border-top-left-radius: 0px;
  -webkit-border-top-right-radius: 0px;
  -webkit-border-top-left-radius: 0px;
  -moz-border-radius-topright: 0px;
  -moz-border-radius-topleft: 0px;
  border-bottom: 1px solid #ddd;
}
#detailpage .title.top.left{
  width: 95%;
  border-top-right-radius: 0px;
  -webkit-border-top-right-radius: 0px;
  -moz-border-radius-topright: 0px;
}
#detailpage .title.top.right{
  width: 5%;
  background-color: #aaa;
  border-top-left-radius: 0px;
  -webkit-border-top-left-radius: 0px;
  -moz-border-radius-topleft: 0px;
  box-shadow: 2px -3px 3px 0px rgba(0,0,0,0.1) inset;
}
#detailpage .title.top.right:hover{
  background-color: #bbb;
}

.info .content .value,.info .content-short .value{
  float: left;
  height: fit-content;
  width: 99%;
  width : -webkit-calc(100% - 10px) ;
  width : calc(100% - 10px) ;
  line-height: 30px;
  padding-left: 10px;
}
.info .content .value:hover,.info .content-short .value:hover{
  background-color: #f9f9f9;
}
#detailpage .back{
  height: 30px;
  line-height: 30px;
  padding-left: 10px;
}

#detailpage .items{
  float: left;
  width: 100%;
  height:fit-content;
  padding-bottom: 10px;
  border: 1px solid #eee;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
}

#detailpage .delete{
  float: left;
    display: block;
    width: 20px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    margin-top: 5px;

}
#detailpage .delete:hover{
  color: red;
  font-weight: bold;
  cursor: pointer;
  cursor: hand;
}
#detailpage .num{
  height: 100%;
  height: 35px;
  line-height: 35px;
  width: 35px;
  display: block;
  float: left;
  margin-top:5px;
  margin-bottom:5px;
  font-size: 16px;
  text-align: center;
}
#detailpage .title .togglehead{
  display:inline-block;
  width: 20px;
  height: 40px;
  line-height:40px;
  text-align: center;
  text-indent: 0em;
  color: #aaa;
  transition-duration: 0.3s;
}
#detailpage .togglehead.rotate{
  -moz-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
  transition-duration: 0.3s;
  transform-origin: center;
}
#detailpage .value.addauthor, #detailpage .value.adddescriptor{
  margin: 8px 0 8px;
  font-size: 42px;
  font-weight: bold;
  text-align: center;
  color: #AFAFAF;
}
#detailpage .value.addauthor:hover, #detailpage .value.adddescriptor:hover{
  color: #555;
  cursor: pointer;
  cursor: hand;
}


/****************************/
/*********  data    ********/
/****************************/
#datapage{
  max-width: 100%;
  padding: 5px;
  background-color: #ffffff;
  min-height: 100vh;
}
#datapage .paperinfo{
  background-color: #f8f9fa;
  padding: 8px;
  border-radius: 4px;
  margin-bottom: 3px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.08);
}
#datapage .tagarea{
  display: flex;
  gap: 4px;
  margin-bottom: 3px;
  flex-wrap: wrap;
}
#datapage .sid{
  background-color: #e9ecef;
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 600;
  color: #495057;
}
#datapage .content{
  display: block;
  width: 100%;
  height: fit-content;
}
#datapage .paperinfo .title{
  display: inline-block;
  width: 100%;
  font-size: 16px;
  font-weight: 700;
  color: #2c3e50;
  margin-bottom: 2px;
  line-height: 1.2;
}
#datapage .paperinfo .author{
  display: inline-block;
  font-size: 14px;
  color: #6c757d;
  margin-bottom: 1px;
}
#datapage .paperinfo .journal{
  display: inline-block;
  font-size: 14px;
  color: #6c757d;
  font-style: italic;
  margin-bottom: 2px;
}
#datapage .common{
  display: block;
  width: 97%;
  height: auto;
}
#datapage .jump{
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin-top: 3px;
}
#datapage .jump a{
  color: #007bff;
  text-decoration: none;
  font-size: 13px;
  padding: 1px 6px;
  border: 1px solid #007bff;
  border-radius: 3px;
  transition: all 0.3s;
}
#datapage .jump a:hover{
  background-color: #007bff;
  color: white;
}

#datapage .editor{
  width: 99%;
  width : -webkit-calc(100% - 15px) ;
  width : calc(100% - 15px) ;
  height: 30px;
  line-height: 30px;
  border: 1px solid #ddd;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  margin: 0px auto;
}
#datapage .editor .title{
  float: left;
  height: 100%;
  border-right: 1px solid #ddd;
  background-color: #ececec;
  text-align: center;
  font-weight: bold;
  padding: 0px 10px;
}
#datapage .editor .value{
  float: left;
  width:fit-content;
  height: 100%;
}
#datapage .editor .value label{
  padding-left: 5px;
}
#datapage .nodata{
  font-size: 18px;
  color: gray;
  text-align: center;
  margin-top: 20px;
}

#datapage .figures-and-samples-list{
  float: left;
  width: 100%;
  height: fit-content;
  margin: 10px auto 40px;
}
#datapage .figcontents{
  width:auto;
  display: table;
  table-layout: auto;
}
#datapage .samplecontents{
  width:auto;
  display: table;
  table-layout: auto;
}
#datapage table{
  display: block;
  float: left;
  width : -webkit-calc(50% - 10px) ;
  width : calc(50% - 10px) ;
  margin-left: 5px;
  margin-right: 5px;
  text-align: center;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-collapse:collapse;
  width: 100%;
}
#datapage thead{
  width:100%;
}
#datapage tbody{
  width:100%;
}
#datapage tr{
  width: 100%;
}
#datapage th{
  border-bottom: 1px solid #ddd;
  background-color: #ececec;
}
#datapage .figcontents td {
  text-align: left;
}
#datapage .figcontents th{
  border: 1px solid #ddd;
  overflow-wrap: normal;
  word-wrap: normal;
  white-space: nowrap;
  padding: 4px 6px;
  font-size: 14px;
}
#datapage .figcontents td{
  border: 1px solid #ddd;
  overflow-wrap: break-word;
  word-wrap: break-word;
  white-space: nowrap;
  padding: 4px 8px;
}
#datapage .figcontents th:nth-child(1) {
  width: 80px;
  max-width: 80px;
  text-align: center;
  white-space: nowrap;
}
#datapage .figcontents td:nth-child(1) {
  width: 80px;
  max-width: 80px;
  text-align: left;
  padding-left: 8px;
}
#datapage .figcontents th:nth-child(2) {
  width: auto;
  min-width: 110px;
  padding: 4px 6px;
  text-align: center;
}
#datapage .figcontents td:nth-child(2) {
  width: auto;
  min-width: 100px;
  padding: 4px 8px;
}
#datapage .figcontents th:nth-child(3) {
  width: auto;
  min-width: 100px;
  padding: 4px 6px;
  text-align: center;
}
#datapage .figcontents td:nth-child(3) {
  width: auto;
  min-width: 120px;
  padding: 4px 8px;
}
#datapage .figcontents th:nth-child(4) {
  width: auto;
  min-width: 70px;
  padding: 4px 6px;
  text-align: center;
}
#datapage .figcontents td:nth-child(4) {
  width: auto;
  min-width: 100px;
  padding: 4px 8px;
}
#datapage .figcontents th:nth-child(5) {
  width: auto;
  min-width: 100px;
  padding: 4px 6px;
  text-align: center;
}
#datapage .figcontents td:nth-child(5) {
  width: auto;
  min-width: 120px;
  padding: 4px 8px;
}
#datapage .figcontents th:nth-child(6) {
  width: auto;
  min-width: 70px;
  padding: 4px 6px;
  text-align: center;
}
#datapage .figcontents td:nth-child(6) {
  width: auto;
  min-width: 100px;
  padding: 4px 8px;
}
#datapage .samplecontents td {
  text-align: left;
}
#datapage .samplecontents th{
  border: 1px solid #ddd;
  overflow-wrap: normal;
  word-wrap: normal;
  white-space: nowrap;
  padding: 4px 6px;
  font-size: 14px;
}
#datapage .samplecontents td{
  border: 1px solid #ddd;
  overflow-wrap: break-word;
  word-wrap: break-word;
  white-space: nowrap;
  padding: 4px 8px;
}
#datapage .samplecontents th:nth-child(1) {
  width: 80px;
  max-width: 80px;
  text-align: center;
  white-space: nowrap;
}
#datapage .samplecontents td:nth-child(1) {
  width: 80px;
  max-width: 80px;
  text-align: left;
  padding-left: 8px;
}
#datapage .samplecontents th:nth-child(2) {
  width: auto;
  min-width: 130px;
  text-align: center;
  padding: 4px 6px;
}
#datapage .samplecontents td:nth-child(2) {
  width: auto;
  min-width: 120px;
}
#datapage .samplecontents th:nth-child(3) {
  width: auto;
  min-width: 140px;
  text-align: center;
  padding: 4px 6px;
}
#datapage .samplecontents td:nth-child(3) {
  width: auto;
  min-width: 150px;
}
#datapage .samplecontents a {
  text-decoration: none;
}
#datapage .samplecontents a:hover {
  text-decoration: underline;
}
#datapage th.title{
  width: 100%;
  border-bottom: 1px solid #ddd;
}
#datapage th.num {
  width:60px;
  max-width: 60px;
  text-align: center;
  white-space: nowrap;
  padding: 0px;
}
#datapage td.num {
  width:60px;
  max-width: 60px;
  text-align: left;
  padding-left: 8px;
}

#datapage .figcontents th, #datapage .samplecontents th {
  cursor: default;
}

#datapage .figcontents td > a {
  color: inherit;
}

#datapage .sort-button {
  visibility: hidden;
  opacity: 0;
  float: right;
}

#datapage th:hover .sort-button {
  visibility: visible;
  opacity: 0.5;
}

#datapage th:hover .sort-button.is-active-sort {
  opacity: 1;
}

#datapage .sort-button.is-active-sort {
  visibility: visible;
  opacity: 1;
}

#datapage .addform{
  float: left;
  width: 100%;
  height: fit-content;
  margin-top: 10px;
}

/* 左側のフォームスタイル */
#datapage .addform .half-left {
  float: left;
  width: 50%;
  height: fit-content;
  background-color: #f5f5f5;
  border-radius: 10px;
}

/* 編集モード時の背景色を変更 */
#datapage .addform .half-left.editing-mode {
  background-color: #F0F8FF;
}

#datapage .edit-mode-toggler {
  padding: 12px;
  font-weight: bold;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
}

#datapage .edit-mode-toggler_switch {
  position: relative;
  width: 40px;
  height: 20px;
  border-radius: 20px;
  background-color: rgb(152, 152, 152);
  cursor: pointer;
}

#datapage .edit-mode-toggler_switch.is-editing {
  background-color: #36A597;
}

#datapage .edit-mode-toggler_switch::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border-radius: 18px;
  background-color: #ffffff;
  transition: all .3s ease;
}

#datapage .edit-mode-toggler_switch.is-editing::after {
  left: 22px;
}

#datapage .addform .attach{
  float: right;
  width: 38%;
  height: 90%;
  height : -webkit-calc(100% - 50px) ;
  height : calc(100% - 50px) ;
  margin-bottom: 20px;
}
#datapage .addform .data{
  float: right;
  width: 60%;
  height: 90%;
  height : -webkit-calc(100% - 50px) ;
  height : calc(100% - 50px) ;
  margin-bottom: 20px;
}
#datapage .addform .attach .title,#datapage .addform .data .title{
  float: left;
  width: 100%;
  height: 25px;
  line-height: 30px;
  font-size: 16px;
  font-weight: bold;
  text-indent: 0.5em;
}
#datapage .addform .data .value{
  float: left;
  width: 100%;
  height: 25px;
  line-height: 30px;
  font-size: 16px;
}
#datapage .addform .attach .value{
  float: left;
  width: 100%;
  height: 25px;
  line-height: 30px;
  font-size: 16px;
}

#datapage .addform .attach .ten,
#datapage .addform .attach .ten-gray {
  float: left;
  width: 15%;
  height: 25px;
  line-height: 25px;
}

#datapage .addform .attach .ten-gray {
  color: gray;
}

#datapage .addform .attach .multi{
  float: left;
  margin-right: 1%;
  width: 10%;
}
#datapage .addform .attach .multi::-webkit-inner-spin-button,
#datapage .addform .attach .multi::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
  -moz-appearance:textfield;
}
#datapage .addform .attach .unit{
  float: left;
  width:65%;
  height: 25px;
  line-height: 30px;
  font-size: 16px;
}
#datapage .addform .attach .value input[type="search"]{
  height: 25px;
  font-size: 16px;
}
#datapage .addform .attach .value input[type="search"]:disabled{
  height: 0px;
}
#datapage .addform .attach .unit input[type="search"]{
  height: 21px;
  margin-top: 0px;
  padding-top: 0px;
}
#datapage .addform .attach .unit input[type="search"]:disabled{
  height: 0px;
}


#datapage .addform .comment{
  float: left;
  width: 100%;
  width : -webkit-calc(100% - 20px) ;
  width : calc(100% - 20px) ;
  height: fit-content;
  /*margin-top: 20px;*/
  padding-bottom: 20px;
  padding-left: 10px;
  padding-right: 10px;
  background-color: #d5d5d5;
  border-bottom-right-radius: 10px;
  -webkit-border-bottom-right-radius: 10px;
  -moz-border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  -webkit-border-bottom-left-radius: 10px;
  -moz-border-bottom-left-radius: 10px;
}
#datapage .addform .comment.active{
  background-color: #BAD3FF;
}
#datapage .addform .comment .condition{
  float: left;
  width: 48%;
  height: 25px;
  line-height: 20px;
  font-size: 16px;
  font-weight: bold;
  text-indent: 0.5em;
  padding:5px;
}
#datapage .addform .comment .condition .condname{
  float: left;
  width: 45%;
  text-align: right;
}
#datapage .addform .comment .condition .condval{
  float: left;
  width: 50%;
  font-size: 16px;
}
#datapage .addform .comment .condition2{
  float: left;
  width: 98%;
  height: 25px;
  line-height: 20px;
  font-size: 16px;
  font-weight: bold;
  text-indent: 0.5em;
  padding:5px;
}
#datapage .addform .comment .condition2 .condname{
  float: left;
  width: 22%;
  text-align: right;
}
#datapage .addform .comment .condition2 .condval{
  float: left;
  width: 75%;
  font-size: 16px;
}
#datapage .addform .comment .title{
  float: left;
  width: 100%;
  height: 25px;
  line-height: 30px;
  font-size: 16px;
  font-weight: bold;
  text-indent: 0.5em;
}
#datapage .addform .comment textarea{
  height: 35px;
  width: 98%;
  padding:5px;
}

.v-select{
  height: 25px;
  width: 95%;
}
.v-select .disabled{
  opacity: 0.4;
}
.v-select .dropdown-toggle{
  height: 25px;
  background-color: #fff;
}
.v-select .dropdown-menu{
  min-width: 100%;
  width: auto;
}
.v-select .selected-tag{
  height: 22px;
  width: 90%;
  margin: 1px;
  line-height: 22px;
  border: 0px solid #fff;
  background-color: #fff;
  font-size: 16px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v-select .open-indicator{
  height: 20px;
  bottom: 3px;
  right:10px;
}
.v-select .open-indicator:before{
  vertical-align: middle;
}
.v-select input[type="search"]{
  height: 0px;
}
#datapage .addform .attach .value input[type="text"]{
  display: block;
  width: 100%;
  font-size: 16px;
}
#datapage .addform .attach .value input{
  font-size: 16px;
  line-height: 1.4;
}
#datapage .addform .attach .value select{
  display: block;
  width: 95%;
}
#datapage .addform .column{
  float: left;
  width: 100%;
  margin-bottom: 4px;
}
#datapage .addform .figure-caption {
  margin-bottom: 60px;
}

#datapage .addform textarea{
  float: left;
  width: 90%;
  height: 370px;
  padding: 5px;
  font-size: 16px;
  position: relative;
  z-index: 1;
}
#datapage .addform .figure-caption-textarea {
  height: 60px;
}

#datapage .addform .half-right{
  float: left;
  width: 50%;
  height: 100%;
}
#datapage .addform .half-right .fittingtype{
  display: block;
  margin: 0px auto;
  height:30px;
  width:200px;
}
#datapage .addform .half-right .fittingtitle{
  float: left;
  width: 100px;
  line-height: 30px;
  text-align: right;
}
#datapage .addform .half-right .fittingselect{
  float: left;
  width:100px;
  line-height: 30px;
  padding-left: 10px;
  font-size: 16px;
}

#datapage .samples-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

#datapage .samples-option .with-data-mark {
  width: 6px;
  height: 6px;
  background-color: #a5a5a5;
  border-radius: 4px;
}

#datapage .addform div svg{
  display: block;
  margin: 0px auto;
  background-color: #fff;
}
#datapage .addform .caption{
  margin-top: 10px;
  float: left;
  width: 100%;
  text-align: center;
}

#datapage .save{
  float: left;
  width: 90%;
  height: 30px;
  line-height: 30px;
  margin: 10px auto;
  margin-top: 25px;
  margin-bottom: 0px;
  background-color: #BAD3FF;
  text-align: center;
  font-size: 16px;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
}

#datapage .save label{
  display: inline-block;
  width: 100%;
  height: 100%;
}
#datapage .save:hover{
  background-color: #D9E5FF;
}

#datapage .reduced-composition-formula {
  margin-top: 8px;
  font-weight: bold;
  color: #36A597;
}

#datapage .reduced-composition-formula span {
  color: #474747;
  font-size: 16px;
  vertical-align: baseline;
}

#datapage .property-sort {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding-top: 4px;
}

#datapage .property-sort_options {
  display: flex;
  align-items: center;
  font-size: 16px;
  gap: 8px;
}

#datapage .property-sort_options label {
  display: flex;
  align-items: center;
  gap: 2px;
}

#datapage .property-sort_options input {
  margin: 0;
  transform: translateY(-1px);
}
#datapage .display-settings {
  margin-bottom: 20px;
}

.figure-scale-settings {
  display: flex;
  gap: 8px;
  font-size: 16px;
}

/* Unit Selection Styles */

.unit-selector-inline {
  width: 100%;
  background-color: white;
  border: 1px solid #ddd;
  border-radius: 2px;
  padding: 2px 4px;
  font-size: 16px;
  cursor: pointer;
}

.unit-selector-inline:hover {
  border-color: #999;
}

.unit-selector-inline:focus {
  outline: none;
  border-color: #5897fb;
  box-shadow: 0 0 0 1px rgba(88, 151, 251, 0.1);
}

.unit-recommended {
  font-weight: bold;
  color: #2a6e2a;
}

.unit-si {
  color: #666;
  font-style: italic;
}

/* Fix for consistent superscript display in unit dropdowns */
/* Ensure all superscript characters use the same font to avoid size differences */
.v-select .dropdown-menu,
.v-select .selected-tag,
.unit-selector-inline,
select.unit-selector-inline option {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}


#datapage .property-sort {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding-top: 4px;
}

#datapage .property-sort_options {
  display: flex;
  align-items: center;
  font-size: 16px;
  gap: 8px;
}

#datapage .property-sort_options label {
  display: flex;
  align-items: center;
  gap: 2px;
}

#datapage .property-sort_options input {
  margin: 0;
  transform: translateY(-1px);
}

#datapage .property-filter_info {
  border: solid 1px #5252e2;
  border-radius: 12px;
  width: 12px;
  height: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transform: translateY(-1px);
  color: #5252e2;
  cursor: pointer;
}
#datapage .property-filter_info {
  border: solid 1px #5252e2;
  border-radius: 12px;
  width: 12px;
  height: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transform: translateY(-1px);
  color: #5252e2;
  cursor: pointer;
}
#datapage .chart-area{
  margin: 80px 0 0 20px;
}
#datapage .chart-area_figure_name{
  margin-top: 20px;
}
#datapage .chart-area_caption{
    margin-top: 10px;
  }

.figure-caption {
  margin-bottom: 8px;
}

.caption-truncate-control {
  font-size: 16px;
  color: blue;
  text-decoration: underline;
  cursor: pointer;
}

#plotarea{
  float: left;
  width: 100%;
  margin: 10px auto;
  padding-top: 18px;
}
.plot-tool-tabs {
  display: flex;
}
.frametitle{
  position: relative;
  text-align: center;
  display: block;
  padding: 0 20px;
  background-color: #ddd;
  line-height: 30px;
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
  cursor: pointer;
}

.frametitle.active {
  font-weight: bold;
  background-color: #bbb;
  z-index: 1;
}

.frametitle.starry-digitizer {
  transform: translateX(-4px);
}

#circle{
  z-index: 2;
}
#path{
  z-index: 1;
}

.plot-tools {
  position: relative;
}

.plot-tool {
  position: absolute;
  top: 0;
  visibility: hidden;
}

.plot-tool.web-plot-digitizer {
  height: 600px;
}

.plot-tool.starry-digitizer {
  height: 94vh;
}

.plot-tool.is-current-plot-tool {
  visibility: visible;
}

/****************************/
/*********  Error    ********/
/****************************/
.paper .error{
  background:#FDE4E1;
  color: #B10009;
  font-weight: bold;
  padding-left: 10px;
  overflow: hidden;
  word-wrap: break-word;
}
.paper .success{
 background: #DFF2BF;
 color: #008000;
 font-weight: bold;
 padding: 3px;
 padding-left: 10px;
 overflow: hidden;
 word-wrap: break-word;
}

#datapage .error{
  float: left;
  width:99%;
  width : -webkit-calc(100% - 20px) ;
  width : calc(100% - 20px) ;
  background:#FDE4E1;
  color: #B10009;
  font-weight: bold;
  /*margin-top: 10px;*/
  padding: 5px 10px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  word-wrap: break-word;
}
.fade-enter-active, .fade-leave-active {
  transition: opacity .5s;
}
.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {
  opacity: 0;
}
#datapage .success{
  float: left;
  width:99%;
  width : -webkit-calc(100% - 20px) ;
  width : calc(100% - 20px) ;
  background: #DFF2BF;
  color: #008000;
  font-weight: bold;
  /*margin-top: 10px;*/
  padding: 5px 10px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  word-wrap: break-word;
}

#datapage .loading {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.85);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
}

#detailpage .error{
  background:#FDE4E1;
  color: #B10009;
  font-weight: bold;
  margin-bottom: 10px;
  padding: 5px 10px;
  word-wrap: break-word;
}
#detailpage .success{
  background: #DFF2BF;
  color: #008000;
  font-weight: bold;
  margin-bottom: 10px;
  padding: 5px 10px;
  word-wrap: break-word;
}
/****************************/
/*******  settings    *******/
/****************************/
#settings{
  font-size: 20px;
  margin:0px auto;
  margin-top: 20px;
  margin-bottom:10px;
  height: fit-content;
  padding:10px;
  width: 60%;
  border: 5px solid #eee;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
#settings label{
  display: inline-block;
  width: 100%;
  font-size: 16px;
  color: #007398;
  font-weight: bold;
}
#settings input[type="text"]{
  width : 98%;
  font-size: 20px;
}

#settings select{
  float: left;
  width: 98%;
  font-size: 16px;
  border: 1px solid #ddd;
  margin: 2px;
  margin-top:5px;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  box-sizing: content-box;
}
#settings p,#settings span{
display: block;
  width: 100%;
  padding: 5px;
}
#settings ul{
  width: 100%;
  padding: 0;
  padding-left: 20px;
  margin: 0;
  list-style:none;
  display: block;
  float: left;
}
#settings .helptext{
  width: 100%;
  font-size: 16px;
  color: #555;
}
#settings .errorlist{
  display: block;
  width: 100%;
  font-size: 16px;
  color: red;
}
#settings .note{
  font-size: 16px;
  padding-left: 5px;
}
#settings input[type="submit"]{
  display: block;
  margin: 0px auto;
  margin-top: 10px;
  padding: 0;
  width: 100px;
  height:25px;
  line-height: 25px;
  font-size: 16px;
  text-align: center;
  border: 1px solid #ddd;
  background-color: #e0e0e0;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  color: #333;
}
#settings input[type="submit"]:hover{
  background-color: #e5e5e5;
}
#settings textarea{
  width : 98%;
  margin-top: -1px;
  line-height: 25px;
  height:25px;
  font-size: 20px;
  vertical-align:middle;
  border: 0.5px solid #bbb;
}
#settings .id_affiliation{
  display: inline-block;;
  height:30px;
}
#settings .title{
  display: inline-block;;
  margin:-10px;
  margin-bottom:10px;
  padding:10px;
  width: 100%;
  height:30px;
  background-color: #eee;
  font-weight: bold;
  color: #555;
}
#bar{
  height: 20px;
  line-height: 20px;
  width: 100%;
  text-align: center;
  font-size: 16px;
  background: #DFF2BF;
  color: #008000;
  font-weight: bold;
  padding: 5px 10px;
  word-wrap: break-word;
}
#settings a{
  padding-left: 10px;
  font-size:15px;
  color:#555;
}

#settings input[type="password"]{
  width : 98%;
  font-size: 20px;
}
#back{
  margin:0px auto;
  margin-top: 20px;
  margin-bottom: -20px;
  height: fit-content;
  width: 60%;
}
#back a{
  font-size:15px;
  color:#555;
  text-decoration: none;
}

textarea#id_message{
  display: block;
  height: 200px;
}

/****************************/
/*********  Select    ********/
/****************************/
#selectdb{
  width: 80%;
  height: fit-content;
  margin:0px auto;
}
#boxlist{
  float: left;
  width: 100%;
  height: 700px;
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  opacity:0.85;
  overflow-y: scroll;
  padding: 12px;
  box-sizing: border-box;
}
#boxlist .box{
  float: left;
  width: 100%;
  font-size: 25px;
  font-weight: bold;
  color:#555;
  margin-bottom: 20px;
}
#boxlist .box a{
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: #fff;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border: 0.5px solid #ddd;
}
#boxlist .box a:hover{
  opacity: 0.7;
}
#boxlist .info{
  height: 30%;
  padding-left: 10px;
  background-color: #484848;
  color: white;
  border-top-right-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  -moz-border-top-right-radius: 5px;
  border-top-left-radius: 5px;
  -webkit-border-top-left-radius: 5px;
  -moz-border-top-left-radius: 5px;
}
#boxlist .summary{
  width: 100%;
  color: #333;
  padding: 8px;
  background-color: #fcfcfc;
  border-bottom-right-radius: 5px;
  -webkit-border-bottom-right-radius: 5px;
  -moz-border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
  -webkit-border-bottom-left-radius: 5px;
  -moz-border-bottom-left-radius: 5px;
  display: flex;
  flex-wrap: wrap;
}

.summary_left, .summary_right {
  width: 50%;
}

@media screen and (max-width: 1200px) {
  .summary_left, .summary_right {
    width: 100%;
  }
}

/* No responsive design below 1000px - horizontal scroll instead */

/* No responsive design for mobile - horizontal scroll instead */

#boxlist .box .info50{
  margin-top: 2px;
  margin-left: 20px;
  font-size: 16px;
  font-weight: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#title{
  float: left;
  width: 100%;
  height: 30px;
  line-height: 30px;
  margin-top: 20px;
}
#title .title{
  width: 100%;
  height: 90%;
  font-size: 25px;
  font-weight: bold;
  color: #444;
  border-radius: 40px;
  -webkit-border-radius: 40px;
  -moz-border-radius: 40px;
}

#changelog{
  float: left;
  width: 100%;
  height: 700px;
  border: 1px solid #ddd;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  opacity:0.85;
  padding: 12px;
  overflow-y:scroll;
}

.changelog_item {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: solid 1px rgb(195, 195, 195);
}

.changelog_item:last-child {
  border-bottom: none;
}

.changelog_item_date, .changelog_item_comment {
  font-size: 0.9rem;
}

.changelog_item_comment {
  margin-bottom: 4px;
}

.changelog_item_title {
  display: block;
  font-weight: bold;
  margin-bottom: 4px;
  color: #484848;
  text-decoration: none;
}

.changelog_item_title:hover {
  text-decoration: underline;
}

.changelog_item_title > img {
  width: 14px;
  transform: translateY(2px);
}


#selectdb .left{
  float:left;
  width: 70%;
  height: 100%;
}
#selectdb .right{
  float:left;
  width: 28%;
  height: 100%;
  margin-left: 10px;
}



/***************************************/
/************** Metadata ***************/
/***************************************/

.detailpage button {
  border: none;
  appearance: none;
}

#detailpage .samplecontents{
  display: block;
  margin: 0px auto;
  margin-bottom: 10px;
}

.detailpage * {
  box-sizing: border-box;
}

.detailpage_samples {
  width: 100%;
  border: solid 2px#747474;
  border-spacing: 0;
  margin: 16px 0 16px 0;
}

.detailpage_samples_head {
  position: relative;
  background-color: #D9D9D9;
  padding: 8px;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
}

.detailpage_samples_head::after {
  content: "▼";
  display: block;
  position: absolute;
  top: 8px;
  right: 8px;
  color: #747474;
}

.detailpage_samples_head.is-table-shown::after {
  content: "▲";
}

.detailpage_samples_body {
  width: 100%;
  border-spacing: 0;
  border-top: solid 2px #747474;
}


.detailpage_samples_body thead {
  background-color: #D9D9D9;
}

.detailpage_samples_body th, .detailpage_samples_body td {
  width: 25%;
  padding: 4px 8px;
  text-align: left;
}

.detailpage_samples_body th:last-child, .detailpage_samples_body td:last-child {
  text-align: right;
}

.detailpage_samples_body td.current-sample {
  background-color: #bee2ed;
}

.detailpage_samples tr:nth-child(even) {
  background-color: #EBEBEB;
}

.detailpage_descriptors {
  width: 100%;
  border: solid 2px#747474;
  border-spacing: 0;
}

.detailpage_descriptors_head {

}

.detailpage_descriptors_head_title {
  background-color: #D9D9D9;
  padding: 8px;
  font-size: 18px;
  font-weight: bold;
}

.detailpage_descriptors_head_contents {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 16px;
  padding: 4px 8px;
}

.detailpage_descriptors_head_buttons {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.detailpage_descriptors_head_button_edit,
.detailpage_descriptors_head_button_cancel,
.detailpage_descriptors_head_button_save,
.detailpage_descriptors_head_button_extract {
  width: 120px;
  font-size: 18px;
  padding: 4px 0;
  font-weight: bold;
  color: white;
  cursor: pointer;
}

.detailpage_descriptors_head_button_edit {
  background-color: #727272;
}

.detailpage_descriptors_head_button_cancel {
  background-color: #FF685F;
}

.detailpage_descriptors_head_button_save {
  background-color: #36A597;
  border: none;
}

.detailpage_descriptors_head_auto-extract_descriptor-numbers {
  display: flex;
  gap: 8px;
  white-space: nowrap;
  margin-bottom: 16px;
}

.detailpage_descriptors_head_auto-extract_descriptor-numbers > input {
  width: 100%;
}


.detailpage_descriptors_head_table-heads {
  display: flex;
  border: solid#747474;
  border-width: 1px 0 2px 0;
}

.detailpage_descriptors_head_table-head_key,
.detailpage_descriptors_head_table-head_value,
.detailpage_descriptors_head_table-head_comment {
  padding:  4px 8px;
  font-weight: bold;

}

.detailpage_descriptors_head_table-head_key,
.detailpage_descriptors_head_table-head_value {
  border-right: solid 1px #747474;
}

.detailpage_descriptors_head_table-head_key,
.detailpage_descriptors_key,
.detailpage_add-descriptors_inputs_key {
  width: 20%;
  background-color: #EBEBEB;
  font-weight: bold;
}

.detailpage_descriptors_head_table-head_value,
.detailpage_descriptors_value,
.detailpage_add-descriptors_inputs_value {
  width: 40%
}

.detailpage_descriptors_value {
  transition: all .5s ease;
}

.detailpage_descriptors_row.highlighted .detailpage_descriptors_value{
  background-color: rgb(255, 219, 225);
}

.detailpage_descriptors_extracted-value {
  margin-top: 8px;
  font-size: 16px;
  font-weight: bold;
  color: #36A597;
  transition: all 0.2s ease;
}

.detailpage_descriptors_extracted-value:hover {
  color: #2a8a7d;
  text-decoration: underline;
  transform: translateX(2px);
}

.detailpage_descriptors_extracted-value > span {
  color: #474747;
  font-size: 16px;
  vertical-align: baseline;
}

.detailpage_descriptors_head_table-head_comment,
.detailpage_descriptors_comment,
.detailpage_add-descriptors_inputs_comment  {
  width: 40%;
}

.detailpage_descriptors_table_container {
  height: calc(100vh - 280px);
  overflow-y: scroll;
}

.detailpage_descriptors_table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.detailpage_descriptors_table tr {
  border-bottom: solid 1px #AFAFAF;
}

.detailpage_descriptors_table td {
  padding: 12px 8px;
}

.detailpage_descriptors_table td:not(:last-child) {
  border-right: solid 1px #AFAFAF;
}

.detailpage_descriptors_table td > input,
.detailpage_descriptors_table td > select,
.detailpage_descriptors_table td > textarea {
  width: 100%;
  padding: 4px;
}

.detailpage_descriptors_table td > textarea {
  height: 120px;
}

.detailpage_add-descriptors_inputs {
  display: flex;
  border-bottom: solid 1px #AFAFAF
}

.detailpage_add-descriptors_inputs input {
  width: 100%;
  padding: 4px;
}

.detailpage_add-descriptors_inputs_key,
.detailpage_add-descriptors_inputs_value,
.detailpage_add-descriptors_inputs_comment {
  padding: 12px 8px;
}

.detailpage_add-descriptors_inputs_key,
.detailpage_add-descriptors_inputs_value {
  border-right: solid 1px #AFAFAF
}

.detailpage_add-descriptors_inputs_key {
  display: flex;
  align-items: center;
  gap: 8px;
}

.detailpage_add-descriptors_inputs_delete {
  color: #FF685F;
  cursor: pointer;
}

.detailpage_descriptors_toggle-auto-extract {
  padding: 8px;
  border-top: solid 1px #747474;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
  color: #747474;
}

.detailpage_descriptors_toggle-auto-extract_button {
  display: inline-block;
  position: relative;
  width: 40px;
  height: 20px;
  border-radius: 50px;
  background-color: #dddddd;
  cursor: pointer;
  transition: background-color .4s;
}

.detailpage_descriptors_toggle-auto-extract_button:has(:checked) {
  background-color: #36a597;
}

.detailpage_descriptors_toggle-auto-extract_button::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  box-shadow: 0 0 5px rgb(0 0 0 / 20%);
  background-color: #fff;
  content: '';
  transition: left .4s;
}

.detailpage_descriptors_toggle-auto-extract_button:has(:checked)::after {
  left: 20px;
}

.detailpage_descriptors_toggle-auto-extract_button input {
  display: none;
}

.detailpage_descriptors_head_auto-extract {
  position: relative;
  padding: 8px;
}

.detailpage_descriptors_head_auto-extract_head-note {
  margin-bottom: 8px;
}

.detailpage_descriptors_head_auto-extract_contents {
  display: flex;
  gap: 20px;
}

.detailpage_descriptors_head_auto-extract_contents_left,
.detailpage_descriptors_head_auto-extract_contents_right {
  width: calc((100% - 20px) / 2);
}

.detailpage_descriptors_head_auto-extract_contents textarea {
  width: 100%;
  border: solid 1px #747474;
  padding: 4px;
  height: 200px;
}

.detailpage_descriptors_head_auto-extract_contents_right {
  width: calc((100% - 20px) / 2);
}

.detailpage_descriptors_head_auto-extract_result {
  border: solid 1px #747474;
  padding: 4px;
  height: 200px;
  overflow-y: scroll;
  line-height: 1.6;
}

.detailpage_descriptors_head_auto-extract_result_cost {
  text-align: right;
  margin-top: 2px;
}

.detailpage_descriptors_head_auto-extract_result > .extracted-text-highlighted {
  position: relative;
  padding: 0 2px;
  border: solid 1px red;
  text-decoration: none;
  color: black;
}

/* .detailpage_descriptors_head_auto-extract_result > .extracted-text-highlighted:hover::after {
  content: attr(data-key);
  display: block;
  position: absolute;
  left: 20px;
  top: -24px;
  padding: 2px 8px;
  background-color: rgba(0,0,0, 0.8);
  color: white;
  font-size: 16px;
  white-space: nowrap;
  z-index: 5;
}
 */

.detailpage_descriptors_head_auto-extract_button-request {
  display: block;
  width: 100px;
  font-size: 16px;
  padding: 4px 0;
  font-weight: bold;
  color: white;
  cursor: pointer;
  background-color: #36A597;
  border: none;
  margin: 0 0 0 auto;
}

.detailpage_descriptors_head_auto-extract_button-request:disabled {
  opacity: 0.4;
}


.detailpage_descriptors_head_auto-extract_before-set-api-key,
.detailpage_descriptors_head_auto-extract_loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 2;
  color: white;
  font-size: 16px;
  font-weight: bold;
}

.detailpage_descriptors_head_auto-extract_before-set-api-key a {
  color: white;
}

.detailpage_descriptors_head_auto-extract_caution-message {
  font-size: 16px;
  margin-top: 16px
}

.detailpage_descriptors_reduced-composition-formula {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  font-size: 16px;
  font-weight: bold;
  color: #36A597;
}

.detailpage_descriptors_reduced-composition-formula > span {
  color: #474747;
  font-size: 16px;
  vertical-align: baseline;
}

/***************************************/
/***** Bibliographic Information *******/
/***************************************/
.bibliographic-information input {
  padding: 4px;
  width: 98%
}

.bibliographic-information .value {
  margin: 8px 0;
}

.bibliographic-information .author .value input,
.bibliographic-information .published .value input  {
  width: 160px;
}

.bibliographic-information .save {
  display: block;
  width: 160px;
  padding: 8px;
  text-align: center;
  margin: 0 auto;
}

.bibliographic-information .space {
  height: 72px;
}

/*!以下ローディングアニメーションのライブラリより
 * Load Awesome v1.1.0 (http://github.danielcardoso.net/load-awesome/)
 * Copyright 2015 Daniel Cardoso <@DanielCardoso>
 * Licensed under MIT
 */
 .la-line-scale,
 .la-line-scale > div {
     position: relative;
     -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
             box-sizing: border-box;
 }
 .la-line-scale {
     display: block;
     font-size: 0;
     color: #fff;
 }
 .la-line-scale.la-dark {
     color: #333;
 }
 .la-line-scale > div {
     display: inline-block;
     float: none;
     background-color: currentColor;
     border: 0 solid currentColor;
 }
 .la-line-scale {
     width: 40px;
     height: 32px;
 }
 .la-line-scale > div {
     width: 4px;
     height: 32px;
     margin: 2px;
     margin-top: 0;
     margin-bottom: 0;
     border-radius: 0;
     -webkit-animation: line-scale 1.2s infinite ease;
        -moz-animation: line-scale 1.2s infinite ease;
          -o-animation: line-scale 1.2s infinite ease;
             animation: line-scale 1.2s infinite ease;
 }
 .la-line-scale > div:nth-child(1) {
     -webkit-animation-delay: -1.2s;
        -moz-animation-delay: -1.2s;
          -o-animation-delay: -1.2s;
             animation-delay: -1.2s;
 }
 .la-line-scale > div:nth-child(2) {
     -webkit-animation-delay: -1.1s;
        -moz-animation-delay: -1.1s;
          -o-animation-delay: -1.1s;
             animation-delay: -1.1s;
 }
 .la-line-scale > div:nth-child(3) {
     -webkit-animation-delay: -1s;
        -moz-animation-delay: -1s;
          -o-animation-delay: -1s;
             animation-delay: -1s;
 }
 .la-line-scale > div:nth-child(4) {
     -webkit-animation-delay: -.9s;
        -moz-animation-delay: -.9s;
          -o-animation-delay: -.9s;
             animation-delay: -.9s;
 }
 .la-line-scale > div:nth-child(5) {
     -webkit-animation-delay: -.8s;
        -moz-animation-delay: -.8s;
          -o-animation-delay: -.8s;
             animation-delay: -.8s;
 }
 .la-line-scale.la-sm {
     width: 20px;
     height: 16px;
 }
 .la-line-scale.la-sm > div {
     width: 2px;
     height: 16px;
     margin: 1px;
     margin-top: 0;
     margin-bottom: 0;
 }
 .la-line-scale.la-2x {
     width: 80px;
     height: 64px;
 }
 .la-line-scale.la-2x > div {
     width: 8px;
     height: 64px;
     margin: 4px;
     margin-top: 0;
     margin-bottom: 0;
 }
 .la-line-scale.la-3x {
     width: 120px;
     height: 96px;
 }
 .la-line-scale.la-3x > div {
     width: 12px;
     height: 96px;
     margin: 6px;
     margin-top: 0;
     margin-bottom: 0;
 }
 /*
  * Animation
  */
 @-webkit-keyframes line-scale {
     0%,
     40%,
     100% {
         -webkit-transform: scaleY(.4);
                 transform: scaleY(.4);
     }
     20% {
         -webkit-transform: scaleY(1);
                 transform: scaleY(1);
     }
 }
 @-moz-keyframes line-scale {
     0%,
     40%,
     100% {
         -webkit-transform: scaleY(.4);
            -moz-transform: scaleY(.4);
                 transform: scaleY(.4);
     }
     20% {
         -webkit-transform: scaleY(1);
            -moz-transform: scaleY(1);
                 transform: scaleY(1);
     }
 }
 @-o-keyframes line-scale {
     0%,
     40%,
     100% {
         -webkit-transform: scaleY(.4);
              -o-transform: scaleY(.4);
                 transform: scaleY(.4);
     }
     20% {
         -webkit-transform: scaleY(1);
              -o-transform: scaleY(1);
                 transform: scaleY(1);
     }
 }
 @keyframes line-scale {
     0%,
     40%,
     100% {
         -webkit-transform: scaleY(.4);
            -moz-transform: scaleY(.4);
              -o-transform: scaleY(.4);
                 transform: scaleY(.4);
     }
     20% {
         -webkit-transform: scaleY(1);
            -moz-transform: scaleY(1);
              -o-transform: scaleY(1);
                 transform: scaleY(1);
     }
 }

/* 自前ライブラリtooltip.js */
.tooltip {
  display: none;
  color: white;
  background-color: rgba(0, 0, 0, 0.85);
  font-size: 16px;
  padding: 2px 8px;
  position: absolute;
  z-index: 1000;
  max-width: 600px;
}

/***************************************/
/*************** Report ****************/
/***************************************/
#explanation{
  width: 100%;
  float: left;
}
#explanation .text{
  width: 100%;
  width : -webkit-calc(100% - 60px);
  width : calc(100% - 60px);
  margin:10px auto;
  padding:20px;
  background-color: #ffffee;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  text-align: justify;
  text-justify: inter-ideograph;
  text-indent: 1em;
}
