.head {
    cursor: none;
    position: fixed;
    will-change: transform;
    pointer-events: none;    
    width: 100%;
}

html{
    cursor: none;
    caret-color: #ff0000;
    background-color: #1b1b1b;
    scroll-behavior: smooth;
}

body, html { 
    cursor: none;
    height: 100%; 
    display: grid;
    place-items: center;
    font-family: "Eras", "Eras ITC", "UD デジタル 教科書体 NK", "UD デジタル 教科書体 NK-R";
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes enterd {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

#app-container {
    animation: enterd 0.5s ease-out forwards;
    cursor: none;
    display: flex; 
    flex-direction: column; 
    height: 96vh; 
    width: 80vw;
}

#div1 {
    cursor: none; 
    color: white; 
    padding: 0px 0px; 
    text-align: center;
    font-size: 114.514px;
    font-family: "Eras", "Eras ITC"; 
    box-shadow: 0 10px 25px #1b1b1b;
    z-index: 1;
}

#div1 h1 { 
    cursor: none;
    margin: 0; 
    font-size: 1.2rem; 
}

#message-log { 
    animation: fadeIn 0.5s ease-out forwards;
    cursor: none;
    flex: 1; 
    overflow-y: auto; 
    padding: 20px; 
    display: flex; 
    flex-direction: column; 
    gap: 15px;
    scroll-behavior: smooth;
}

.log-entry { 
    cursor: none;
    max-width: 80%; 
    padding: 12px 16px; 
    border-radius: 10px; 
    line-height: 1.5; 
    position: relative; 
    word-wrap: break-word; 
}

.bot-msg { 
    animation: fadeIn 0.5s ease-out forwards;
    font-size: 1.514rem;
    cursor: none;
    align-self: flex-start; 
    background-color: #ffffff; 
    color: #303030; 
    margin: 0px 30px;
    border-bottom-left-radius: 2px; 
    box-shadow: 0 1px 2px rgba(255, 255, 255, 0.1);
}

.user-msg { 
    animation: fadeIn 0.5s ease-out forwards;
    font-size: 1.514rem;
    cursor: none;
    align-self: flex-end; 
    background-color: #ffa723; 
    color: #303030; 
    border-bottom-right-radius: 2px; 
    box-shadow: 0 1px 2px rgba(0,0,0,0.1); 
    font-family: "Eras", "Eras ITC", "UD デジタル 教科書体 NP", "UD デジタル 教科書体 NK-R";
}

.info-card { 
    animation: fadeIn 0.5s ease-out forwards;
    cursor: none;
    background: #fff; 
    padding: 0px; 
    margin-top: 15px; 
    text-align: center; 
    width: 100%; 
}

.info-card img { 
    cursor: none;
    max-width: 100%; 
    height: auto; 
    border-radius: 4px; 
}

#input-area, #Stext {     
    cursor: none;
    padding: 30px; 
    display: flex; 
    gap: 10px; 
    align-items: center;
    font-family: "Eras", "Eras ITC", "UD デジタル 教科書体 NK", "UD デジタル 教科書体 NK-R";
}

input[type="text"]{ 
    cursor: none;
    flex: 1; 
    padding: 15px 15px; 
    border: none; 
    border-radius: 25px; 
    font-size: 16px; 
    outline: none; 
    font-family: "Eras", "Eras ITC", "UD デジタル 教科書体 NK", "UD デジタル 教科書体 NK-R";
}

button { 
    background: #ffa723;
    cursor: none;
    color: rgb(0, 0, 0); 
    border: none; 
    border-radius: 50%;
    width: 50px; 
    height: 50px; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    font-weight: bold;
    transition: background 0.5s ease, box-shadow 0.5s ease, color 0.5s ease;
}

button:hover { 
    cursor: none;    
    background: #000000;
    box-shadow: 0 0 25px 0px #ffa723b2;
    color: rgb(255, 255, 255);
    transition: background 0.5s ease, box-shadow 0.5s ease, color 0.5s ease;
}

#endB { 
    background: #ff6f6f;
    cursor: none;
    color: rgb(0, 0, 0); 
    border: none; 
    border-radius: 50%;
    width: 50px; 
    height: 50px; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    font-weight: bold;
    transition: background 0.5s ease, box-shadow 0.5s ease, color 0.5s ease;
}

#endB:hover { 
    cursor: none;    
    background: #000000;
    box-shadow: 0 0 25px 0px #ff2323b2;
    color: rgb(255, 255, 255);
    transition: background 0.5s ease, box-shadow 0.5s ease, color 0.5s ease;
}

#reload { 
    background: #549eff;
    cursor: none;
    color: rgb(0, 0, 0); 
    border: none; 
    border-radius: 50%;
    width: 50px; 
    height: 50px; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    font-weight: bold;
    transition: background 0.5s ease, box-shadow 0.5s ease, color 0.5s ease;
}

#reload:hover { 
    cursor: none;    
    background: #000000;
    box-shadow: 0 0 25px 0px #1279ff;
    color: rgb(255, 255, 255);
    transition: background 0.5s ease, box-shadow 0.5s ease, color 0.5s ease;
}


#cursor-image{
    cursor: none;
    position: fixed;
    will-change: transform;
    pointer-events: none;
    top:0;
    left: 0 ;
    z-index: 9999;
    pointer-events: none;
    width: 60px;
    height: 60px ;
    transition: transform 0.1s ease-out;
}

.info-card a:hover {
    cursor: none;
}

#message-log {
    -ms-overflow-style: none;  /* IE, Edge */
    scrollbar-width: none;     /* Firefox */
}
#message-log::-webkit-scrollbar {
    display: none;             /* Chrome, Safari */
}

#clock {
    cursor: none;
    position: fixed;
    top: 10px;
    right: 20px;
    color: white;
    font-size: 50px;
    font-family: "Eras", "Eras ITC";
}

#battery {
    cursor: none;
    position: fixed;
    top: 60px;
    right: 20px;
    color: white;
    font-size: 36.4px;
    font-family: "Eras", "Eras ITC";
}

#Stext{ 
    cursor: none;
    flex: 1; 
    padding: 15px 15px; 
    border: none; 
    border-radius: 25px; 
    font-size: 16px; 
    outline: none; 
    font-family: "Eras", "Eras ITC", "UD デジタル 教科書体 NK", "UD デジタル 教科書体 NK-R";
}

#information {
    cursor: none;
    width: 100%;
    position: fixed;
    text-align: center;
    bottom: 25px;
    color: #e7e7e7;
    font-size: 17px;
    font-family: "Eras", "Eras ITC", "UD デジタル 教科書体 NK", "UD デジタル 教科書体 NK-R";
}


#fade-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #1b1b1b; /* フェードアウト後の色 */
  z-index: 9999;
  pointer-events: none;   /* 通常時はクリックを邪魔しない */
  opacity: 0;
  transition: opacity 0.5s ease; /* 0.5秒かけて変化 */
}

/* このクラスがつくとフェードアウト開始 */
#fade-overlay.is-active {
  opacity: 1;
  pointer-events: auto;
}