*{box-sizing:border-box}body{margin:0;font-family:Georgia,'Times New Roman',serif;background:#f7f3ee;color:#2b2118;line-height:1.65}
header.site{position:sticky;top:0;background:#7a1f1f;color:#fff;padding:12px 16px;z-index:10}header.site a{color:#fff;text-decoration:none;font-weight:bold}
main{max-width:880px;margin:0 auto;padding:20px 16px 8px}h1{font-size:1.8rem;line-height:1.3}h2{margin-top:1.6em}
.frame{max-height:72vh;overflow-y:auto;border:1px solid #d8c4b0;border-radius:10px;padding:10px;background:#fff}
a.card{display:block;text-decoration:none;color:inherit;border:1px solid #e0cfbc;border-radius:10px;padding:14px;margin:10px 4px;background:#fffdf9}
a.card:hover{background:#f3e6d3}.panel{background:#f0e2cf;border-radius:10px;padding:18px;margin:14px 0}
.diagram{border:2px solid #7a1f1f;border-radius:10px;padding:16px;margin:14px 0;background:linear-gradient(180deg,#fdf8f0,#f3e9d8);text-align:center;font-size:.95rem}
table{border-collapse:collapse;width:100%;margin:12px 0}th,td{border:1px solid #d8c4b0;padding:8px;text-align:left;vertical-align:top}
.src{font-size:.85rem;color:#555;border-top:1px solid #ddd;margin-top:28px;padding-top:10px}
.adslot{border:1px dashed #bbb;color:#777;text-align:center;padding:14px;margin:22px 0;font-size:.85rem;background:#fff}
footer{background:#7a1f1f;color:#eee;padding:22px 16px;margin-top:30px;font-size:.9rem}footer a{color:#f3d9b0}
nav.crumbs{font-size:.9rem;margin-bottom:10px}nav.crumbs a{color:#7a1f1f}