
:root{--ink:#162033;--blue:#17345f;--muted:#52637a;--line:#cbd5e1;--soft:#eef3fa;--accent:#234c7f;--warn:#7a351d;--ok:#24583a;--bg:#fbfcff;}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.55} 
.wrap{max-width:1120px;margin:0 auto;padding:24px 18px 48px}.top{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:10}.nav{max-width:1120px;margin:0 auto;padding:12px 18px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.brand{font-weight:bold;color:var(--blue);margin-right:auto}.nav a{color:var(--blue);text-decoration:none;border:1px solid var(--line);padding:6px 10px;border-radius:999px;background:#fff}.nav a:hover{background:var(--soft)}
h1{font-size:2rem;color:var(--blue);margin:1rem 0 .45rem}h2{font-size:1.35rem;color:var(--blue);margin:1.4rem 0 .5rem}h3{font-size:1.05rem;color:var(--blue);margin:1rem 0 .4rem}.lead{font-size:1.1rem;color:#23364f}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:18px 0}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.card h3{margin-top:0}.note{background:#fff7ed;border-left:4px solid #b45309;padding:12px 14px;border-radius:8px}.ok{background:#effaf1;border-left:4px solid #36814f;padding:12px 14px;border-radius:8px}.formula{font-family:'DejaVu Sans Mono','Courier New',monospace;background:#f6f8fc;border:1px solid var(--line);padding:12px;border-radius:8px;white-space:pre-wrap;overflow:auto}table{border-collapse:collapse;width:100%;background:#fff;margin:14px 0}th,td{border:1px solid var(--line);padding:7px 8px;vertical-align:top}th{background:var(--soft);color:var(--blue)}.small{font-size:.92rem;color:var(--muted)}.btn{display:inline-block;background:var(--blue);color:#fff!important;text-decoration:none;padding:8px 12px;border-radius:8px;margin:4px 6px 4px 0}.btn2{display:inline-block;border:1px solid var(--line);color:var(--blue)!important;text-decoration:none;padding:8px 12px;border-radius:8px;margin:4px 6px 4px 0;background:#fff}footer{border-top:1px solid var(--line);margin-top:36px;padding-top:14px;color:var(--muted);font-size:.9rem}.svgbox{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;overflow:auto}code{background:#f2f5fb;padding:1px 4px;border-radius:4px}
