.post-shell{max-width:840px;margin:40px auto;padding:52px;background:#fff;border:1px solid #dbe4ee;border-radius:20px;box-shadow:0 10px 30px #0f172a0f}.eyebrow{display:inline-block;margin-bottom:14px;padding:6px 12px;border-radius:999px;background:#eef4ff;color:#1d4ed8;font-size:13px;font-weight:700;letter-spacing:.02em}.post-header h1{margin:0 0 14px;font-size:clamp(2rem,4.2vw,3.25rem);line-height:1.07;letter-spacing:-.02em;color:#0f172a}.type-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.type-note{font-size:13px;font-weight:600;color:#1e40af}.post-meta{display:flex;align-items:center;gap:8px;margin-bottom:18px;font-size:14px;color:#64748b}.post-description{margin:0;font-size:clamp(1.125rem,1.8vw,1.35rem);line-height:1.65;color:#334155}.toc{margin:32px 0 36px;padding:20px 22px;background:#f8fbff;border:1px solid #dbe4ee;border-radius:16px}.toc-title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#1d4ed8;margin-bottom:12px}.toc ul{margin:0;padding-left:18px}.toc li{margin-bottom:8px}.toc a{color:#334155;text-decoration:none;font-weight:500}.toc a:hover{color:#2563eb;text-decoration:underline}.post-body{margin-top:42px}.post-body h2{margin-top:46px;margin-bottom:16px;font-size:clamp(1.6rem,2.8vw,2.25rem);line-height:1.2;letter-spacing:-.01em;color:#0f172a;padding-bottom:0}.post-body h3{margin-top:34px;margin-bottom:12px;font-size:clamp(1.3rem,2.2vw,1.65rem);line-height:1.3;color:#1e3a8a}.post-body p{margin:0 0 22px;font-size:1.14rem;line-height:1.82;color:#1f2937;text-wrap:pretty}.post-body ul,.post-body ol{margin:0 0 26px 24px;padding:0;font-size:1.14rem;line-height:1.78;color:#1f2937}.post-body li{margin-bottom:12px}.post-body a{color:#2563eb;text-decoration:none;font-weight:600}.post-body a:hover{text-decoration:underline}.post-body img{display:block;width:100%;max-width:100%;height:auto;margin:14px 0 22px;border-radius:16px;border:1px solid #dbe4ee;background:#fff}.post-body hr{border:0;height:1px;background:linear-gradient(90deg,#94a3b800,#94a3b880,#94a3b800);margin:32px 0}.post-body table{width:100%;border-collapse:collapse;margin:24px 0;border:1px solid #dbe4ee;border-radius:12px;overflow:hidden;font-size:17px;line-height:1.6;background:#fff}.post-body thead th{background:#eff6ff;color:#0f172a;font-weight:800;text-align:left;border-bottom:1px solid #dbe4ee}.post-body th,.post-body td{padding:12px 14px;border-bottom:1px solid #e2e8f0;vertical-align:top}.post-body tbody tr:nth-child(2n){background:#f8fafc}.post-body tbody tr:last-child td{border-bottom:0}.post-body code{background:#eef2ff;color:#1e3a8a;padding:3px 8px;border-radius:8px;font-size:.95em}.post-body pre{position:relative;margin:26px 0;padding:22px;background:linear-gradient(180deg,#f8fbff,#eef2ff);border:1px solid #dbe4ee;border-radius:16px;overflow-x:auto}.post-body pre code{background:transparent;padding:0;color:#0f172a}.copy-button{position:absolute;top:12px;right:12px;border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:10px;padding:6px 10px;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 2px 6px #0f172a0f}.copy-button:hover{background:#f8fafc}.related{margin-top:50px;border-top:1px solid #e2e8f0;padding-top:26px}.related h2{margin:0 0 16px;font-size:24px;color:#0f172a}.related-grid{display:grid;gap:14px}.related-card{border:1px solid #dbe4ee;border-radius:14px;background:#f8fbff;padding:16px}.related-date{margin:0 0 8px;font-size:13px;color:#64748b}.related-card h3{margin:0 0 8px;font-size:20px;line-height:1.3}.related-card h3 a{color:#0f172a;text-decoration:none}.related-card h3 a:hover{color:#1d4ed8}.related-card p{margin:0;color:#475569;font-size:15px;line-height:1.6}.post-body blockquote{margin:28px 0;padding:16px 20px;border-left:4px solid #2563eb;background:#f8fbff;color:#475569;border-radius:0 12px 12px 0}@media(max-width:720px){.post-shell{margin:16px 8px;padding:24px 18px;border-radius:16px}.post-header h1{font-size:2rem}.post-description,.post-body p,.post-body ul,.post-body ol{font-size:1.05rem;line-height:1.72}.post-body h2{font-size:1.6rem}.post-body h3{font-size:1.3rem}.post-body table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;font-size:15px}}
