:root{--primary-color: #c0392b;--secondary-color: #f9f5f3;--text-color: #2d3748;--heading-color: #1a202c;--border-radius: 8px;--container-width: 1000px;--hn-text: #141414;--hn-muted: #555;--hn-line: #e6e6e6;--hn-soft: #f7f6f4;--hn-accent: #b7352d}*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.6;color:var(--text-color);background-color:#fff}a{color:var(--primary-color);text-decoration:none;transition:color .2s ease}a:hover{color:#e74c3c}.container{max-width:var(--container-width);margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}.site-header{background-color:#c0392b;padding:12px 0;color:#fff}.site-header a{color:inherit;text-decoration:none}.site-header .container,.site-header .header-inner{max-width:1200px;margin:0 auto;padding:0 24px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-title{margin:0}.site-logo{display:inline-flex;align-items:baseline;gap:.6rem;text-decoration:none;color:inherit;cursor:default}.site-logo:hover,.site-logo:focus,.site-logo:active{text-decoration:none;color:inherit}.site-header .site-title>a.site-logo{display:inline-flex;align-items:baseline;gap:.6rem;text-decoration:none;color:inherit;cursor:default}.site-header .site-title>a.site-logo:hover,.site-header .site-title>a.site-logo:focus,.site-header .site-title>a.site-logo:active{text-decoration:none;color:inherit}.site-header .site-title .logo-jp{font-weight:700;font-size:1.05rem}.site-header .site-title .logo-it{font-size:.95rem;opacity:.85}.site-nav{display:flex;align-items:center;gap:16px}.site-nav a{font-weight:600;opacity:.95}.site-nav a:hover{opacity:1}.site-footer{margin-top:3rem;padding:1rem 0;text-align:center;font-size:.875rem;background-color:var(--secondary-color);color:var(--text-color)}.hero{padding:3rem 1rem;text-align:center;background-color:var(--secondary-color);border-bottom:1px solid #e2e8f0}.hero h2{margin-top:0;font-size:2rem;color:var(--heading-color)}.categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:2rem}.category-card{display:block;padding:1.5rem;border:1px solid #ececec;border-radius:var(--border-radius);background-color:#fff;transition:box-shadow .2s ease,transform .2s ease}.category-card h3{margin-top:0;margin-bottom:.5rem;font-size:1.25rem;color:var(--primary-color)}.category-card p{margin:0;font-size:.875rem;color:var(--text-color)}.category-card:hover{box-shadow:0 4px 10px #00000014;transform:translateY(-3px)}.category-nav{display:flex;flex-wrap:wrap;margin-top:1.5rem;gap:.5rem}.category-nav a{padding:.5rem .75rem;border-radius:var(--border-radius);border:1px solid var(--primary-color);color:var(--primary-color);background-color:#fff;font-size:.875rem;transition:background-color .2s ease,color .2s ease}.category-nav a.active,.category-nav a:hover{background-color:var(--primary-color);color:#fff}.post-list{list-style:none;padding:0;margin-top:2rem}.post-item{padding:1rem 0;border-bottom:1px solid #ececec}.post-item:last-child{border-bottom:none}.post-item h3{margin:0 0 .25rem;font-size:1.25rem;color:var(--heading-color)}.post-item p{margin:0 0 .5rem;font-size:.875rem;color:var(--text-color)}.post-meta{font-size:.75rem;color:#6b7280}.post-meta time{margin-right:.5rem}.tag,.series{display:inline-block;margin-right:.5rem;padding:.25rem .5rem;font-size:.75rem;border-radius:var(--border-radius);background-color:var(--secondary-color);color:var(--primary-color);border:1px solid var(--primary-color)}.tag:last-child,.series:last-child{margin-right:0}.page-articles{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,sans-serif}.page-articles .category-nav a{font-weight:500}.page-articles .post-list a,.page-articles .post-item a,.page-articles h3{font-weight:700;opacity:1}article{max-width:720px;margin:0 auto;padding:3.2rem 1.5rem 4rem;color:var(--hn-text);font-size:1.06rem;line-height:1.85}article p{margin:0 0 1.25em;color:var(--hn-text)}article strong{font-weight:700}article em{color:var(--hn-muted)}article a{color:var(--hn-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}article a:hover{color:var(--hn-accent)}article h1{font-size:2.15rem;line-height:1.25;margin:0 0 1.2rem;letter-spacing:-.02em;display:flex;flex-direction:column;gap:.35rem;font-weight:700}article h1 span,article h1 small{font-size:1.1rem;font-weight:500;color:#555}article h2{margin:3.1rem 0 1rem;font-size:1.45rem;line-height:1.35;padding-left:.9rem;border-left:4px solid var(--hn-accent)}article h3{margin:2.2rem 0 .8rem;font-size:1.18rem;line-height:1.4}article ul,article ol{margin:.2rem 0 1.4rem 1.25rem;padding:0}article li{margin:.4rem 0}article li p{margin:.35rem 0}article hr{border:none;height:1px;background:var(--hn-line);margin:2.8rem 0}article hr+h2{margin-top:2.2rem}article pre{background:var(--hn-soft);border:1px solid var(--hn-line);border-radius:14px;padding:1rem 1.1rem;overflow:auto;margin:1.4rem 0 1.8rem;font-size:.98rem;line-height:1.65}article code{font-size:.98em}article blockquote{margin:1.7rem 0;padding:.9rem 1rem;border-left:4px solid var(--hn-line);background:#fafafa;color:var(--hn-muted)}@media (max-width: 520px){article{padding:2.4rem 1.1rem 3rem;font-size:1.02rem}article h1{font-size:1.85rem}article h2{font-size:1.28rem}}article li{margin:.8rem 0 1.1rem}article li>p:first-child{font-size:1.05rem;line-height:1.75}article li em,article li i{display:block;margin-top:.35rem;font-size:.95rem;color:#555}article .jp-example{margin:1.5rem 0 .6rem;padding-left:1rem;border-left:3px solid #c43a2f;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Noto Sans JP,sans-serif;font-size:1.15rem;line-height:1.8;letter-spacing:.05em;font-weight:400}h1.post-title{display:flex;flex-direction:column;gap:.45rem;margin-bottom:2.2rem;font-weight:800;opacity:1;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Yu Gothic,Noto Sans JP,sans-serif}h1.post-title .post-subtitle{font-size:1.1rem;font-weight:500;color:#555;opacity:1}.page-article h2,.page-article h3{font-weight:700}.page-article :where(h1,h2,h3,h4,h5,h6) .jp{opacity:1;font-style:normal;font-weight:inherit}.page-article :where(h2,h3){font-weight:700;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,Noto Sans JP,sans-serif}.jp{font-style:normal;opacity:1}article .jp-example .jp{font-style:italic;opacity:.85}
