:root{--bg:#fbfbf9;--fg:#1c1d1f;--dim:#6b6d72;--line:#e4e3de;--accent:#1f5f4b;--card:#fff;--mark:#fff6d8;--w:44rem}@media(prefers-color-scheme:dark){:root{--bg:#16181a;--fg:#e8e8e6;--dim:#9a9da3;--line:#2b2e31;--accent:#7fd0b3;--card:#1d2023;--mark:#3a3520}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font:1.0625rem/1.78 '-apple-system',pretendard,malgun gothic,apple sd gothic neo,sans-serif;word-break:keep-all;overflow-wrap:break-word}.wrap{max-width:var(--w);margin:0 auto;padding:0 1.15rem}a{color:inherit}.body a{color:var(--accent)}.top{border-bottom:1px solid var(--line);background:var(--card)}.top .row{display:flex;align-items:center;gap:1.1rem;min-height:3.4rem;flex-wrap:wrap}.brand{font-weight:700;text-decoration:none;letter-spacing:-.02em}.top nav{display:flex;gap:.85rem;flex-wrap:wrap;font-size:.875rem}.top nav a{color:var(--dim);text-decoration:none}.top nav a:hover{color:var(--accent)}.foot{border-top:1px solid var(--line);margin-top:4rem;padding:1.6rem 0 2.4rem;font-size:.8125rem;color:var(--dim)}.foot .disc{background:var(--card);border:1px solid var(--line);border-radius:.5rem;padding:.85rem 1rem;line-height:1.7}.post{padding:2.2rem 0 0}.post h1{font-size:1.85rem;line-height:1.34;letter-spacing:-.025em;margin:0 0 .6rem}.post .meta{color:var(--dim);font-size:.8125rem;margin:0 0 1.5rem}.post .lead{font-size:1.08rem;color:var(--dim);border-left:3px solid var(--accent);padding:.1rem 0 .1rem .9rem;margin:0 0 1.9rem}.body h2{font-size:1.28rem;margin:2.6rem 0 .8rem;letter-spacing:-.02em;padding-top:.9rem;border-top:1px solid var(--line)}.body h3{font-size:1.06rem;margin:1.8rem 0 .5rem}.body p{margin:0 0 1.15rem}.body p>strong,.body li>strong{background:var(--mark);padding:0 .15em;border-radius:2px}.body blockquote strong,.body figcaption strong,.body th strong,.body td strong{background:0 0;padding:0}.body blockquote{margin:1.5rem 0;padding:.9rem 1.1rem;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:.4rem;color:var(--dim)}.body ul,.body ol{padding-left:1.25rem;margin:0 0 1.15rem}.body li{margin:.32rem 0}.body figure,.body p>img{margin:2rem 0}.body img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:.5rem;background:var(--card)}.body figcaption{font-size:.8125rem;color:var(--dim);margin-top:.55rem;line-height:1.6}@media(min-width:60rem){.body figure{width:calc(100% + 7rem);margin-left:-3.5rem}}.body .tw,.body table{display:block;overflow-x:auto}.body table{width:100%;border-collapse:collapse;font-size:.9rem;margin:1.6rem 0}.body th,.body td{border:1px solid var(--line);padding:.5rem .65rem;text-align:left;white-space:nowrap}.body th{background:var(--card);font-weight:600}.body td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.toc{background:var(--card);border:1px solid var(--line);border-radius:.5rem;padding:.9rem 1.1rem;margin:0 0 2rem;font-size:.9rem}.toc ul{margin:.4rem 0 0;padding-left:1.1rem}.toc a{color:var(--dim);text-decoration:none}.toc a:hover{color:var(--accent)}.cta{margin:3rem 0 0;padding:1.3rem 1.4rem;background:var(--card);border:1px solid var(--line);border-radius:.6rem}.cta .q{margin:0 0 .5rem;color:var(--dim);font-size:.95rem}.cta .bk{margin:0 0 .4rem;font-size:1.05rem}.cta .note{margin:0;color:var(--dim);font-size:.875rem}.cta .soon{margin:.7rem 0 0;color:var(--dim);font-size:.8125rem}.cta .go{display:inline-block;margin-top:1rem;padding:.6rem 1.15rem;border-radius:.4rem;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;font-size:.95rem}.cta .go:hover{opacity:.9}.cta .fine{margin:.55rem 0 0;font-size:.75rem;color:var(--dim)}.hero{padding:2.4rem 0 .6rem}.hero h1{font-size:1.7rem;margin:0 0 .35rem;letter-spacing:-.025em}.hero p{color:var(--dim);margin:0}.cards{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:.9rem}@media(min-width:44rem){.cards{grid-template-columns:1fr 1fr}}.cards li{background:var(--card);border:1px solid var(--line);border-radius:.55rem;padding:1rem 1.1rem}.cards a{text-decoration:none;letter-spacing:-.015em;line-height:1.45;display:block}.cards p{margin:.45rem 0 .5rem;font-size:.875rem;color:var(--dim);line-height:1.65}.cards .meta{font-size:.75rem;color:var(--dim)}.more{margin-top:2.6rem;border-top:1px solid var(--line);padding-top:1.2rem}.more h2{font-size:1.05rem;margin:0 0 .6rem}.more ul{padding-left:1.1rem;margin:0;font-size:.9375rem}.more li{margin:.35rem 0}