:root{--ink:#202733;--muted:#667085;--navy:#19448e;--navy-deep:#102c5c;--paper:#fff;--canvas:#f3f5f8;--rule:#d8dee8;--shadow:0 12px 32px #1e304d14;color-scheme:light;font-synthesis:none;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,YuGothic,Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--canvas);overflow-wrap:anywhere;margin:0;font-size:17px;line-height:1.8}a{color:var(--navy);text-underline-offset:.2em}a:hover{color:var(--navy-deep)}a:focus-visible{outline-offset:4px;border-radius:2px;outline:3px solid #f0b429}img{max-width:100%;height:auto}.skip-link{z-index:100;color:#fff;background:var(--navy-deep);padding:.55rem .9rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{color:#fff;background:var(--navy-deep);border-bottom:4px solid var(--navy)}.site-header__inner,.site-footer__inner,.site-main{width:min(100% - 2rem,1080px);margin-inline:auto}.site-header__inner{justify-content:space-between;align-items:center;gap:2rem;min-height:108px;display:flex}.brand{color:inherit;gap:.1rem;text-decoration:none;display:grid}.brand:hover{color:#fff}.brand__name{letter-spacing:.12em;font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,serif;font-size:clamp(1.75rem,4vw,2.35rem);font-weight:700}.brand__note{color:#cbd6e8;letter-spacing:.15em;font-size:.72rem}nav ul{align-items:center;gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}nav a{color:#e5ebf5;font-size:.84rem;text-decoration:none}nav a:hover,nav a[aria-current=page]{color:#fff;text-decoration:underline}.site-main{padding-block:clamp(2rem,5vw,4.5rem)}.home-intro{color:#fff;background:var(--navy);box-shadow:var(--shadow);padding:clamp(2rem,6vw,4.75rem);position:relative;overflow:hidden}.home-intro:after{content:"";opacity:.16;background:repeating-linear-gradient(0deg,#0000 0 27px,#fff 28px 29px);width:38%;position:absolute;inset:0 0 0 auto;transform:skew(-9deg)translate(12%)}.home-intro>*{z-index:1;max-width:720px;position:relative}.eyebrow,.section-heading>p,.archive-title>p{letter-spacing:.14em;text-transform:uppercase;margin:0 0 .5rem;font:700 .72rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.home-intro h1{letter-spacing:.035em;margin:0;font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,serif;font-size:clamp(2rem,6vw,4.25rem);line-height:1.35}.home-intro h1 em{color:#dfe9fb;border-bottom:.1em solid #9db9e8;font-style:normal}.home-intro>p:last-child{color:#e7edf7;margin:1.5rem 0 0}.archive{margin-top:clamp(2.5rem,6vw,4.75rem)}.section-heading,.archive-title{border-bottom:2px solid var(--navy);grid-template-columns:1fr auto;align-items:end;gap:.25rem 2rem;margin-bottom:1.25rem;padding-bottom:.9rem;display:grid}.section-heading>p,.archive-title>p{color:var(--navy);grid-column:1/-1}.section-heading h2,.archive-title h1{margin:0;font:700 clamp(1.5rem,3vw,2rem)/1.4 Hiragino Mincho ProN,Yu Mincho,serif}.section-heading span,.archive-title span{color:var(--muted);font:.75rem ui-monospace,monospace}.post-list{gap:1rem;display:grid}.post-card{background:var(--paper);border:1px solid var(--rule);padding:clamp(1.4rem,4vw,2.2rem);transition:border-color .16s,transform .16s;position:relative;box-shadow:0 4px 16px #1e304d0a}.post-card:hover{border-color:#9fb2d0;transform:translateY(-2px)}.post-card__meta,.entry__meta{color:var(--muted);flex-wrap:wrap;gap:.5rem 1rem;font:.75rem ui-monospace,monospace;display:flex}.post-card h2{margin:.55rem 0 .7rem;font:700 clamp(1.25rem,3vw,1.65rem)/1.55 Hiragino Mincho ProN,Yu Mincho,serif}.post-card h2 a{color:var(--ink);text-decoration:none}.post-card h2 a:after{content:"";position:absolute;inset:0}.post-card p{color:#4b5565;margin:0;font-size:.93rem}.post-card__link{margin-top:1rem;font-size:.8rem;font-weight:700;display:inline-block}.entry{background:var(--paper);border-top:5px solid var(--navy);width:min(100%,1080px);box-shadow:var(--shadow);margin-inline:auto;padding:clamp(1.5rem,5vw,4rem)}.entry__header{margin-bottom:clamp(2rem,6vw,4rem)}.entry__header h1{letter-spacing:.025em;margin:.7rem 0 0;font:700 clamp(1.8rem,5vw,3rem)/1.45 Hiragino Mincho ProN,Yu Mincho,serif}.entry__meta a{color:var(--muted)}.taxonomy-list{flex-wrap:wrap;gap:.45rem;margin:1.1rem 0 0;padding:0;list-style:none;display:flex}.taxonomy-list a{border:1px solid var(--rule);border-radius:999px;padding:.25rem .65rem;font-size:.78rem;text-decoration:none}.entry__featured{margin:0 auto 2.5rem;display:block}.entry-layout{grid-template-columns:minmax(0,1fr) minmax(210px,260px);align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}.entry-sidebar{gap:2rem;min-width:0;display:grid;position:sticky;top:1rem}.entry-toc,.entry-related{border:1px solid var(--rule);background:#f6f8fb;padding:1rem 1.1rem}.entry-toc h2,.entry-related h2{color:var(--navy-deep);margin:0 0 .75rem;font:700 1rem/1.5 Hiragino Mincho ProN,Yu Mincho,serif}.entry-toc ol,.entry-related ol{gap:.45rem;margin:0;padding-left:1.35rem;display:grid}.entry-toc li,.entry-related li{font-size:.8rem;line-height:1.6}.entry-toc__sub{margin-left:.7rem}.entry-toc a{color:var(--navy)}.entry-toc a:hover{color:var(--navy-deep)}.entry-toc a,.entry-related a{text-decoration:none}.entry-related{gap:1rem;display:grid}.entry-related__category h3{margin:0 0 .45rem;font-size:.82rem}.entry-content{min-width:0;font-size:1rem;line-height:1.9}.entry-content>:first-child{margin-top:0}.entry-content p,.entry-content blockquote,.entry-content pre,.entry-content table{margin-block:0 1.8em}.entry-content ul,.entry-content ol{margin:0 0 1.8em;padding-inline-start:1.7em}.entry-content ul{list-style:outside}.entry-content ol{list-style:decimal}.entry-content li+li{margin-top:.45em}.entry-content li>ul,.entry-content li>ol{margin-block:.5em 0}.entry-content h2{color:var(--navy-deep);border-left:5px solid var(--navy);background:#eef3fa;margin:2.6em 0 1.1em;padding:.65em .8em;font-size:1.45rem;line-height:1.5}.entry-content h3{border-bottom:2px solid var(--rule);margin:2.2em 0 1em;padding-bottom:.35em;font-size:1.2rem}.entry-content hr{border:0;border-top:1px solid var(--rule);margin:2.8rem 0}.entry-content blockquote{color:#465164;background:#f6f8fb;border-left:4px solid #9fb2d0;border-radius:0 .35rem .35rem 0;margin-inline:0;padding:1.15rem 1.4rem}.entry-content blockquote>:first-child{margin-top:0}.entry-content blockquote>:last-child{margin-bottom:0}.entry-content blockquote cite{color:var(--muted);margin-top:.75rem;font-size:.85rem;font-style:normal;display:block}.entry-content :not(pre)>code,.entry-content kbd{color:var(--navy-deep);background:#eef3fa;border:1px solid #dfe7f3;border-radius:.25rem;padding:.12em .35em;font:.9em ui-monospace,SFMono-Regular,Menlo,monospace}.entry-content pre{color:#eef4ff;tab-size:2;background:#172033;border-radius:.35rem;padding:1rem 1.1rem;font:.85rem/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-x:auto}.entry-content pre code{color:inherit;font:inherit;white-space:pre;background:0 0;border:0;padding:0}.entry-content table{border-collapse:collapse;text-align:left;width:100%;font-size:.94rem}.entry-content caption{color:var(--muted);text-align:left;margin-bottom:.5rem;font-weight:700}.entry-content th,.entry-content td{border:1px solid var(--rule);vertical-align:top;padding:.7rem .8rem}.entry-content th{color:var(--navy-deep);background:#eef3fa;font-weight:700}.entry-content tbody tr:nth-child(2n) td{background:#fafbfd}.entry-content figure{margin:2em 0}.entry-content figure img{margin-inline:auto;display:block}.entry-content figcaption{color:var(--muted);text-align:center;margin-top:.5rem;font-size:.82rem}.entry-content dl{margin:0 0 1.8em}.entry-content dt{color:var(--navy-deep);font-weight:700}.entry-content dd{margin:.25em 0 .8em 1.5em}.entry-content details{border:1px solid var(--rule);background:#fafbfd;margin-block:0 1.8em;padding:.8rem 1rem}.entry-content summary{color:var(--navy-deep);cursor:pointer;font-weight:700}.entry-content .external-card-paragraph,.entry-content .external-card-wrap{margin-block:0 1.8em}.entry-content .external-card{color:var(--ink);border:1px solid var(--rule);background:#fff;border-radius:.45rem;align-items:center;gap:.9rem;padding:1rem 1.1rem;text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;box-shadow:0 4px 14px #1e304d0d}.entry-content .external-card:hover{color:var(--ink);border-color:#9fb2d0;transform:translateY(-2px);box-shadow:0 8px 20px #1e304d17}.external-card__badge{color:#fff;background:var(--navy);border-radius:.35rem;flex:0 0 2.3rem;place-items:center;width:2.3rem;height:2.3rem;font:700 1rem/1 ui-sans-serif,sans-serif;display:grid}.external-card--x .external-card__badge{background:#101318}.external-card__body{gap:.2rem;min-width:0;display:grid}.external-card__title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;line-height:1.5;overflow:hidden}.external-card__meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1.4;overflow:hidden}.external-card__arrow{color:var(--navy);margin-left:auto;font-size:1.1rem}.pagination{border-top:1px solid var(--rule);justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.25rem;display:flex}.pagination ol{gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.pagination a,.pagination span{border:1px solid var(--rule);min-width:2.25rem;min-height:2.25rem;color:var(--navy);place-items:center;padding:.35rem .55rem;font-size:.8rem;text-decoration:none;display:inline-grid}.pagination a:hover,.pagination span[aria-current=page]{color:#fff;background:var(--navy);border-color:var(--navy)}.pagination span[aria-disabled=true]{color:#a1a9b6;background:#f4f6f9}.search-form{gap:.4rem;display:flex}.search-form input{border:1px solid var(--rule);min-width:0;color:var(--ink);background:#fff;border-radius:.2rem;padding:.45rem .65rem}.search-form button{color:#fff;background:var(--navy);cursor:pointer;border:0;padding:.45rem .75rem;font-weight:700}.search-form--header input{background:#fff;border-color:#8193b3;width:8rem}.search-form--header button{background:#5075ae}.search-form--page{gap:.5rem;margin-bottom:1.5rem;display:grid}.search-form--page label{font-weight:700}.search-form__controls{gap:.5rem;display:flex}.search-form__controls input{flex:1;padding:.7rem .8rem}.search-form__controls button{padding-inline:1.2rem}.search-status{color:var(--muted);font-size:.9rem}.search-results{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.search-results li{background:var(--paper);border:1px solid var(--rule);align-items:baseline;gap:.8rem;padding:.9rem 1rem;display:flex}.search-results li span{color:var(--muted);font-size:.72rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-found{text-align:center;background:var(--paper);width:min(100%,720px);box-shadow:var(--shadow);margin-inline:auto;padding:clamp(2rem,7vw,5rem)}.not-found__code{color:var(--navy);margin:0;font:700 clamp(4rem,16vw,8rem)/1 ui-monospace,monospace}.not-found h1{font-family:Hiragino Mincho ProN,Yu Mincho,serif}.button{color:#fff;background:var(--navy);margin-top:1rem;padding:.7rem 1.2rem;text-decoration:none;display:inline-block}.button:hover{color:#fff;background:var(--navy-deep)}.site-footer{color:#d7dfec;background:#162238;padding-block:2.2rem}.site-footer__inner{justify-content:space-between;gap:1rem;display:flex}.site-footer p{margin:0;font-size:.8rem}.site-footer__copyright{color:#9eabc0}@media (width<=700px){body{font-size:16px}.site-header__inner{flex-direction:column;align-items:flex-start;gap:1rem;padding-block:1.25rem}nav ul{flex-wrap:wrap;gap:1rem}.search-form--header{width:100%}.search-form--header input{flex:1;width:auto}.home-intro:after{width:62%}.section-heading,.archive-title{grid-template-columns:1fr}.section-heading span,.archive-title span{justify-self:start}.entry{padding-inline:1.25rem}.entry-content table{white-space:nowrap;max-width:100%;display:block;overflow-x:auto}.entry-content th,.entry-content td{min-width:8rem}.entry-layout{flex-direction:column;display:flex}.entry-sidebar{order:-1;width:100%;position:static}.pagination{gap:.45rem}.pagination ol{gap:.25rem}.site-footer__inner{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
