body { margin:0px; }

#base {
    font-family: Arial, sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    //height:100%;
    height: 95vh;
    margin: 0; padding:10px;
    background-color: #f0f0f0;
}
#chatbox {
    width: 100%; 
    max-width: 400px;
    padding: 20px;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
#conversation {
   // max-height:500px;
  height: 30vh;
    overflow-y: auto;
    margin-bottom: 10px;
    border: 1px solid #ccc;
    padding: 10px;
}
#thoughtArea {
    width: 100%; 
    height: 300px;
    border: 1px solid #ccc;
    margin-bottom: 10px;
    position: relative;
    //overflow: hidden;

}

#devInfo{ height: 90%; padding:10px;
 font-size:small;overflow-y:scroll;
}

//input[type="checkbox"]{align-items:left; width:10px;}

#botIcon {
    position: absolute;
    left: 20px;
    bottom: 20px;
    font-size: 60px;
}
#thoughtBubble {
    position: absolute; overflow: hidden;
    right: 10px;
    bottom: 80px;
    background-color: white;
    border: 2px solid #888;
    border-radius: 25%;
    padding: 10px;
    width: 300px;
    height: 200px;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    display: flex;
    justify-content: center; 
    align-items: center;
}
#thoughtBubble.show {
    opacity: 1;
}
.emoji {
    position: absolute;
    font-size: 24px;
    transition: all 0.5s ease;
    opacity: 0;
}
.relation {
    position: absolute;
    background-color: rgba(0, 0, 0, 0.1);
    transition: all 0.5s ease;
}
input[type="text"] {
    width: 100%;
    padding: 5px;
    margin-bottom: 10px;
    box-sizing: border-box;
}
button {
    width: 100%;
    padding: 5px;
    background-color: #007bff;
    color: white;
    border: none;
    cursor: pointer;
}

.caCell {
    position: absolute;

    width: 8px;
    height: 8px;
    background-color: #ccc; /* セルの色 */
    border-radius: 50%; /* 丸いセル */
    opacity: 0.5; /* 半透明 */
}

.caCell[data-state="1"] {
    background-color: #333; /* アクティブなセルの色 */
    opacity: 1; /* 不透明 */
}
#box {
            border: 2px solid #333;
            min-height: 100px;
            margin-bottom: 20px;
            padding: 10px;
            font-size: 24px;
        }
 .count {
            position: absolute;
            font-size: 36px;
            font-weight: bold;
            color: #007bff;
        }
        .fruit {
            display: inline-block;
            transition: transform 0.3s ease;
        }
        .fruit.highlight {
            transform: scale(1.3);
        }

  .comic-container {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            max-width: 1200px;
        }
        .comic-panel {
            width: 250px;
            height: 250px;
            margin: 10px;
            //background-color: white;
            //border: 2px solid black;
            position: relative;
            overflow: hidden;
            opacity: 0;
            transition: opacity 1s ease-in-out;
        }
        .background {
            position: absolute;
            width: 100%;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 100px;
            opacity: 0.4;
            z-index: 1;
        }
        .speech-bubble {
            position: absolute;
            background-color: rgba(255, 255, 255, 0.2);
            border: 1px solid gray;
            border-radius: 10px;
            padding: 5px;
            max-width: 80%; overflow: hidden;
            font-size: 12px;
            z-index: 3;
        }
        .character {
            position: absolute;
            font-size: 40px;
            transition: all 0.5s ease;
            z-index: 2;
        }
        .plot-title {
            font-size: 18px;
            font-weight: bold;
            margin: 20px 0 10px;
            text-align: center;
            width: 100%;
        }


.thinking {
            animation: thinking 2s infinite linear;
        }
        @keyframes thinking {
            0% { transform: translateY(0); }
            50% { transform: translateY(-10px); }
            100% { transform: translateY(0); }
        }
        .typing {
            opacity: 0;
        }
        .typing.active {
            animation: typing 2s steps(20) 1;
            opacity: 1;
        }
        @keyframes typing {
            0% { width: 0%; }
            100% { width: 100%; }
        }
        .robot-moving {
            animation: robot-moving 4s infinite linear;
        }
        @keyframes robot-moving {
            0% { left: 50px; }
            25% { left: 200px; transform: rotate(20deg); }
            50% { left: 50px; }
            75% { left: 200px; transform: rotate(-20deg); }
            100% { left: 50px; }
        }
        .society {
            font-size: 64px;
            animation: society 4s infinite linear;
        }
        @keyframes society {
            0% { transform: rotate(0); }
            100% { transform: rotate(360deg); }
        }


  .fading {
            animation: fading 2s infinite alternate;
        }
        @keyframes fading {
            0% { opacity: 1; }
            100% { opacity: 0.2; }
        }
        .growing {
            animation: growing 4s infinite linear;
        }
        @keyframes growing {
            0% { font-size: 48px; }
            50% { font-size: 72px; }
            100% { font-size: 48px; }
        }
        .shining {
            animation: shining 2s infinite alternate;
        }
        @keyframes shining {
          0% {
            text-shadow: 0 0 10px yellow;
          }
          100% {
            text-shadow: 0 0 20px yellow;
          }
        }
        .cnn-layers {
            animation: cnn-layers 4s infinite linear;
        }
        @keyframes cnn-layers {
          0% {
            transform: translateY(0);
          }
          50% {
            transform: translateY(-10px);
          }
          100% {
            transform: translateY(0);
          }
        }
        .replace-image {
            animation: replace-image 2s infinite alternate;
        }
        @keyframes replace-image {
            0%, 100% { opacity: 1; }
            50% { opacity: 0; }
        }
a { text-decoration:none;color:#007bff;}

.cp{ opacity: 0;
  transition: opacity 1s ease-in-out;}