/* CSS is how you can add style to your website, such as colors, fonts, and positioning of your
   HTML content. To learn how to do something, just try searching Google for questions like
   "how to change link color." */

body {
  background-color: #f6f0e4;
  color: #4a3b32;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
  line-height: 1.8;
}
a { color: #a0604a; }

   img { max-width: 100%; height: auto; }
   .top-img { filter: saturate(0.6); }
   .wrap { display: flex; gap: 24px; max-width: 960px; margin: 0 auto; padding: 16px; }
.side { width: 160px; flex-shrink: 0; }
.side ul { list-style: none; padding: 0; }
.side li { margin-bottom: 8px; }
.side-title { font-weight: bold; }
.main { flex: 1; }


@media (max-width: 600px) {
  .wrap { flex-direction: column; }
  .side { width: auto; }
}
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.entry { border-bottom: 1px dashed #c9b8a0; padding-bottom: 16px; margin-bottom: 24px; }
.side { background-color: #fffaf0; border: 1px solid #d8c8b0; border-radius: 6px; padding: 12px; }
h1 { border-bottom: 1px solid #d8c8b0; padding-bottom: 8px; }
.banner-box { font-size: 0.8em; margin-top: 24px; border-top: 1px solid #d8c8b0; padding-top: 12px; }
.chara { margin-bottom: 32px; }
.chara-img { width: 200px; float: left; margin: 0 16px 8px 0; }
.chara::after { content: ""; display: block; clear: both; }
.note { font-size: 0.85em; color: #7a6a5c; }
.tweet { border-left: 3px solid #c9b8a0; padding: 4px 0 4px 12px; margin-bottom: 20px; }
.tweet-meta { font-size: 0.8em; color: #7a6a5c; margin: 0 0 4px 0; }
.tweet p:last-child { margin: 0; }
.tweet-yamada { border-left-color: #a0604a; }
#corner { position: fixed; right: 16px; bottom: 16px; z-index: 10; }
#corner-chars { display: flex; align-items: flex-end; gap: 4px; }
.ch { position: relative; width: 100px; }
.ch img { width: 100px; cursor: pointer; display: block; }
.ch-say {
  position: absolute; bottom: 100%; width: 170px;
  margin: 0 0 6px 0; padding: 6px 10px;
  background-color: #fffaf0; border: 1px solid #d8c8b0; border-radius: 8px;
  font-size: 0.8em; opacity: 0; transition: opacity 0.3s; pointer-events: none;
}
.ch-say.show { opacity: 1; }
#claude-say { left: 0; }
#yamada-say { right: 0; margin-bottom: 70px; }
.nori {
  font-family: sans-serif;
  color: #b0473a;
  transform: rotate(-1.5deg);
  margin: 1.2em 0;
  animation: fuwa 6s ease-in-out infinite;
}
@keyframes fuwa {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.15; }
}
.kurukuru {
  display: inline-block;
  animation: mawaru 3s linear infinite;
}
@keyframes mawaru {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
.ch-say.nori-say {
  font-family: sans-serif;
  color: #b0473a;
  transform: rotate(-2deg);
}
html { overflow-y: scroll; }     
.kiriban {
  text-align: center;
  font-size: 0.85em;
  font-weight: bold;
  animation: kiriban-flash 1.2s linear infinite;
}
@keyframes kiriban-flash {
  0%   { color: #ff0000; }
  25%  { color: #ffcc00; }
  50%  { color: #00cc00; opacity: 0.2; }
  75%  { color: #0066ff; }
  100% { color: #ff0000; }
}
.counter {
  display: inline-block;
  width: fit-content;
  background: #000;
  padding: 4px;
  border: 2px inset #666;
}
.counter span {
  display: inline-block;
  width: 1em;
  margin: 0 1px;
  background: #111;
  color: #0f0;
  font-family: monospace;
  font-size: 1.2em;
  text-align: center;
}
#lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 100;
  background: rgba(0, 0, 0, 0.8);
  padding: 16px;
  box-sizing: border-box;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: zoom-out;
}
#lightbox.open { display: flex; }
#lightbox img {
  max-width: 100%;
  max-height: 85vh;
  width: auto;
  height: auto;
}
#lightbox p {
  color: #fff;
  margin: 8px 0 0;
  font-size: 0.9em;
}
.diary p { font-size: 0.9em; }