:root{--ink:#142d32;--dark:#113d43;--paper:#f5f4eb;--mint:#d8eee4;--lime:#e4f58d;--line:#d4ddd3;--muted:#476166;--white:#fff;--wrap:1120px;font-family:system-ui,-apple-system,'Malgun Gothic','Apple SD Gothic Neo',sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}
*{box-sizing:border-box}body{margin:0}a{color:inherit}a:focus-visible,input:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #266e7f;outline-offset:4px}.wrap{width:min(var(--wrap),calc(100% - 48px));margin-inline:auto}.mast{border-bottom:1px solid var(--line);background:var(--paper)}.mast .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:74px}.brand{font-weight:900;text-decoration:none;display:flex;align-items:center;gap:10px;font-size:19px;letter-spacing:-.05em}.mark{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--dark);color:var(--lime)}.mark svg{width:20px}.mast nav{display:flex;gap:22px;font-size:14px;font-weight:750}.mast nav a{text-decoration:none}.mast nav a:hover,.tile:hover span,.foot a:hover{text-decoration:underline}.hero{background:var(--dark);color:var(--white);overflow:hidden}.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;min-height:490px;gap:28px;padding:54px 0}.kicker{font-weight:800;font-size:12px;letter-spacing:.12em;color:var(--muted);margin:0 0 13px}.hero .kicker{color:var(--lime)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.22;letter-spacing:-.05em}.hero h1{font-size:clamp(42px,6.2vw,80px);margin:0 0 21px}.hero h1 span{color:var(--lime)}.hero p:not(.kicker){color:#e2eee9;font-size:17px;max-width:460px;margin:0 0 28px}.button{display:inline-flex;align-items:center;gap:10px;padding:12px 19px;border-radius:8px;background:var(--lime);color:#203532;text-decoration:none;font:inherit;font-weight:800;border:1px solid transparent;cursor:pointer}.button:hover{background:#f1f8bf}.diagram{width:100%;height:auto;max-width:460px;justify-self:center}.alert{background:var(--mint);padding:23px 0}.alert .wrap{display:grid;grid-template-columns:180px 1fr;gap:12px;align-items:start}.alert strong{font-size:17px}.alert p{margin:0}.browse{padding:68px 0 76px}.browse h2,.more h2{font-size:clamp(30px,5vw,48px);margin-bottom:11px}.browse .intro,.more p{color:var(--muted)}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:24px 0 10px}.filters a{padding:7px 12px;border:1px solid var(--line);background:white;border-radius:7px;text-decoration:none;font-size:14px;font-weight:700}.filters input{font:inherit;background:white;color:var(--ink);width:min(100%,300px);padding:7px 12px;border:1px solid #879d96;border-radius:7px}.group{margin:31px 0 0;scroll-margin-top:12px}.group h3{display:flex;align-items:baseline;gap:12px;font-size:26px;margin-bottom:13px}.group small{font-size:13px;color:var(--muted);letter-spacing:0}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tile{display:flex;flex-direction:column;justify-content:center;gap:4px;border:1px solid var(--line);background:white;border-radius:10px;padding:13px 16px;text-decoration:none;min-height:76px}.tile:hover{border-color:#548778;background:#f2fbf6}.tile b{font-size:14px}.tile span{font-size:14px;color:var(--muted);line-height:1.45}.tile[hidden],.group[hidden]{display:none}.count{font-size:13px;color:var(--muted);min-height:22px;margin-bottom:0}.foot{background:#e8eee5;padding:30px 0;color:var(--muted);font-size:13px}.foot p{margin:0}.foot b{color:var(--ink);font-size:15px}.foot .wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.crumb{font-size:13px;color:var(--muted);margin:24px 0}.detail{padding-bottom:64px}.article-head{padding:30px 0 28px;border-bottom:1px solid var(--line)}.article-head h1{font-size:clamp(32px,5vw,55px);margin-bottom:17px;max-width:860px;word-break:keep-all;overflow-wrap:anywhere}.article-head .lede{font-size:18px;color:var(--muted);max-width:790px;margin-bottom:0}.article-grid{display:grid;grid-template-columns:220px minmax(0,740px);gap:38px;margin-top:33px;align-items:start}.toc{position:sticky;top:18px;border:1px solid var(--line);border-radius:12px;background:white;padding:15px}.toc b{display:block;margin-bottom:8px}.toc ol{padding-left:20px;margin:0}.toc li{padding:3px 0;font-size:14px}.toc a{text-decoration:none}.toc a:hover{text-decoration:underline}.reading section{margin-bottom:33px;scroll-margin-top:22px}.reading h2{font-size:clamp(22px,3vw,29px);margin-bottom:14px}.reading p{font-size:17px;line-height:1.85;overflow-wrap:anywhere}.memo{padding:22px;background:var(--mint);border-radius:12px;margin-bottom:25px}.refs{margin:0 0 25px;padding:10px 0;border-block:1px solid var(--line);color:var(--muted);font-size:14px}.refs summary{width:fit-content;cursor:pointer;font-weight:700}.refs ul{margin:9px 0 4px;padding-left:21px}.memo textarea{width:100%;font:inherit;border:1px solid #879d96;border-radius:7px;min-height:135px;padding:12px;resize:vertical;background:#fff;color:var(--ink)}.memo button{margin-top:8px}.memo output{margin-left:10px;font-size:14px}.related{margin-top:24px}.related h2{font-size:26px}.small-wrap{padding:54px 0;min-height:55vh}.small-wrap h1{font-size:38px}
@media(max-width:760px){.wrap{width:calc(100% - 32px)}.mast .wrap{min-height:64px}.mast nav{gap:12px;font-size:12px}.brand{font-size:16px}.hero .wrap{grid-template-columns:1fr;gap:12px;padding:38px 0 28px;min-height:auto}.diagram{max-width:300px}.alert .wrap{grid-template-columns:1fr;gap:3px}.browse{padding:40px 0 53px}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.article-grid{grid-template-columns:1fr;gap:23px}.toc{position:static}.article-head{padding-top:14px}.reading p{font-size:16px}.reading section{margin-bottom:28px}}
@media(max-width:390px){.mast nav a:nth-child(2){display:none}.tile{padding:10px}.tile span{font-size:13px}}
