.post-wrap{max-width:var(--measure-wide);margin:0 auto;padding:48px 32px 96px}.post-breadcrumb{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;margin-bottom:40px;font-size:10.5px;display:flex}.post-breadcrumb a{color:var(--muted);text-decoration:none;transition:color .15s}.post-breadcrumb a:hover{color:var(--accent)}.post-breadcrumb span{color:var(--muted-2)}.post-layout{grid-template-columns:1fr 280px;align-items:start;gap:56px;display:grid}.post-main{min-width:0}.post-header{border-bottom:1px solid var(--ink);margin-bottom:48px;padding-bottom:32px}.post-category{font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;margin-bottom:16px;font-size:10.5px;display:flex}.post-category:before{content:"";background:var(--accent);flex-shrink:0;width:24px;height:1px}.post-title{font-family:var(--display);letter-spacing:.005em;color:var(--ink);overflow-wrap:break-word;margin-bottom:20px;font-size:clamp(26px,3.2vw,44px);font-weight:900;line-height:1.4}.post-meta{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);align-items:center;gap:20px;font-size:11px;display:flex}.post-body{font-family:var(--sans);color:var(--ink-2);letter-spacing:.03em;max-width:640px;font-size:16px;line-height:2.1}.post-body h2{font-family:var(--display);color:var(--ink);letter-spacing:.01em;border-left:5px solid var(--accent);border-bottom:none;margin:3.2em 0 1.2em;padding:6px 0 6px 16px;font-size:clamp(18px,2vw,22px);font-weight:900;line-height:1.5}.post-body h3{font-family:var(--display);color:var(--ink);letter-spacing:.01em;border-left:3px solid var(--muted-2);margin:2.6em 0 .9em;padding-left:12px;font-size:clamp(16px,1.6vw,19px);font-weight:700;line-height:1.6}.post-body p{margin-bottom:2em}.post-body ul{border:1.5px solid var(--muted-2);background:var(--paper-warm);border-radius:6px;margin-bottom:2em;padding:20px 24px;list-style:none}.post-body ul li{margin-bottom:0;padding:6px 0 6px 28px;line-height:1.85;position:relative}.post-body ul li:before{content:"●";color:var(--accent);font-size:10px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.post-body ol{margin-bottom:2em;padding-left:1.6em}.post-body ol li{margin-bottom:.7em;line-height:1.85}.post-body strong{color:var(--ink);font-weight:700}.post-body u{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:4px;font-style:normal;text-decoration-thickness:2px}.post-body a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.post-body img{border-radius:4px;width:auto;max-width:100%;height:auto;max-height:380px;margin:2.8em auto;display:block}.post-body table{border-collapse:collapse;width:100%;margin:2.4em 0;font-size:13.5px}.post-body th,.post-body td{border:1px solid var(--line-strong,#ddd);text-align:left;padding:10px 14px;line-height:1.7}.post-body th{background:var(--paper-warm);color:var(--ink);white-space:nowrap;font-weight:700}.post-body tr:nth-child(2n) td{background:var(--paper-warm)}.post-body .table-scroll{margin:2.4em 0;overflow-x:auto}.post-body .table-scroll table{min-width:480px;margin:0}.post-body blockquote{border-left:4px solid var(--accent);background:var(--accent-soft);color:var(--ink-soft);border-radius:0 4px 4px 0;margin:2.4em 0;padding:16px 20px;font-style:normal;line-height:1.9}.post-back{border-top:1px solid var(--line);margin-top:56px;padding-top:32px}.post-back a{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;font-size:11px;text-decoration:none;transition:color .15s;display:inline-flex}.post-back a:hover{color:var(--accent)}.post-sidebar{flex-direction:column;gap:32px;display:flex;position:sticky;top:32px}.sidebar-block{border:1px solid var(--line-strong);background:var(--white)}.sidebar-block-head{font-family:var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--line);background:var(--paper-warm);padding:14px 20px;font-size:9.5px}.sidebar-profile-body{text-align:center;padding:24px 20px}.sidebar-profile-img{border:1px solid var(--line-strong);background:var(--paper-warm);border-radius:50%;width:80px;height:80px;margin:0 auto 14px;overflow:hidden}.sidebar-profile-name{font-family:var(--display);color:var(--ink);margin-bottom:4px;font-size:15px;font-weight:900}.sidebar-profile-role{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-size:9.5px}.sidebar-profile-bio{color:var(--ink-soft);text-align:left;margin-bottom:16px;font-size:12.5px;line-height:1.85}.sidebar-profile-link{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);padding:8px 16px;font-size:10px;text-decoration:none;display:inline-block}.sidebar-profile-link:hover{background:var(--accent);color:var(--paper)}.sidebar-timeline{flex-direction:column;gap:12px;padding:20px;display:flex}.sb-tl-item{align-items:flex-start;gap:12px;font-size:12px;display:flex}.sb-tl-dot{border:2px solid var(--muted-2);background:var(--white);width:20px;height:20px;font-size:8px;font-family:var(--mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.sb-tl-item.done .sb-tl-dot{background:var(--ink);border-color:var(--ink);color:var(--paper);font-size:10px}.sb-tl-item.current .sb-tl-dot{background:var(--accent);border-color:var(--accent);color:var(--paper);animation:2s ease-in-out infinite sb-pulse}@keyframes sb-pulse{0%,to{box-shadow:0 0 #3d5a9959}50%{box-shadow:0 0 0 5px #3d5a9900}}.sb-tl-label{color:var(--ink);font-weight:700;font-family:var(--sans)}.sb-tl-item.done .sb-tl-label{color:var(--ink-soft)}.sb-tl-item.current .sb-tl-label{color:var(--accent)}.sb-tl-date{font-family:var(--mono);letter-spacing:.1em;color:var(--muted);margin-top:1px;font-size:10px}@media (max-width:900px){.post-layout{grid-template-columns:1fr;gap:48px}.post-sidebar{grid-template-columns:1fr 1fr;gap:20px;display:grid;position:static}}@media (max-width:600px){.post-wrap{padding:28px 18px 64px}.post-sidebar{grid-template-columns:1fr}.post-title{font-size:clamp(22px,6vw,32px)}.post-body{font-size:14.5px}}
