/* Shared Flex integration for articles, pages, conversations, contact and login. */
body{--field-background:#fff;--field-border:#ccc;font-family:"Source Sans Pro",system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}
body.dark-theme{--field-background:#292929;--field-border:#666}
@media(prefers-color-scheme:dark){body:not(.light-theme){--field-background:#292929;--field-border:#666}}
aside .site-mark{display:flex;align-items:center;justify-content:center;width:104px;height:104px;margin:8px auto 20px;border:2px solid #777;border-radius:50%;font-size:2.2rem;font-weight:300;letter-spacing:.05em}
aside .site-mark img{display:block;width:100%;height:100%;max-width:none;border-radius:50%;object-fit:cover}
aside h1{font-size:2.1rem;line-height:1.25;margin:12px 0}
aside .site-subtitle{max-width:250px;margin:14px auto 0;color:#ccc;font-size:.93rem;letter-spacing:.025em}
aside .sidebar-content>p{line-height:1.6}
aside .sidebar-menu{max-width:280px;margin:24px auto 18px}
aside .sidebar-menu .curated-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;padding:0;margin:0;text-align:left}
aside .sidebar-menu .curated-links li{margin:0;line-height:1.5}
aside .sidebar-menu a{display:block;padding:7px 10px;border-radius:4px;font-size:.98rem;text-transform:none}
aside .sidebar-menu a:hover{background:rgba(255,255,255,.07)}
aside .sidebar-search{display:flex;align-items:center;gap:6px;max-width:280px;margin:22px auto 0}
aside .sidebar-search input{box-sizing:border-box;min-width:0;width:100%;height:40px;padding:9px 10px;border:1px solid #777;border-radius:4px;background:#292929;color:#fff;font:inherit;font-size:.85rem;line-height:1.2}
aside .sidebar-search button{height:40px;margin:0;border-color:#777;color:#eee;font-size:.8rem;white-space:nowrap}
main .search-page{margin:30px 8%;max-width:950px}
main .search-page label{display:block;margin-bottom:8px}
main .search-controls{display:flex;gap:10px;max-width:650px}
main .search-controls input{box-sizing:border-box;min-width:0;flex:1;padding:10px;border:1px solid var(--field-border);border-radius:4px;background:var(--field-background);color:inherit;font:inherit}
main #search-results{padding-left:24px}
main #search-results li{padding:8px 0;border-bottom:1px solid var(--field-border)}
main #search-results h2{font-size:1.2rem}
main #search-results p{line-height:1.7;overflow-wrap:anywhere}
main .article-links{margin:30px 0;padding:16px 0;border-top:1px solid var(--field-border)}
main .article-links h2{font-size:1.2rem}
main .article-links li{margin:9px 0}
main .article-neighbors,main .pagination{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding:20px 0}
main .pagination{margin:12px 8%}
main .highlight{overflow-x:auto;border-radius:4px;padding:12px;background:#f8f8f8;color:#222}
main math[display=block]{overflow-x:auto;margin:20px 0}
aside .sidebar-social{display:flex;justify-content:center;gap:20px;font-size:.85rem;margin-top:16px}
aside .sidebar-writing-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:280px;margin:16px auto 0;padding:0}
aside .sidebar-capture-link{display:block;padding:9px 10px;border:1px solid #777;border-radius:4px;font-size:.95rem}
aside .sidebar-capture-link:hover{background:rgba(255,255,255,.07);border-color:#eee}
aside .sidebar-social a,aside .sidebar-archive-link{color:#ccc}
aside .sidebar-archive-link{display:inline-block;font-size:.8rem;margin-top:20px;padding-top:14px;border-top:1px solid #555}
aside .collection-label{margin-top:12px;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#ccc}
main{min-height:100vh;height:auto;padding-bottom:20px}
main .collection-heading{margin:24px 8% 12px;color:#888;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}
main .browse-links{display:flex;gap:18px;margin:12px 8%;font-size:.85rem}
main .browse-page details{padding:14px 0;border-bottom:1px solid var(--field-border)}
main .browse-page summary{cursor:pointer;font-size:1.05rem}
main .browse-page .count{margin-left:8px;font-size:.8rem;opacity:.7}
main .browse-page ul{padding-left:24px;line-height:1.9}
main article{padding-top:12px}
main article.single{padding-top:30px}
main article header h1,main article header h2{line-height:1.25}
main article .summary,main article .prose{line-height:1.75;overflow-wrap:anywhere}
main article hr{margin-top:30px;margin-bottom:30px}
main article pre code{white-space:pre}
main .mermaid-diagram{overflow-x:auto;margin:24px 0;padding:16px 0}
main .mermaid-diagram svg{display:block;max-width:100%;height:auto;margin:0 auto}
@media(max-width:767px){main .mermaid-diagram svg{max-width:none}}
main .mermaid-error{font-size:.9rem;color:inherit}
main .conversation,main .page-status{margin:24px 8%;max-width:900px}
main .conversation .panel{margin:18px 0;padding:18px;border:1px solid var(--field-border);border-radius:4px}
main .conversation .panel p{white-space:pre-wrap}
main .conversation label{display:block;margin:12px 0 4px}
main .conversation input,main .conversation textarea,main .conversation select{box-sizing:border-box;display:block;width:100%;max-width:680px;padding:10px;background:var(--field-background);color:inherit;border:1px solid var(--field-border);border-radius:3px;font:inherit}
main article.application-page .conversation{margin:24px 0;max-width:680px}
main .application-page .eyebrow{margin:0 0 12px;color:#888;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
main nav a[aria-current=page]{color:#d9411e;border-bottom:2px solid currentColor}
main nav.admin-tools{display:flex;align-items:center;gap:20px;flex-wrap:wrap;text-align:left;text-transform:none;font-size:.85rem;margin:18px 0 24px;padding:0;border:0}
main .admin-tools a{padding:0;border-right:0;font-size:inherit}
main .admin-tools button{margin-left:auto;font-size:inherit}
@media(max-width:550px){main nav.admin-tools{gap:12px}}
button{padding:7px 12px;border:1px solid var(--field-border);border-radius:3px;background:transparent;color:inherit;font:inherit;cursor:pointer}
button:disabled{opacity:.6;cursor:wait}
main .conversation button{margin:12px 0;background:#d9411e;border-color:#d9411e;color:#fff}
aside button{margin-top:20px;border-color:#777;color:#fff}
.theme-controls{text-align:center;margin:12px 0;font-size:.75rem}
.theme-controls button{padding:3px 8px;margin:0 2px}
.theme-controls button[aria-pressed=true]{color:#d9411e;border-color:#d9411e}
:focus-visible{outline:2px solid #ff5a09;outline-offset:3px}
@media(min-width:768px){body{--sidebar-width:min(25vw,280px)}aside{width:var(--sidebar-width);overflow:hidden}aside>.sidebar-content{box-sizing:border-box;height:100vh;overflow-x:hidden;overflow-y:auto;padding:28px 20px}aside h1{overflow-wrap:anywhere}main{padding-left:var(--sidebar-width)}}
@media(max-width:767px){aside .sidebar-content{padding:24px 20px}aside .sidebar-menu{max-width:340px}aside .sidebar-menu .curated-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 8px;text-align:center}main article.single{padding-top:16px}main article header h1{font-size:2rem}main nav{line-height:2}}
