:root{--bg: #ffffff;--bg-subtle: #f6f9f9;--bg-raised: #ffffff;--text: #16232e;--text-muted: #5d6f7d;--text-faint: #8b9aa5;--accent: #0d7268;--accent-hover: #0a5a52;--accent-soft: #e4f2f0;--border: #e3e9ec;--border-strong: #cfd9de;--radius: 6px;--maxw-prose: 44rem;--maxw-page: 66rem;--font-sans: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, system-ui, sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #0f161b;--bg-subtle: #151f26;--bg-raised: #141d24;--text: #e7eef2;--text-muted: #9dadb8;--text-faint: #74858f;--accent: #4ecdbd;--accent-hover: #6fdccd;--accent-soft: #133430;--border: #23303a;--border-strong: #33434f}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:1.0625rem;line-height:1.9;font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:3px}img{max-width:100%;height:auto;display:block}.wrap{width:100%;max-width:var(--maxw-page);margin-inline:auto;padding-inline:1.25rem}.wrap--prose{max-width:var(--maxw-prose)}.site-header{border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:20}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:4rem;flex-wrap:wrap}.site-logo{display:flex;align-items:baseline;gap:.6rem;color:var(--text);font-weight:700;letter-spacing:.01em}.site-logo:hover{text-decoration:none;color:var(--accent)}.site-logo__mark{font-size:1.2rem}.site-logo__sub{font-size:.7rem;font-weight:400;color:var(--text-faint);letter-spacing:.08em}.site-nav{display:flex;gap:1.4rem;font-size:.9rem}.site-nav a{color:var(--text-muted);padding-block:.3rem;border-bottom:2px solid transparent}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent);text-decoration:none}.hero{padding-block:4rem 3rem;border-bottom:1px solid var(--border)}.hero h1{margin:0 0 .9rem;font-size:clamp(1.6rem,4.5vw,2.35rem);line-height:1.45;letter-spacing:-.01em}.hero p{margin:0;max-width:34rem;color:var(--text-muted);font-size:1rem}.hero__rule{width:3rem;height:3px;background:var(--accent);margin-bottom:1.6rem;border-radius:2px}.section{padding-block:3.25rem;border-bottom:1px solid var(--border)}.section:last-of-type{border-bottom:none}.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.35rem;flex-wrap:wrap}.section__title{margin:0;font-size:1.2rem;letter-spacing:.01em}.section__note{margin:0 0 1.9rem;color:var(--text-faint);font-size:.85rem}.section__more{font-size:.85rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1.25rem}.card{display:flex;flex-direction:column;padding:1.4rem 1.4rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);transition:border-color .15s ease,transform .15s ease}.card:hover{border-color:var(--accent);transform:translateY(-2px);text-decoration:none}.card__meta{display:flex;align-items:center;gap:.6rem;margin-bottom:.65rem;font-size:.72rem;color:var(--text-faint);letter-spacing:.04em}.card__title{margin:0 0 .6rem;font-size:1.02rem;line-height:1.6;color:var(--text);font-weight:700}.card:hover .card__title{color:var(--accent)}.card__desc{margin:0;font-size:.85rem;line-height:1.8;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.7rem;letter-spacing:.03em;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.badge--plain{background:transparent;border:1px solid var(--border-strong);color:var(--text-muted)}.post-header{padding-block:3rem 1.75rem;border-bottom:1px solid var(--border)}.post-header__meta{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;font-size:.78rem;color:var(--text-faint);flex-wrap:wrap}.post-header h1{margin:0 0 1rem;font-size:clamp(1.5rem,4vw,2.05rem);line-height:1.55;letter-spacing:-.005em}.post-header__desc{margin:0;color:var(--text-muted);font-size:.95rem}.prose{padding-block:2.25rem 3rem}.prose>*+*{margin-top:1.5em}.prose h2,.prose h3,.prose h4{scroll-margin-top:5rem}.prose h2{margin:3.2rem 0 1.3rem;padding-left:.85rem;border-left:4px solid var(--accent);font-size:1.3rem;line-height:1.6;letter-spacing:.005em}.prose h3{margin:2.4rem 0 1rem;padding-bottom:.45rem;border-bottom:1px solid var(--border);font-size:1.08rem;line-height:1.6}.prose h4{margin:2rem 0 .75rem;font-size:1rem;color:var(--accent)}.prose p{margin:1.5em 0}.prose strong{font-weight:700;background:linear-gradient(transparent 62%,var(--accent-soft) 62%);padding-inline:.1em}.prose ul,.prose ol{margin:1.4em 0;padding-left:1.4em}.prose li{margin-block:.5em}.prose li::marker{color:var(--accent)}.prose blockquote{margin:1.9em 0;padding:1.1rem 1.3rem;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--bg-subtle);color:var(--text-muted);font-size:.94rem}.prose blockquote>:first-child{margin-top:0}.prose blockquote>:last-child{margin-bottom:0}.prose hr{margin:3rem 0;border:none;border-top:1px solid var(--border)}.table-scroll{overflow-x:auto;margin:1.9em 0;border:1px solid var(--border);border-radius:var(--radius);-webkit-overflow-scrolling:touch}.prose table{width:100%;border-collapse:collapse;font-size:.9rem;line-height:1.75}.prose thead th{background:var(--bg-subtle);font-weight:700;text-align:left;white-space:nowrap}.prose th,.prose td{padding:.7rem .9rem;border-bottom:1px solid var(--border);vertical-align:top}.prose tbody tr:last-child th,.prose tbody tr:last-child td{border-bottom:none}.prose code{padding:.15em .4em;border-radius:4px;background:var(--bg-subtle);font-size:.88em}.prose pre{padding:1rem 1.2rem;border-radius:var(--radius);overflow-x:auto}.prose pre code{background:none;padding:0}.ad-slot{margin:2.5rem 0;text-align:center}.ad-slot__label{display:block;margin-bottom:.4rem;font-size:.65rem;letter-spacing:.12em;color:var(--text-faint)}.ad-slot__placeholder{display:flex;align-items:center;justify-content:center;min-height:8rem;border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-faint);font-size:.8rem;background:var(--bg-subtle)}.post-footer{padding-block:2rem 3rem;border-top:1px solid var(--border)}.author-box{display:flex;gap:1rem;padding:1.3rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle);font-size:.88rem;line-height:1.8}.author-box__avatar{flex:0 0 auto;width:3rem;height:3rem;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:700}.author-box p{margin:0}.author-box__name{font-weight:700;color:var(--text)}.author-box__desc{color:var(--text-muted)}.site-footer{border-top:1px solid var(--border);padding-block:2.5rem;font-size:.82rem;color:var(--text-muted)}.site-footer__inner{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.site-footer nav{display:flex;gap:1.2rem}.site-footer__disclaimer{margin:1.5rem 0 0;padding-top:1.25rem;border-top:1px solid var(--border);font-size:.75rem;color:var(--text-faint);line-height:1.8}.post-list{list-style:none;margin:0;padding:0}.post-list li{border-bottom:1px solid var(--border)}.post-list a{display:block;padding-block:1.35rem;color:var(--text)}.post-list a:hover{text-decoration:none}.post-list a:hover .post-list__title{color:var(--accent)}.post-list__meta{display:flex;align-items:center;gap:.7rem;margin-bottom:.35rem;font-size:.72rem;color:var(--text-faint)}.post-list__title{font-weight:700;font-size:1.02rem;line-height:1.65}.post-list__desc{margin:.35rem 0 0;font-size:.85rem;color:var(--text-muted);line-height:1.8}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:50;padding:.6rem 1rem;background:var(--accent);color:#fff;border-radius:var(--radius)}@media(max-width:640px){body{font-size:1rem}.hero{padding-block:2.75rem 2.25rem}.prose h2{font-size:1.18rem}}.site-footer__inner--sub[data-astro-cid-sz7xmlte]{margin-top:.6rem;font-size:.78rem}.site-footer__inner--sub[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{margin:0}
