/* Block-based guides and directories. Shared V1 tokens come from terminal-v1.css. */
.block-layout { --header-offset:106px; }
.block-layout #page-content { min-width:0; }
.block-layout .section { scroll-margin-top:var(--header-offset); }
.block-layout .side-index { top:var(--header-offset); padding:22px 0 30px; max-height:calc(100dvh - var(--header-offset)); overflow-y:auto; gap:14px; scrollbar-width:thin; }
.block-layout .side-index a { line-height:1.35; }
.block-layout .content-frame { grid-template-columns:220px minmax(0,1fr); gap:70px; }
.block-layout .content-main { min-width:0; }
.block-layout .guide-section { padding:72px 0; }
.block-layout .guide-section h2 { font-size:clamp(2rem,3.3vw,3.7rem); max-width:900px; text-wrap:balance; }
.block-layout .guide-section > p { max-width:760px; font-size:1.06rem; line-height:1.8; }
.block-layout .guide-section > p + p { margin-top:20px; }
.block-layout .guide-section a:not(.button):not(.post):not(#sidebutt) { color:var(--accent); }
.block-layout .guide-section p a { text-decoration:underline; text-underline-offset:4px; }
.block-layout .block-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:30px 0; }
.block-layout .content-card { min-width:0; border:1px solid var(--line); border-radius:4px; padding:28px; background:var(--surface); }
.block-layout .content-card h3 { font-size:1.35rem; line-height:1.2; margin:28px 0 14px; }
.block-layout .content-card > h3:first-child { margin-top:0; }
.block-layout .content-card p { font-size:.94rem; line-height:1.7; margin-bottom:0; }
.block-layout .comparison-cards { grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr)); }
.block-layout .content-card dl { margin:0; }
.block-layout .content-card dt { font-size:.67rem; letter-spacing:.1em; text-transform:uppercase; font-weight:800; color:var(--accent); margin:23px 0 8px; }
.block-layout .content-card dd { margin:0; color:var(--muted); font-size:.94rem; line-height:1.7; }
.block-layout .steps { margin-top:30px; }
.block-layout .steps li { margin:0; }
.block-layout .steps p { line-height:1.75; }
.block-layout .command-panel { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:6px; background:var(--code); margin:24px 0; }
.block-layout .command-panel .code-top { color:var(--muted); gap:16px; }
.block-layout .command-panel pre { margin:0; padding:28px; font: .92rem/1.9 ui-monospace,SFMono-Regular,Consolas,monospace; color:var(--code-text); overflow-x:auto; border:0; background:none; }
.block-layout p code { color:var(--accent); font-size:.9em; }
.block-layout .guide-panel { grid-template-columns:1fr 1fr; padding:32px; gap:28px; margin-top:30px; }
.block-layout .guide-panel .command-panel { margin:0; }
.block-layout .check-grid { list-style:none; padding:0; margin:28px 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.block-layout .check-grid li { position:relative; margin:0; padding:22px 22px 22px 45px; border:1px solid var(--line); background:var(--surface); color:var(--muted); line-height:1.7; }
.block-layout .check-grid li:before { content:'↳'; position:absolute; left:20px; color:var(--accent); }
.block-layout .action-list { list-style:none; padding:0; margin:28px 0; counter-reset:guide-step; border-top:1px solid var(--line); }
.block-layout .action-list > li { counter-increment:guide-step; display:grid; grid-template-columns:45px 1fr; gap:16px; padding:24px 0; margin:0; border-bottom:1px solid var(--line); color:var(--muted); line-height:1.7; }
.block-layout .action-list > li:before { content:counter(guide-step,decimal-leading-zero); font-weight:800; color:var(--accent); }
.block-layout blockquote,.block-layout .editor-note { margin:28px 0; padding:26px 30px; border-left:3px solid var(--accent); background:var(--accent-soft); border-radius:0 6px 6px 0; }
.block-layout blockquote p,.block-layout .editor-note p { margin:0; line-height:1.75; }
.block-layout .editor-note strong { display:block; color:var(--accent); margin-bottom:10px; }
.block-layout .reading-links { display:flex; flex-wrap:wrap; gap:16px 25px; padding:30px 0; }
.block-layout .reading-links a { white-space:normal; }
.block-layout .article-date { margin-top:30px; font-size:.8rem; }
.block-layout .next-panel .button { flex-shrink:0; margin-top:0!important; }
.block-layout .next-panel h3 { line-height:1.15; }
.block-layout .resources #sidebutt { margin-top:0; padding:0; min-height:0; background:none; color:var(--accent)!important; }
.block-layout .post { line-height:1.45; }
.block-layout .guide-section > dl { display:grid; grid-template-columns:150px 1fr; gap:20px; padding:28px; background:var(--surface); border:1px solid var(--line); }
.block-layout .guide-section > dl dt { color:var(--accent); font-weight:700; }
.block-layout .guide-section > dl dd { margin:0; color:var(--muted); }
.block-layout .editorial-hero,.block-layout .directory-hero { max-width:1480px; margin:auto; padding:65px 36px 80px; }
.block-layout .editorial-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:6%; align-items:center; }
.block-layout .editorial-hero h1 { font-size:clamp(2.8rem,4.8vw,5rem); letter-spacing:-.065em; line-height:1.04; text-wrap:balance; margin-top:24px; }
.block-layout .editorial-hero .hero-lead { font-size:1.25rem; font-weight:500; line-height:1.65; }
.block-layout .editorial-hero .info-note { margin-top:28px; line-height:1.7; }
.block-layout .editorial-image { margin:0; background:var(--visual); border:1px solid var(--line); padding:12px; border-radius:8px; }
.block-layout .editorial-image #articlepic { margin:0; width:100%; height:auto; max-height:420px; object-fit:contain; border-radius:4px; }
.block-layout .editorial-image figcaption { padding:18px 8px 6px; font-size:.66rem; font-weight:800; letter-spacing:.13em; color:var(--muted); }
.block-layout .platform-hero h1 { font-size:clamp(3.4rem,7.2vw,7rem); }
.block-layout .platform-card .card-content strong { overflow-wrap:normal; }
.block-layout .platform-hero .hero-actions .button { margin-top:0!important; }
.block-layout .directory-hero { padding-bottom:50px; }
.block-layout .directory-hero h1 { font-size:clamp(3rem,6.7vw,7rem); text-transform:uppercase; max-width:900px; }
.block-layout .directory-hero .hero-lead { max-width:850px; font-size:1.3rem; font-weight:500; line-height:1.65; }
.block-layout .directory-content { max-width:1480px; padding:0 36px; margin:auto; }
.block-layout #blogarticles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:0 0 64px; padding:0; list-style:none; }
.block-layout #blogarticles li { min-width:0; margin:0; display:flex; }
.block-layout #articleprev { display:flex; flex-direction:column; width:100%; gap:0; padding:0; overflow:hidden; border-radius:6px; transition:border-color .2s; }
.block-layout #articleprev:hover { border-color:var(--accent); }
.block-layout #articleprevimg { width:100%; margin:0; }
.block-layout #articleprevimg img { width:100%; aspect-ratio:1.8; object-fit:cover; object-position:top; }
.block-layout #articleprevtext { display:flex; flex-direction:column; align-items:start; padding:26px; flex:1; }
.block-layout #articleprevtext h2 { font-size:1.5rem; line-height:1.17; margin:17px 0; letter-spacing:-.035em; color:var(--text); }
.block-layout #articleprevtext > span:not(.directory-label) { font-size:.92rem; line-height:1.7; margin-bottom:25px; }
.block-layout .directory-label { color:var(--accent); letter-spacing:.13em; font-size:.66rem; font-weight:800; }
.block-layout #articleprevtext #gotonews { margin-top:auto; color:var(--accent); font-weight:800; }
@media (min-width:801px) and (max-width:1100px) {
 .block-layout .content-frame { grid-template-columns:170px minmax(0,1fr); gap:32px; }
 .block-layout .block-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .block-layout .guide-panel { grid-template-columns:1fr; }
 .block-layout #blogarticles { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:800px) {
 .block-layout { --header-offset:150px; }
 .block-layout .content-frame { display:block; padding:0 20px; }
 .block-layout .side-index { position:static; display:flex; flex-direction:row; flex-wrap:wrap; gap:12px 20px; max-height:none; border-top:1px solid var(--line); padding:25px 0; }
 .block-layout .side-index > span { flex-basis:100%; margin:0; }
 .block-layout .side-index a { font-size:.78rem; }
 .block-layout .editorial-hero,.block-layout .directory-hero { padding:50px 20px; }
 .block-layout .editorial-hero-grid { grid-template-columns:1fr; gap:30px; }
 .block-layout .editorial-hero h1 { font-size:clamp(2.6rem,7vw,4rem); }
 .block-layout .editorial-hero .hero-lead { font-size:1.15rem; }
 .block-layout .editorial-image { max-width:560px; }
 .block-layout .guide-panel { grid-template-columns:1fr; padding:26px; }
 .block-layout .guide-section { padding:50px 0; }
 .block-layout .guide-section h2 { font-size:2.2rem; }
 .block-layout .directory-content { padding:0 20px; }
 .block-layout #blogarticles { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .block-layout .block-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .block-layout .next-panel { align-items:start; }
}
@media(max-width:580px) {
 .block-layout .block-grid,.block-layout .check-grid,.block-layout #blogarticles { grid-template-columns:1fr; }
 .block-layout .platform-hero h1 { font-size:clamp(2.7rem,11.9vw,4rem); }
 .block-layout .platform-hero { padding-bottom:50px; }
 .block-layout .card-content { padding:30px; }
 .block-layout .content-card { padding:24px; }
 .block-layout .content-card h3 { margin-top:18px; }
 .block-layout .next-panel { padding:26px; }
 .block-layout .next-panel .button { margin-top:22px!important; }
 .block-layout .command-panel pre { padding:22px; font-size:.81rem; }
 .block-layout .guide-section > dl { grid-template-columns:1fr; gap:12px; }
 .block-layout .guide-section > dl dd { margin-bottom:16px; }
 .block-layout .section-kicker { line-height:1.7; }
 .block-layout .post { grid-template-columns:30px 1fr 18px; padding-left:0; font-size:.95rem; }
 .block-layout .post:hover { padding-left:5px; }
 .block-layout .directory-hero h1 { font-size:clamp(2.7rem,12vw,4rem); }
 .block-layout .directory-hero .hero-lead { font-size:1.15rem; }
}
.block-layout .anchor-alias { display:block; scroll-margin-top:var(--header-offset); }
