/* Shared page layout */
body{min-height:100vh;display:flex;flex-direction:column}
.site-shell{width:100%;flex:1}
.site-footer{margin-top:auto}
.header-inner{max-width:1560px;gap:10px}
.brand{min-width:188px;width:188px}
.brand img{width:185px}
.nav-item{gap:6px;padding:0 8px;font-size:13px}
.nav-item .icon{width:18px;height:18px}
.primary-nav{justify-content:center}
.header-search{width:165px}
.home-discussion{display:block;padding:10px 5px;border-bottom:1px solid var(--line);text-decoration:none}
.home-discussion:last-child{border-bottom:0}
.home-discussion strong,.home-discussion small{display:block}
.home-discussion small{color:var(--muted);margin-top:3px}
.home-discussion:hover strong{text-decoration:underline}
.related-logo{background:#fff;box-shadow:none;border:1px solid var(--line);overflow:hidden}
.related-logo-image{width:100%;height:100%;object-fit:contain;image-rendering:auto}
.resources-action{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 2px}

/* Account pages */
.auth-card{text-align:center}
.auth-card h1{margin-bottom:18px}
.auth-card form{max-width:390px;margin:0 auto;text-align:left}
.auth-card .button{justify-self:center;min-width:180px}
.auth-card>p{text-align:center}
.auth-divider{max-width:390px;margin:20px auto}

/* Documentation */
.docs-index,.docs-form-page,.review-page,.forum-page{max-width:1250px;margin:24px auto}
.docs-index>h1,.docs-form-page>h1,.review-page>h1,.forum-page>h1,.docs-article>h1{font-family:PopHappiness,var(--world-seurat),sans-serif;color:var(--orange);font-size:clamp(34px,4vw,56px);line-height:1.05;margin:0 0 10px}
.docs-intro{font-size:18px;color:var(--navy);max-width:850px;margin:0 0 10px}
.docs-credit{color:var(--muted);margin:0 0 25px;max-width:880px}
.docs-section{margin:0 0 25px}
.docs-section h2,.docs-community-notes>h2{font-size:22px;border-bottom:1px solid var(--line);padding-bottom:7px;margin:0 0 12px}
.docs-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.docs-card{display:flex;flex-direction:column;gap:8px;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:6px;padding:16px;min-height:108px}
.docs-card:hover{border-color:var(--orange)}
.docs-card strong{font-size:17px}
.docs-card span{color:var(--muted);font-size:13px}
.docs-contribute-link{margin:24px 0}
.docs-sidebar{position:sticky;top:12px;align-self:start;max-height:calc(100vh - 24px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:6px;padding:12px}
.docs-sidebar a{display:block;text-decoration:none;color:var(--navy);padding:5px 9px;border-radius:4px;font-size:13px}
.docs-sidebar a:hover,.docs-sidebar a.active{background:#fff0e7;color:var(--orange-dark)}
.docs-sidebar-home{font-weight:800;margin-bottom:12px}
.docs-sidebar section{margin:12px 0 16px}
.docs-sidebar h2{font-size:13px;color:var(--orange-dark);text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;padding-left:9px}
.docs-article{max-width:970px;margin:18px auto 30px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px 34px}
.docs-breadcrumb{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:13px;margin-bottom:18px}
.docs-breadcrumb a,.docs-article a,.docs-community-notes a{color:var(--orange-dark)}
.docs-article-body{font-size:15px;line-height:1.68}
.docs-article-body h2{font-size:22px;line-height:1.25;margin:27px 0 7px}
.docs-article-body h3{font-size:18px;margin:20px 0 5px}
.docs-article-body p{margin:10px 0}
.docs-article-body ul,.docs-article-body ol{padding-left:24px}
.docs-article-body li{margin:6px 0}
.docs-article-body code,.docs-article-body pre{font-family:Consolas,monospace;background:#f6f2ec;border-radius:3px;padding:1px 4px}
.docs-article-body pre{padding:14px;overflow:auto}
.docs-article-body table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}
.docs-article-body td,.docs-article-body th{border:1px solid var(--line);padding:7px 9px;text-align:left}
.docs-sources{border-top:1px solid var(--line);margin-top:25px;padding-top:16px}
.docs-sources h2{font-size:18px;margin:0 0 8px}
.docs-sources ol{list-style:none;margin:0;padding:0}
.docs-sources li{margin:7px 0;font-size:13px;overflow-wrap:anywhere}
.docs-source-number{color:var(--orange-dark);font-weight:800}
.docs-community-notes{max-width:970px;margin:20px auto}
.docs-community-note{background:#fff;border:1px solid var(--line);border-radius:6px;padding:16px;margin:10px 0}
.docs-community-note h2{margin:0 0 8px;font-size:18px}
.docs-community-note p{margin:8px 0;line-height:1.55}
.docs-user-body{white-space:normal}
.docs-library-link{max-width:560px;margin:16px 0 25px}
.docs-library-link .docs-card{min-height:0;border-color:#f0ab82;background:#fff8f3}
.research-index .docs-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.research-index .research-card{min-height:0}
.research-search{display:grid;gap:6px;max-width:650px;margin:20px 0 26px}
.research-search label{font-weight:700}
.research-search>div{display:flex;gap:8px}
.research-search input{flex:1;min-width:0;border:1px solid var(--line);background:#fff;border-radius:5px;padding:10px 12px;color:var(--navy)}
.research-credit{padding:10px 12px;border:1px solid var(--line);border-radius:5px;background:#fff8f3;color:var(--muted);font-size:13px}
.research-credit strong{color:var(--navy)}
.research-body h1{font-size:31px;line-height:1.15;margin:20px 0 12px}
.research-body blockquote{border-left:3px solid var(--orange);padding:2px 14px;margin:15px 0;background:#fff8f3}
.research-body hr{border:0;border-top:1px solid var(--line);margin:24px 0}
.research-table-scroll{overflow-x:auto;margin:14px 0}
.research-body .research-table-scroll table{display:table;width:100%}
.research-body .research-indent-1{margin-left:15px}.research-body .research-indent-2{margin-left:30px}.research-body .research-indent-3{margin-left:45px}.research-body .research-indent-4{margin-left:60px}
.research-unavailable-link,.research-unavailable-image{color:#6c7885;border-bottom:1px dotted #a9b2bb;cursor:help}
.research-body pre{white-space:pre;max-width:100%}
.docs-form-page,.review-page{background:#fff;border:1px solid var(--line);border-radius:6px;padding:24px 30px}
.docs-form-page>p{color:var(--muted)}
.docs-review-link{max-width:1250px;margin:14px auto}
.world-form{display:grid;gap:14px;max-width:760px}
.world-form label,.project-filters label{display:grid;gap:5px;font-weight:700}
.world-form input,.world-form textarea,.world-form select,.project-filters input,.project-filters select,.forum-compose input,.forum-compose textarea,.forum-compose select,.forum-post-tools textarea,.forum-reply textarea{width:100%;padding:10px 11px;border:1px solid #d9c8bb;border-radius:5px;background:#fff;color:var(--navy);font:inherit}
.world-form textarea,.forum-compose textarea{resize:vertical}
.world-form .button{justify-self:start}
.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.review-card{border-top:1px solid var(--line);padding:16px 0}
.review-card h2{font-size:19px;margin:0 0 5px}
.review-card p{margin:7px 0;overflow-wrap:anywhere}
.review-body{white-space:pre-wrap;max-height:340px;overflow:auto;background:#faf7f2;border:1px solid var(--line);padding:12px;margin:12px 0}
.review-card form{display:flex;gap:9px;margin-top:12px}

/* Projects */
.project-filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:8px 0 20px}
.project-filters label{min-width:210px;flex:1}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.project-card{display:flex;flex-direction:column;min-height:185px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:16px}
.project-card-top{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.project-card-top span:first-child{color:var(--orange-dark);font-weight:800}
.project-card h2{font-size:18px;margin:10px 0 5px}
.project-card p{color:var(--muted);font-size:13px;margin:0 0 12px;flex:1}
.project-card>a{display:inline-flex;align-items:center;gap:5px;color:var(--orange-dark);text-decoration:none;font-weight:700;font-size:13px}
.project-card>a:hover{text-decoration:underline}

/* Forum */
.forum-page>p{color:var(--muted);font-size:17px;margin:0 0 20px}
.forum-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:24px}
.forum-category{display:flex;flex-direction:column;gap:6px;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:6px;padding:15px}
.forum-category:hover{border-color:var(--orange)}
.forum-category strong{font-size:17px}
.forum-category span{color:var(--muted);font-size:13px;flex:1}
.forum-category small{color:var(--orange-dark)}
.forum-list,.forum-compose,.forum-thread-page{background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px;margin-bottom:18px}
.forum-list h2,.forum-compose h2{font-size:22px;margin:0 0 12px}
.forum-thread{display:flex;flex-wrap:wrap;gap:5px 15px;text-decoration:none;padding:13px 4px;border-top:1px solid var(--line)}
.forum-thread strong{flex-basis:100%;font-size:16px}
.forum-thread span,.forum-thread small{color:var(--muted);font-size:12px}
.forum-thread:hover strong{text-decoration:underline}
.forum-compose form,.forum-reply form{display:grid;gap:12px}
.forum-compose label,.forum-reply label,.forum-post-tools label{display:grid;gap:6px;font-weight:700}
.forum-compose button,.forum-reply button{justify-self:start}
.forum-post{background:#fff;border:1px solid var(--line);border-radius:6px;padding:17px;margin:12px 0}
.forum-post header{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.forum-post header strong{color:var(--orange-dark)}
.forum-post header time,.forum-post header small{color:var(--muted);font-size:12px}
.forum-post-body{line-height:1.6;margin:10px 0;overflow-wrap:anywhere}
.forum-post-tools{border-top:1px solid var(--line);padding-top:8px;margin-top:12px}
.forum-post-tools summary{cursor:pointer;color:var(--orange-dark);font-size:13px}
.forum-post-tools form{margin:10px 0}
.forum-signin,.forum-empty{padding:15px;background:#fff;border:1px solid var(--line);border-radius:5px}
.forum-signin a{color:var(--orange-dark)}

/* Related sites */
.world-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.world-link-card{display:flex;gap:15px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:6px;text-decoration:none;background:#fff}
.world-link-card:hover{border-color:var(--orange)}
.world-link-card .icon:first-child{color:var(--orange)}
.world-link-card>span:nth-child(2){display:flex;flex-direction:column;flex:1}
.world-link-card strong{font-size:17px}
.world-link-card small{font-size:13px;color:var(--muted)}
.world-link-card>.icon:last-child{color:var(--orange);margin-left:auto}
.world-link-brand{width:56px;height:56px;display:grid;place-items:center;flex:none;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fff}
.world-link-brand img{width:100%;height:100%;object-fit:contain}

@media(max-width:1340px){.site-header{height:auto}.header-inner{flex-wrap:wrap;min-height:70px}.brand{margin-right:auto}.menu-toggle{display:flex}.primary-nav{display:none;order:5;width:100%;flex:0 0 100%;padding:0 0 10px;flex-wrap:wrap}.primary-nav.open{display:flex}.header-search{width:205px}}
@media(max-width:980px){.docs-card-grid,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.forum-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.site-shell.with-sidebar{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:760px){.docs-card-grid,.project-grid,.world-link-grid{grid-template-columns:1fr}.docs-sidebar{position:static;max-height:none;margin-bottom:15px}.site-shell.with-sidebar{display:block}.site-shell.docs-shell.with-sidebar{display:flex;flex-direction:column}.docs-shell main{order:1}.docs-shell .docs-sidebar{order:2}.docs-article{padding:20px 16px}.forum-categories{grid-template-columns:1fr 1fr}.form-columns{grid-template-columns:1fr}.project-filters{display:grid}.project-filters label{min-width:0}.site-footer{margin-top:auto}}
@media(max-width:500px){.forum-categories{grid-template-columns:1fr}.docs-index>h1,.forum-page>h1{font-size:38px}.world-link-card{padding:12px}.world-link-brand{width:45px;height:45px}}

/* Reviewed research access */
.research-gate{max-width:780px}
.research-gate p{line-height:1.6}
.access-page,.access-review{max-width:1000px}
.access-page>p,.access-review>p{max-width:760px;line-height:1.6}
.access-current,.access-pending{padding:12px 14px;border:1px solid var(--line);border-radius:5px;background:#fff8f2}
.access-current a{color:var(--orange-dark)}
.access-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.access-panel{background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px;margin:14px 0}
.access-panel h2{font-size:20px;margin:0 0 7px}
.access-panel>p{color:var(--muted);line-height:1.5}
.access-panel .world-form{margin-top:12px}
.access-panel .review-card form{display:flex;align-items:end;flex-wrap:wrap}
.access-panel .review-card label{flex-basis:100%}
.access-panel .review-card input{flex:1;min-width:180px;padding:9px;border:1px solid var(--line);border-radius:5px}
.access-grant{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:11px 0}
.access-grant span{display:flex;flex-direction:column;gap:3px}
.access-grant small{color:var(--muted)}
.access-grant .button{min-height:34px}
.access-issued{border:2px solid var(--orange);background:#fff8f2;padding:15px;border-radius:6px;margin:16px 0}
.access-issued code{display:block;overflow-wrap:anywhere;font:700 16px Consolas,monospace;margin-top:10px}
@media(max-width:760px){.access-columns{grid-template-columns:1fr}.access-grant{align-items:start;flex-direction:column}}
@media print{.research-gate,.docs-article.restricted-guide{display:none!important}}

.settings-block .font-choice{display:flex;align-items:center;gap:10px;font-weight:600}
.settings-block .font-choice input{width:auto;accent-color:var(--orange)}
.embed-tool{max-width:850px;margin:26px auto 60px}
.embed-tool h1{font-family:PopHappiness,Seurat,sans-serif;font-size:clamp(34px,5vw,52px);color:var(--orange);margin:0 0 9px}
.embed-tool>p{color:var(--muted);max-width:680px}
.embed-source-form,.embed-upload,.embed-result{padding:20px;margin:15px 0;border:1px solid var(--line);border-radius:7px;background:#fff}
.embed-source-form,.embed-upload{display:flex;align-items:end;flex-wrap:wrap;gap:12px}
.embed-source-form label,.embed-upload label,.embed-result label{display:grid;gap:6px;font-weight:700;flex:1 1 290px}
.embed-source-form input,.embed-upload input,.embed-result textarea{width:100%;padding:10px;border:1px solid #d9c8bb;border-radius:5px;color:var(--navy);background:#fff;font:inherit}
.embed-upload p{flex:1 0 100%;margin:0;color:var(--muted);font-size:13px}
.embed-result h2{margin:0 0 12px}.embed-result iframe{display:block;width:min(100%,600px);aspect-ratio:1;height:auto;border:0;background:#111;margin-bottom:15px}
.embed-result label{margin-top:12px}.embed-result textarea{resize:none;font-size:12px}
.forum-flipnote-embed{max-width:560px;margin:12px 0}.forum-flipnote-embed iframe{display:block;width:100%;aspect-ratio:1;height:auto;border:1px solid var(--line);border-radius:5px;background:#111}
.forum-flipnote-embed figcaption{font-size:12px;margin-top:5px}.forum-flipnote-embed a{color:var(--orange-dark)}
.forum-ppm-attach{display:flex;align-items:end;flex-wrap:wrap;gap:9px;border-top:1px solid var(--line);padding-top:11px}
.forum-ppm-attach label{flex:1 1 200px}.forum-ppm-attach small{flex:1 0 100%;color:var(--muted)}

.repo-import>.prose{margin-top:28px}.repo-import .resource-card{min-height:120px}
.project-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:14px}.project-toolbar .project-filters{flex:1;min-width:0;margin-bottom:0}.project-suggest-button{font-size:12px;min-height:36px;margin-top:25px;white-space:nowrap}
.project-suggestion-dialog{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:24px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--navy);box-shadow:0 15px 70px #34180044}.project-suggestion-dialog::backdrop{background:#21100899}.project-suggestion-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.project-suggestion-dialog h2{font-size:24px;margin:0}.project-suggestion-dialog>p{font-size:13px;color:var(--muted);line-height:1.7}.project-suggestion-dialog>header button{border:1px solid var(--line);background:#fff;color:var(--navy);font:inherit;font-size:24px;min-width:38px;min-height:38px;border-radius:5px;cursor:pointer}.project-suggestion-dialog .world-form{margin:18px 0 0}
