*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:#f7f7f7;color:#4a4a4a;font-family:"Ubuntu","Noto Sans JP","Hiragino Kaku Gothic ProN","Meiryo",-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;line-height:1.7;display:flex;flex-direction:column;min-height:100vh}a{color:#3273dc;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}code,pre{font-family:"Source Code Pro","SFMono-Regular",Menlo,Consolas,monospace;font-size:0.875em}.muted{color:#7a7a7a}.container{width:100%;max-width:1344px;margin:0 auto;padding:0 1rem}.navbar{background:#fff;box-shadow:0 2px 4px rgba(0,0,0,0.06);position:sticky;top:0;z-index:10}.navbar-inner{display:flex;align-items:center;flex-wrap:wrap;min-height:4rem}.navbar-brand{font-size:1.25rem;font-weight:700;color:#363636;margin-right:auto;padding:0.75rem 0}.navbar-brand:hover{text-decoration:none;color:#3273dc}.navbar-menu{display:flex;list-style:none;margin:0;padding:0}.navbar-item{display:block;padding:1.25rem 0.9rem;color:#4a4a4a}.navbar-item:hover{color:#3273dc;text-decoration:none}.navbar-item.is-active{color:#3273dc;font-weight:500}.lang-switcher{display:flex;align-items:center;gap:0.35rem;margin-left:0.75rem;padding-left:1rem;border-left:1px solid #e5e5e5;font-size:0.85rem;color:#7a7a7a}.lang-switcher .lang-item{color:#4a4a4a}.lang-switcher a.lang-item:hover{color:#3273dc;text-decoration:none}.lang-switcher .lang-item.is-active{color:#3273dc;font-weight:700}.nav-toggle{display:none}.nav-burger{display:none;cursor:pointer;font-size:1.25rem;padding:0.75rem}@media (max-width: 768px){.nav-burger{display:block}.navbar-menu{display:none;flex-basis:100%;flex-direction:column;padding-bottom:0.5rem}.navbar-item{padding:0.6rem 0.25rem}.lang-switcher{margin:0.5rem 0 0;padding:0.6rem 0.25rem 0;border-left:0;border-top:1px solid #e5e5e5}.nav-toggle:checked ~ .navbar-menu{display:flex}}.layout{display:grid;gap:1.5rem;padding-top:1.5rem;padding-bottom:1.5rem;flex:1;grid-template-columns:minmax(0, 1fr);grid-template-areas:"main" "left" "right"}.column-main{grid-area:main;min-width:0}.column-left{grid-area:left;min-width:0}.column-right{grid-area:right;min-width:0}@media (min-width: 769px){.layout{grid-template-columns:minmax(0, 1fr) minmax(0, 2fr);grid-template-areas:"left main" "right main";align-items:start}}@media (min-width: 1088px){.layout{grid-template-columns:minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr);grid-template-areas:"left main right"}.column-left,.column-right{position:sticky;top:5.5rem}}.layout-wide{grid-template-columns:minmax(0, 1fr) !important;grid-template-areas:"main" !important;max-width:960px}.footer{background:#fff;padding:2rem 0;text-align:center;color:#7a7a7a;font-size:0.875rem}.footer p{margin:0}.card{background:#fff;border-radius:4px;box-shadow:0 4px 10px rgba(0,0,0,0.05),0 0 1px rgba(0,0,0,0.1);margin-bottom:1.5rem;overflow:hidden}.card-content{padding:1.5rem}.card-image img{display:block;width:100%}.card .title{color:#363636;font-size:1.5rem;font-weight:500;line-height:1.35;margin:0.25rem 0 0.75rem}.card .title a{color:inherit}.card .title a:hover{color:#3273dc;text-decoration:none}.page-title{font-size:1.85rem !important}.meta{display:flex;flex-wrap:wrap;gap:0.25rem 1rem;color:#7a7a7a;font-size:0.85rem}.meta a{color:inherit}.excerpt{margin-bottom:1rem}.lead{font-size:1.1rem;color:#7a7a7a}.button{display:inline-block;padding:0.35rem 1rem;border:1px solid #e5e5e5;border-radius:4px;color:#363636;font-size:0.875rem;background:#fff}.button:hover{border-color:#3273dc;color:#3273dc;text-decoration:none}.section-heading{display:flex;align-items:baseline;gap:0.5rem;font-size:1.15rem;font-weight:500;color:#363636;margin:2rem 0 1rem}.section-heading a{margin-left:auto;font-size:0.85rem;font-weight:400}.page-heading{font-size:1.5rem;margin-top:0}.tags{display:flex;flex-wrap:wrap;gap:0.4rem;margin:0.5rem 0 1rem}.tag{display:inline-flex;align-items:center;gap:0.35rem;background:#f5f5f5;color:#4a4a4a;border-radius:4px;font-size:0.8rem;padding:0.1rem 0.6rem;line-height:1.6}.tag span{color:#7a7a7a}.tag:hover{text-decoration:none;color:#3273dc}.post-tags{margin-top:2rem;padding-top:1rem;border-top:1px solid #e5e5e5}.widget{padding:1.25rem 1.5rem}.menu-label{font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;color:#7a7a7a;margin:0 0 0.75rem}.menu-list{list-style:none;margin:0;padding:0}.menu-list a{display:flex;justify-content:space-between;padding:0.3rem 0.5rem;border-radius:4px;color:#4a4a4a}.menu-list a:hover{background:#f5f5f5;text-decoration:none}.recent-post{padding:0.5rem 0;border-bottom:1px solid #e5e5e5}.recent-post:last-child{border-bottom:0}.recent-post time{display:block;font-size:0.75rem;color:#7a7a7a}.recent-post a{color:#363636}.profile{text-align:center}.avatar{width:128px;height:128px;border-radius:50%;object-fit:cover;margin:0.5rem auto 0.75rem;display:block}.profile-name{font-size:1.25rem;font-weight:500;color:#363636;margin:0}.profile-bio{font-size:0.9rem;margin:0.5rem 0}.profile-location{font-size:0.85rem;color:#7a7a7a;margin:0.25rem 0 1rem}.level{display:flex;justify-content:space-around;margin:1rem 0}.level .heading{font-size:0.7rem;color:#7a7a7a;margin:0;letter-spacing:0.05em}.level .title{font-size:1.5rem;color:#363636}.profile-links{display:flex;justify-content:center;gap:1rem;font-size:1.35rem}.profile-links a{color:#4a4a4a}.profile-links a:hover{color:#3273dc}.project-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));gap:1.5rem}.project-grid .card{margin-bottom:0;display:flex;flex-direction:column}.project-card .title{font-size:1.2rem}.project-card .card-image img{aspect-ratio:2 / 1;object-fit:cover}.project-links{display:flex;flex-wrap:wrap;gap:0.5rem 1rem;font-size:0.875rem;margin-bottom:1rem}.post-navigation .card-content{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.5rem}.post-navigation .card-content .next{margin-left:auto;text-align:right}.archive-list{list-style:none;padding-left:0}.archive-list li{padding:0.25rem 0;border-bottom:1px dashed #e5e5e5}.archive-list time{color:#7a7a7a;font-family:"Source Code Pro","SFMono-Regular",Menlo,Consolas,monospace;font-size:0.85rem;margin-right:0.75rem}.content h1,.content h2,.content h3,.content h4{color:#363636;font-weight:500;line-height:1.4}.content h2{font-size:1.4rem;margin-top:2rem;padding-bottom:0.3rem;border-bottom:1px solid #e5e5e5}.content h3{font-size:1.15rem;margin-top:1.5rem}.content h2:first-child{margin-top:0}.content small{color:#7a7a7a;font-weight:400}.content blockquote{margin:1rem 0;padding:0.75rem 1.25rem;background:#f5f5f5;border-left:4px solid #e5e5e5}.content blockquote p{margin:0}.content table{border-collapse:collapse;width:100%;margin:1rem 0;display:block;overflow-x:auto}.content th,.content td{border:1px solid #e5e5e5;padding:0.4rem 0.75rem;text-align:left}.content th{background:#f5f5f5}.content :not(pre)>code{background:#f5f5f5;color:#da1039;padding:0.1em 0.35em;border-radius:3px}.content pre{padding:1rem 1.25rem;overflow-x:auto;border-radius:4px;line-height:1.5}.content img{display:block;margin:1rem auto}.content mjx-container[display="true"]{overflow-x:auto;overflow-y:hidden}.highlight,pre.highlight{background:#fafafa;color:#383a42}.highlight .c,.highlight .ch,.highlight .cd,.highlight .cm,.highlight .cpf,.highlight .c1,.highlight .cs{color:#a0a1a7;font-style:italic}.highlight .k,.highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kv{color:#a626a4}.highlight .kt,.highlight .nc,.highlight .nn{color:#c18401}.highlight .s,.highlight .sa,.highlight .sb,.highlight .sc,.highlight .dl,.highlight .sd,.highlight .s2,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx,.highlight .sr,.highlight .s1,.highlight .ss{color:#50a14f}.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .il,.highlight .mo{color:#986801}.highlight .nf,.highlight .fm,.highlight .nb,.highlight .bp{color:#4078f2}.highlight .na,.highlight .nt,.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi{color:#e45649}.highlight .o,.highlight .ow{color:#0184bc}.highlight .err{color:#e45649}.highlight .gd{color:#e45649}.highlight .gi{color:#50a14f}
