/* Focused walkthroughs: shared Filesoft guide layout, readable examples. */
.recipe-main .guide-intro,.recipe-main .guide-body{max-width:800px}
.recipe-main .guide-body>p:first-child{font-size:1.1rem}
.recipe-toc{padding:24px 28px;margin:32px 0;background:#edf1e6;border:1px solid #d9dfd4;border-radius:16px}
.recipe-toc ol{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:6px}
.recipe-toc li{margin:0}.recipe-toc a{display:block;padding:6px 0}
.recipe-main section{scroll-margin-top:24px}.recipe-main code{font-size:.92em;overflow-wrap:anywhere}
.recipe-code,.recipe-main .fm-script{margin:24px 0;border:1px solid #cbd8cf;border-radius:12px;overflow:hidden;background:#fff;min-width:0}
.code-label,.recipe-main .fm-script-label{margin:0;padding:10px 20px;border-bottom:1px solid #d9e1d8;background:#edf2e5;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.recipe-main pre{margin:0;padding:20px 24px;background:#fff;color:#263b33;font:14px/1.85 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4}
.recipe-main pre code{font:inherit}.recipe-main .fm-string{color:#8b461e}.recipe-main .fm-field,.recipe-main .fm-variable{color:#14695e}.recipe-main .fm-function,.recipe-main .fm-number{color:#70429a}.recipe-main .fm-comment{color:#596c60;font-style:italic}
.recipe-next{margin:40px 0;padding:26px;border-radius:16px;background:#edf1e6}.recipe-next h2{margin-top:10px}
.recipe-sources{font-size:.85rem;color:#52655a;border-top:1px solid #d9dfd4;padding-top:24px;margin-top:40px}
.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-grid h3{font:normal 29px/1.16 Georgia,serif;margin:16px 0}.recipe-grid .guide-card{display:flex;flex-direction:column}.recipe-grid .guide-card>a{margin-top:auto;padding-top:12px}
.recipe-related{background:#edf1e6;border:1px solid #d9dfd4;border-radius:16px;max-width:1100px;margin:40px auto;padding:28px;box-sizing:border-box}.recipe-related h2{font:normal 30px/1.2 Georgia,serif;margin:12px 0}.recipe-related p{max-width:760px;line-height:1.65}
@media(max-width:700px){.recipe-grid{grid-template-columns:1fr}.recipe-related{width:calc(100% - 40px);padding:22px}.recipe-toc{padding:20px}.recipe-main pre{padding:16px;font-size:13px}.recipe-next{padding:22px}}
@media print{.recipe-toc,.recipe-next,.filesoft-header,.filesoft-footer{display:none}.recipe-main{padding:0;max-width:none}.recipe-main .fm-script,.recipe-code{overflow:visible}.recipe-main pre span{color:#000}}
/* Topic groups keep a growing article library scannable. */
.recipe-group-nav{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 32px}.recipe-group-nav a{padding:10px 16px;border:1px solid #b8cabd;border-radius:24px;font-weight:600}
.recipe-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}.recipe-topic{padding:26px;border:1px solid #d9dfd4;border-radius:16px;background:#fff;scroll-margin-top:24px}.recipe-topic h3{margin:0 0 20px;font:normal 30px/1.2 Georgia,serif}
.recipe-article-list{list-style:none;margin:0;padding:0}.recipe-article-list li+li{border-top:1px solid #d9dfd4;margin-top:18px;padding-top:18px}.recipe-article-list a{font-weight:650;line-height:1.5;display:block}.recipe-article-list p{font-size:15px;line-height:1.65;margin:8px 0 0;color:#52655a}
.recipe-tool-links{padding-left:22px}.recipe-tool-links li{margin:12px 0}.recipe-main .fm-step{color:#245d73;font-weight:650}.recipe-caption,.recipe-state-figure figcaption{font-size:14px;line-height:1.65;color:#52655a}
.recipe-state-figure{margin:24px 0;padding:24px;border:1px solid #d9dfd4;border-radius:16px;background:#fff}.recipe-state-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.state-sample{display:block;text-align:center;padding:14px 10px;border-radius:7px;background:#203e33;color:white;font-weight:650}.state-sample.hover{background:#2c5546}.state-sample.pressed{background:#142b23}.state-sample.focus{outline:3px solid #496c96;outline-offset:4px}.recipe-state-grid p{font-size:14px;margin:10px 0}.recipe-main dd{margin:6px 0 22px}
@media(max-width:700px){.recipe-topic-grid{grid-template-columns:1fr}.recipe-topic{padding:22px}.recipe-state-grid{grid-template-columns:1fr}.recipe-group-nav{gap:8px}}

/* Callouts inside a padded page inherit its content edges, not a second wrap. */
:is(.guide-main,.svg-main)>.recipe-related{width:100%;max-width:none;margin-inline:0}
.recipe-related>.activity-privacy-note{margin-block:0}
