/* Shared page edges: 1200px content inside a 1300px desktop shell. */
:root { --page-max:1300px; --page-content:1200px; --page-gutter:50px; --reader-aside:252px; --reader-gap:48px; }
.content-shell,.catalog-layout,.guides-layout,.tools-layout,
.community-layout,.community-layout.embedded-community,.reader-shell,.reader-footer {
 box-sizing:border-box; width:100%; max-width:var(--page-max); margin-left:auto; margin-right:auto;
 padding-left:var(--page-gutter); padding-right:var(--page-gutter);
}
.category-nav,.reader-header {
 padding-left:max(var(--page-gutter),calc((100% - var(--page-content)) / 2));
 padding-right:max(var(--page-gutter),calc((100% - var(--page-content)) / 2));
}
.reading-grid { grid-template-columns:minmax(0,1fr) var(--reader-aside); gap:var(--reader-gap); }
.comments-section { width:calc(100% - var(--reader-aside) - var(--reader-gap)); max-width:none; }
.mobile-toc { display:none; }
@media(max-width:1024px) { :root { --page-gutter:24px; --reader-aside:200px; --reader-gap:32px; } }
@media(max-width:800px) {
 .reading-grid { grid-template-columns:minmax(0,1fr); }
 .reader-sidebar { display:none; }
 .comments-section { width:100%; }
 .mobile-toc { display:block; margin-top:24px; border:1px solid #e6ebe6; border-radius:7px; padding:12px 16px; color:#56705d; font-size:13px; }
 .mobile-toc summary { cursor:pointer; }
 .mobile-toc nav { display:grid; gap:14px; padding:18px 0 6px; }
}
@media(max-width:600px) { :root { --page-gutter:16px; } }
