:root{--color-bg-from:#e37682;--color-bg-to:#5f4d93;--color-card:#fff;--color-text:#4a4a4a;--color-muted:#8a8a8a;--color-heading:#3d3d3d;--color-border:#ddd;--color-link:#5f4d93;--color-link-hover:#e37682;--color-code-bg:#f7f7f7;--color-on-bg:#fff;--gradient-accent:linear-gradient(90deg, #efa8b0, #a89cc8, #8cc9f0);--font-body:"Source Sans Pro", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--color-page:#f3f2f6;--width-page:1140px;--width-sidebar:300px;--radius:6px;--shadow-card:0 1px 3px #3c325a14}*{box-sizing:border-box}html{font-size:16px}body{background:var(--color-page);color:var(--color-text);font-family:var(--font-body);-webkit-text-size-adjust:100%;margin:0;line-height:1.9}a{color:var(--color-link);text-decoration:none}a:hover{color:var(--color-link-hover)}.site-header{background-color:var(--color-bg-to);background-image:linear-gradient(45deg, var(--color-bg-from) 15%, var(--color-bg-to) 85%);color:var(--color-on-bg)}.site-header-inner,.site-footer-inner,.layout{max-width:var(--width-page);margin:0 auto;padding:0 16px}.site-header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding-top:20px;padding-bottom:20px;display:flex}.site-branding{flex-wrap:wrap;align-items:baseline;gap:4px 16px;display:flex}.site-title{color:var(--color-on-bg);letter-spacing:.05em;font-size:1.6rem;font-weight:600}.site-title:hover{color:var(--color-on-bg);opacity:.85}.site-description{opacity:.8;font-size:.9rem}.site-nav{flex-wrap:wrap;gap:4px;display:flex}.site-nav a{color:var(--color-on-bg);border-radius:999px;padding:2px 14px;font-size:.95rem}.site-nav a:hover,.site-nav a.active{color:var(--color-on-bg);background:#fff3}.layout{grid-template-columns:minmax(0, 1fr) var(--width-sidebar);align-items:start;gap:32px;padding-top:32px;padding-bottom:32px;display:grid}.content,.widget{background:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow-card)}.content{padding:40px 48px 48px}.sidebar{flex-direction:column;gap:24px;display:flex}.widget{padding:20px 24px}.widget-title{border-bottom:2px solid #0000;border-image:var(--gradient-accent) 1;color:var(--color-heading);margin:0 0 12px;padding-bottom:8px;font-size:1rem;font-weight:600}.widget-list,.widget-categories{margin:0;padding:0;font-size:.9rem;line-height:1.6;list-style:none}.widget-list li+li{margin-top:12px}.widget-list a{color:var(--color-text);display:block}.widget-list a:hover{color:var(--color-link-hover)}.widget-list time{color:var(--color-muted);font-size:.8rem}.widget-categories li+li{border-top:1px solid var(--color-border)}.widget-categories a{color:var(--color-text);justify-content:space-between;padding:6px 0;display:flex}.widget-categories a:hover{color:var(--color-link-hover)}.widget .count{color:var(--color-muted);font-size:.8rem}.widget-more{text-align:right;margin:8px 0 0;font-size:.85rem}.profile{align-items:flex-start;gap:16px;display:flex}.profile-image{object-fit:cover;border-radius:50%;flex-shrink:0}.profile-name{color:var(--color-heading);margin:0;font-weight:600}.profile-text{margin:4px 0 0;font-size:.85rem;line-height:1.7}.profile-links{gap:12px;margin:8px 0 0;font-size:.85rem;display:flex}.site-footer{border-top:1px solid var(--color-border);background:var(--color-card);color:var(--color-muted);font-size:.85rem}.site-footer-inner{justify-content:space-between;padding-top:20px;padding-bottom:20px;display:flex}@media (width<=960px){.layout{grid-template-columns:minmax(0,1fr)}}@media (width<=600px){.site-header-inner{padding-top:16px;padding-bottom:12px}.site-title{font-size:1.4rem}.site-nav{margin-left:-10px}.site-nav a{padding:2px 10px;font-size:.9rem}.layout{gap:16px;padding:0 0 24px}.content{border-radius:0;padding:28px 20px 36px}.sidebar{padding:0 16px}}.page-title,.post-header h1{color:var(--color-heading);margin:0 0 8px;font-size:1.6rem;font-weight:600;line-height:1.5}.page-title:after,.post-header:after{content:"";background:var(--gradient-accent);width:96px;height:2px;margin-top:16px;display:block}.post-header{margin-bottom:40px}.post-list{margin:24px 0 0;padding:0;list-style:none}.post-list li+li{border-top:1px solid var(--color-border)}.post-list-link{color:var(--color-text);padding:16px 0;display:block}.post-list-meta{color:var(--color-muted);flex-wrap:wrap;gap:4px 16px;font-size:.85rem;line-height:1.6;display:flex}.post-list-title{color:var(--color-heading);margin-top:4px;font-size:1.1rem;font-weight:600;line-height:1.6;display:block}.post-list-link:hover .post-list-title{color:var(--color-link-hover)}.post-meta{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 0;font-size:.9rem;display:flex}.chip{border:1px solid var(--color-border);color:var(--color-muted);border-radius:999px;padding:0 10px;font-size:.8rem;line-height:1.8}.chip:hover{border-color:var(--color-link-hover)}.post-content{overflow-wrap:anywhere}.post-content a{border-bottom:1px solid}.post-content h1,.post-content h2,.post-content h3,.post-content h4{color:var(--color-heading);margin:2.2em 0 .8em;font-weight:600;line-height:1.5}.post-content h1{font-size:1.35rem}.post-content h2{border-bottom:1px solid var(--color-border);padding-bottom:6px;font-size:1.25rem}.post-content h3{font-size:1.1rem}.post-content h4{font-size:1rem}.post-content>:first-child{margin-top:0}.post-content p,.post-content ul,.post-content ol{margin:0 0 1.4em}.post-content img{border-radius:var(--radius);max-width:100%;height:auto}.post-content table{border-collapse:collapse;max-width:100%;margin:0 0 1.4em;font-size:.9rem;display:block;overflow-x:auto}.post-content th,.post-content td{border:1px solid var(--color-border);padding:6px 12px}.post-content th{background:var(--color-code-bg)}.post-content pre{border:1px solid var(--color-border);border-radius:var(--radius);font-family:var(--font-mono);margin:0 0 1.6em;padding:16px 20px;font-size:.85rem;line-height:1.7;overflow-x:auto;background:var(--color-code-bg)!important}.post-content :not(pre)>code{border-radius:var(--radius);background:var(--color-code-bg);font-family:var(--font-mono);padding:1px 6px;font-size:.88em}.post-content blockquote{color:var(--color-muted);border-left:3px solid #a89cc8;margin:0 0 1.4em;padding:4px 20px}.comments{border-top:1px solid var(--color-border);margin-top:56px;padding-top:24px}.comments h2{color:var(--color-heading);margin:0 0 16px;font-size:1.05rem}.comment{border-radius:var(--radius);background:var(--color-code-bg);padding:12px 16px}.comment-meta{color:var(--color-muted);margin:0;font-size:.85rem}.comment p{margin:4px 0 0}.category-tree{margin:24px 0 0;padding-left:20px}.category-tree ul{padding-left:20px}.category-tree .count{color:var(--color-muted);margin-left:4px;font-size:.85rem}
