:root{color-scheme:light;--ink:#24292e;--muted:#606870;--link:#245f8f;--rule:#dce0e3;--soft:#f5f6f7}*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;background:#fff;color:var(--ink);font:17px/1.95 "Yu Gothic",Meiryo,system-ui,sans-serif}a{color:var(--link);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}a:focus-visible,summary:focus-visible{outline:3px solid #347ab4;outline-offset:4px}p{margin:0 0 1.2em}h1,h2{line-height:1.55;font-weight:700;letter-spacing:0}h1{font-size:32px;margin:0 0 16px;text-wrap:pretty}h2{font-size:25px;margin:48px 0 20px;padding-bottom:10px;border-bottom:1px solid var(--rule)}img{display:block;max-width:100%;height:auto}figure{margin:0}figcaption{font-size:14px;line-height:1.75;margin-top:10px;color:var(--muted)}strong{font-weight:700}.site-header{max-width:1000px;margin:auto;display:flex;align-items:center;gap:24px;min-height:70px;padding:12px 28px;border-bottom:1px solid var(--rule)}.site-name{color:var(--ink);font-size:22px;font-weight:700;text-decoration:none}.site-header>span{font-size:13px;color:var(--muted)}main{max-width:824px;padding:40px 32px 60px;margin:0 auto}.article-header{margin-bottom:28px}.category{font-size:13px;color:var(--muted);margin-bottom:8px}.meta{font-size:13px;color:var(--muted);margin-bottom:0}.meta time{display:inline-block;margin-left:12px}.contents{font-size:15px;margin:24px 0 38px}.contents ul{margin:0;padding-left:1.4em}.contents li{margin:4px 0}ol{padding-left:1.5em;margin:20px 0}ol li{padding-left:4px;margin:8px 0}.caution{border-left:3px solid #b6843d;padding:3px 0 3px 16px;margin:24px 0;font-size:16px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0 12px}.comparison img{width:100%}.figure-note{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:24px}.single-image{max-width:360px;margin:24px auto}.single-image img{width:100%}.single-image figcaption{font-size:14px}.screen-help{font-size:14px}details{margin:22px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:12px 0}summary{cursor:pointer;color:var(--link);font-size:15px}details[open] summary{margin-bottom:18px}details p:last-child{margin-bottom:4px}details>a{display:block;margin-bottom:12px}.table-wrap{overflow-x:auto;margin:16px 0}table{width:100%;border-collapse:collapse;font-size:14px;text-align:left;line-height:1.8}th,td{padding:12px 10px;border-bottom:1px solid var(--rule);vertical-align:top}th{background:var(--soft)}code,kbd{font: .88em/1.5 Consolas,monospace;background:var(--soft);padding:2px 4px;border-radius:2px;overflow-wrap:anywhere}kbd{border:1px solid var(--rule);white-space:nowrap}.file-meta{font-size:13px;color:var(--muted)}.environment,.references{font-size:14px;color:var(--muted)}.site-footer{max-width:1000px;margin:auto;border-top:1px solid var(--rule);padding:24px 28px;font-size:14px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.site-footer span{font-size:12px}.skip{position:absolute;left:12px;top:-100px;padding:8px;background:white;z-index:5}.skip:focus{top:8px}
@media(max-width:600px){body{font-size:16px;line-height:1.9}.site-header{padding:12px 20px;gap:18px;min-height:62px}.site-header>span{font-size:11px}.site-name{font-size:20px}main{padding:26px 20px 38px}h1{font-size:26px;line-height:1.55}h2{font-size:22px;margin-top:36px}.article-header{margin-bottom:23px}.meta{font-size:12px}.meta time{margin-left:0;display:block}.comparison{gap:10px}figcaption,.figure-note{font-size:13px}.caution{font-size:15px;padding-left:12px}.single-image{max-width:300px}.contents{font-size:14px}table{font-size:13px}th,td{padding:10px 6px}.site-footer{padding:22px 20px}}
@media print{.site-header,.contents,.site-footer{display:none}main{max-width:none;padding:0}body{font-size:11pt}h1{font-size:22pt}h2{font-size:16pt}.comparison,figure{break-inside:avoid}a{color:inherit}details{border:0}}
h1{text-wrap:balance}

/* Shared site navigation. */
.site-header{flex-wrap:wrap;row-gap:2px}.site-name{white-space:nowrap}
.site-footer{flex-wrap:wrap}.site-footer nav{display:flex;flex-wrap:wrap;gap:8px 20px}
.site-footer>span{font-size:14px}.home-image{width:100%;max-width:480px;margin:24px auto}
@media(max-width:420px){.site-header>span{flex-basis:100%}.site-footer nav{display:grid;gap:8px}}

/* Keep heading phrases intact without inserting fixed line breaks. */
.heading-phrase{display:inline-block}
@media(max-width:600px){.comparison{grid-template-columns:1fr;gap:24px}.single-image{max-width:360px}}
