/*
 * ---------------------------------------------------------------------------
 * This website uses the following open-source software:
 * * - Minima (c) GitHub, Inc. | MIT License
 * - Rouge (c) Jean-Philippe Aumasson and others | MIT License
 * * Custom modifications and additional styles (Section 2) are 
 * Copyright (c) 2025 futon362 | Apache License 2.0
 * ---------------------------------------------------------------------------
 */

/* ==========================================================================
   SECTION 1: Minima Core Styles (基本デザイン)
   ========================================================================== */
body,h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,dl,dd,ol,ul,figure {
  margin:0;
  padding:0
}
body {
  font:400 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:#111;
  background-color:#fdfdfd;
  display:flex;
  min-height:100vh;
  flex-direction:column
}
h1,h2,h3,h4,h5,h6,p,blockquote,pre,ul,ol,dl,figure {
  margin-bottom:15px
}
main {
  display:block
}
img {
  max-width:100%;
  vertical-align:middle
}
ul,ol {
  margin-left:30px
}
a {
  color:#2a7ae2;
  text-decoration:none
}
a:visited {
  color:#1756a9
}
a:hover {
  color:#111;
  text-decoration:underline
}
.site-header {
  border-top:5px solid #424242;
  border-bottom:1px solid #e8e8e8;
  min-height:55.95px;
  position:relative
}
.site-title {
  font-size:26px;
  font-weight:300;
  line-height:54px;
  float:left;
  color:#424242 !important;
  text-decoration:none !important
}
.page-content {
  padding:30px 0;
  flex:1
}
.site-footer {
  border-top:1px solid #e8e8e8;
  padding:30px 0
}

/* ==========================================================================
   SECTION 2: Custom Layout & UI (自己紹介・余白)
   ========================================================================== */
.wrapper {
  max-width: calc(100% - 60px) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 30px !important;
  padding-left: 30px !important;
}

@media screen and (max-width: 800px) {
  .wrapper {
    max-width: calc(100% - 30px) !important;
    padding-right: 15px !important;
    padding-left: 15px !important;
  }
  .right-align-content {
    flex-direction: column !important;
    text-align: center !important;
  }
}

body {
  line-height: 1.8 !important;
  color: #333 !important;
}
h1, h2, h3 {
  font-weight: 500 !important;
  margin-top: 1.5em !important;
  margin-bottom: 0.5em !important;
}

/* 自己紹介枠 */
.right-align-content {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 20px !important;
  margin: 20px 0 !important;
}
.author {
  text-align: center !important;
  flex-shrink: 0 !important;
  padding: 15px !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 15px !important;
  background-color: #fff !important;
  min-width: 120px !important;
}
.logo {
  width: 100px !important;
  height: auto !important;
  border-radius: 50% !important;
  display: block;
  margin: 0 auto;
}

/* 不要なナビゲーションを物理的に消去 */
.site-nav, .nav-trigger, .menu-icon, .trigger {
  display: none !important; 
  visibility: hidden !important;
}

/* ==========================================================================
   SECTION 3: Syntax Highlighting (Rouge 完全版)
   ========================================================================== */
.highlight {
  background: #f8f8f8;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  padding: 16px;
  overflow: auto;
  margin-bottom: 16px;
}
.highlight pre {
  margin: 0;
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: 85%;
}

/* Rouge トークン定義 */
.highlight .c  { color: #998; font-style: italic }
.highlight .err { color: #a61717; background-color: #e3d2d2 }
.highlight .k  { color: #d73a49; font-weight: bold }
.highlight .o  { color: #d73a49; font-weight: bold }
.highlight .cm { color: #998; font-style: italic }
.highlight .cp { color: #999; font-weight: bold }
.highlight .c1 { color: #998; font-style: italic }
.highlight .cs { color: #999; font-weight: bold; font-style: italic }
.highlight .gd { color: #000; background-color: #fdd }
.highlight .ge { font-style: italic }
.highlight .gr { color: #a00 }
.highlight .gh { color: #999 }
.highlight .gi { color: #000; background-color: #dfd }
.highlight .go { color: #888 }
.highlight .gp { color: #555 }
.highlight .gs { font-weight: bold }
.highlight .gu { color: #aaa }
.highlight .gt { color: #a00 }
.highlight .kc { color: #d73a49; font-weight: bold }
.highlight .kd { color: #d73a49; font-weight: bold }
.highlight .kn { color: #d73a49; font-weight: bold }
.highlight .kp { color: #d73a49; font-weight: bold }
.highlight .kr { color: #d73a49; font-weight: bold }
.highlight .kt { color: #445588; font-weight: bold }
.highlight .m  { color: #005cc5 }
.highlight .s  { color: #032f62 }
.highlight .na { color: #008080 }
.highlight .nb { color: #e36209 }
.highlight .nc { color: #6f42c1; font-weight: bold }
.highlight .no { color: #008080 }
.highlight .ni { color: #800080 }
.highlight .ne { color: #990000; font-weight: bold }
.highlight .nf { color: #6f42c1; font-weight: bold }
.highlight .nn { color: #555555 }
.highlight .nt { color: #22863a }
.highlight .nv { color: #008080 }
.highlight .ow { color: #d73a49; font-weight: bold }
.highlight .w  { color: #bbb }
.highlight .mf { color: #005cc5 }
.highlight .mh { color: #005cc5 }
.highlight .mi { color: #005cc5 }
.highlight .mo { color: #005cc5 }
.highlight .sb { color: #032f62 }
.highlight .sc { color: #032f62 }
.highlight .sd { color: #032f62 }
.highlight .s2 { color: #032f62 }
.highlight .se { color: #032f62 }
.highlight .sh { color: #032f62 }
.highlight .si { color: #032f62 }
.highlight .sx { color: #032f62 }
.highlight .sr { color: #009926 }
.highlight .s1 { color: #032f62 }
.highlight .ss { color: #990073 }
.highlight .bp { color: #999 }
.highlight .vc { color: #008080 }
.highlight .vg { color: #008080 }
.highlight .vi { color: #008080 }
.highlight .il { color: #005cc5 }

/* インラインコード */
code {
  padding: 0.2em 0.4em !important;
  font-size: 85% !important;
  background-color: rgba(27,31,35,0.05) !important;
  border-radius: 3px !important;
  font-family: "SFMono-Regular", Consolas, monospace !important;
}