.review-article-hero,.review-chapter-hero{padding:72px 0 62px;border-bottom:1px solid var(--line)}
.review-chapter-hero{padding-bottom:52px}.review-article-hero h1,.review-chapter-hero h1{max-width:1050px;margin-bottom:24px;font-size:clamp(3.1rem,6.8vw,6.7rem)}
.review-chapter-hero h1{max-width:900px;font-size:clamp(3rem,6vw,5.8rem)}.review-back{display:inline-block;margin-bottom:42px;color:var(--muted);font-size:.9rem;font-weight:700}
.review-back:hover,.inline-link{color:var(--accent-dark)}.review-deck{max-width:790px;color:var(--muted);font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.7}
.review-byline{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:34px;color:var(--muted);font-family:"IBM Plex Mono",monospace;font-size:.72rem;text-transform:uppercase}
.review-shell{display:grid;grid-template-columns:230px minmax(0,820px);justify-content:space-between;gap:80px;padding-top:72px;padding-bottom:110px}
.review-tree{position:sticky;top:112px;align-self:start}.review-tree-label{margin-bottom:22px;color:var(--muted);font-family:"IBM Plex Mono",monospace;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.review-tree ol{position:relative;margin:0;padding:0;list-style:none}.review-tree ol:before{content:"";position:absolute;top:18px;bottom:18px;left:5px;width:1px;background:var(--line)}
.review-tree li{position:relative}.review-tree li:before{content:"";position:absolute;z-index:1;top:21px;left:2px;width:7px;height:7px;border:2px solid var(--bg);border-radius:50%;background:#a9ada6}
.review-tree li.current:before{background:var(--accent)}.review-tree a{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:12px 10px 12px 20px;border-radius:10px;color:var(--muted);font-size:.9rem;line-height:1.35}
.review-tree a:hover{color:var(--accent-dark);background:rgba(255,255,255,.45)}.review-tree .current a{color:var(--ink);font-weight:700}.review-tree a>span{font-family:"IBM Plex Mono",monospace;font-size:.68rem}.review-tree a>span+span{font-family:inherit;font-size:inherit}
.review-tree small{display:block;margin-top:3px;color:var(--accent-dark);font-family:"IBM Plex Mono",monospace;font-size:.58rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.review-article{min-width:0}.review-article>*+*{margin-top:28px}.review-article>section{margin-top:78px}.review-article h2{margin-bottom:24px;font-size:clamp(2rem,4vw,3.25rem);line-height:1.04}
.review-article h3{margin-bottom:8px}.review-article p,.review-article li{font-size:1.05rem;line-height:1.82}.review-article p{color:#454b45}.review-article code{padding:2px 6px;border-radius:5px;background:#e9e5d9;font-family:"IBM Plex Mono",monospace;font-size:.88em}
.review-intro{color:var(--ink)!important;font-size:clamp(1.2rem,2vw,1.45rem)!important;line-height:1.65!important}.review-lead-image,.review-figure{margin-right:0;margin-left:0}.review-lead-image{margin-top:0!important}
.review-lead-image img,.review-figure img{display:block;width:100%;height:auto;border-radius:20px;background:var(--surface-2)}.review-lead-image img{aspect-ratio:16/10;object-fit:cover}.review-figure.screenshot img{border:1px solid var(--line);border-radius:12px}
.review-lead-image figcaption,.review-figure figcaption{margin-top:11px;color:var(--muted);font-family:"IBM Plex Mono",monospace;font-size:.68rem;line-height:1.5}.review-image-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px!important}.review-image-pair .review-figure{margin-top:0}.review-image-pair img{height:100%;max-height:380px;object-fit:cover}
.review-callout{padding:42px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.review-callout.compact{margin-top:46px!important}.review-callout h2{max-width:650px}.review-callout p:last-child{margin-bottom:0}
.review-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.review-facts div{display:flex;flex-direction:column;gap:8px;padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.35)}
.review-facts span,.chapter-status{color:var(--accent-dark);font-family:"IBM Plex Mono",monospace;font-size:.66rem!important;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.review-facts strong{line-height:1.4}.review-note{margin-top:14px!important;color:var(--muted)!important;font-size:.82rem!important}
.chapter-cards{display:grid;gap:14px}.chapter-card{display:grid;grid-template-columns:48px 1fr 30px;gap:18px;align-items:center;padding:25px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.42);transition:transform 160ms ease,border-color 160ms ease,background 160ms ease}
.chapter-card:hover{transform:translateX(5px);border-color:#b8b2a4;background:var(--surface)}.chapter-number{color:var(--accent-dark);font-family:"IBM Plex Mono",monospace}.chapter-card p{margin-bottom:0;color:var(--muted);font-size:.9rem;line-height:1.55}.chapter-card h3{font-size:1.35rem}.chapter-card .chapter-status{margin-bottom:5px}.chapter-card.pending{border-style:dashed}.chapter-arrow{font-size:1.4rem}
.review-disclosure{padding-top:34px;border-top:1px solid var(--line)}.review-disclosure h2{font-size:1.25rem}.review-disclosure p{color:var(--muted);font-size:.9rem}.review-next{display:flex;flex-direction:column;gap:8px;margin-top:80px!important;padding-top:28px;border-top:1px solid var(--line)}
.review-next>span{color:var(--muted);font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.review-next a{display:flex;justify-content:space-between;gap:25px;font-size:1.45rem;font-weight:700}.review-next a:hover{color:var(--accent-dark)}
.coming-soon-panel{position:relative;overflow:hidden;padding:52px;border-radius:24px;background:var(--ink);color:#f4f0e5}.coming-soon-panel h2{max-width:620px;color:#fff}.coming-soon-panel p{position:relative;max-width:630px;color:#c8ccc6}.coming-soon-panel .eyebrow{color:#ff9a7f}.coming-soon-icon{position:absolute;right:24px;bottom:-36px;color:rgba(255,255,255,.05);font-family:"IBM Plex Mono",monospace;font-size:13rem;font-weight:700;line-height:1}
.review-checklist{margin:0;padding:0;list-style:none}.review-checklist li{position:relative;padding:18px 0 18px 38px;border-bottom:1px solid var(--line)}.review-checklist li:before{content:"○";position:absolute;left:3px;color:var(--accent-dark);font-family:"IBM Plex Mono",monospace}
@media(max-width:900px){.review-shell{grid-template-columns:1fr;gap:48px;padding-top:48px}.review-tree{position:static;overflow-x:auto;padding-bottom:6px}.review-tree-label{margin-bottom:12px}.review-tree ol{display:flex;min-width:max-content;gap:8px}.review-tree ol:before,.review-tree li:before{display:none}.review-tree a{grid-template-columns:auto 1fr;padding:11px 14px;border:1px solid var(--line);background:rgba(255,255,255,.35)}.review-tree .current a{border-color:var(--ink);background:var(--surface)}}
@media(max-width:620px){.review-article-hero,.review-chapter-hero{padding:46px 0 42px}.review-back{margin-bottom:32px}.review-shell{padding-bottom:74px}.review-article>section{margin-top:58px}.review-image-pair,.review-facts{grid-template-columns:1fr}.review-callout,.coming-soon-panel{padding:30px 23px;border-radius:17px}.chapter-card{grid-template-columns:36px 1fr;padding:20px 17px}.chapter-arrow{display:none}.review-next a{font-size:1.2rem}}
