/* STEMDust v2 — luminous surfaces, ink typography, ember accents. */
:root{--canvas:#f8f7f5;--canvas-2:#fcfaf8;--ink:#07182e;--heading:#07182e;--text:#25334a;--muted:#606b7b;--primary:#d8320b;--primary-hover:#b82908;--primary-ink:#b82908;--accent-soft:#ffad85;--line:#ece9e5;--wash:#fff1e9;--focus:#b82908}
body{background:var(--canvas)}.app-header,.feed-home .app-header{background:#ffffffed;border-bottom:1px solid var(--line);box-shadow:0 3px 18px #442a0e05;backdrop-filter:blur(18px)}
.app-header__inner,.feed-home .app-header__inner{max-width:1600px;min-height:78px;gap:40px}
.app-header .brand,.feed-home .app-header .brand{color:var(--ink);font-size:var(--fs-xl);font-weight:750;letter-spacing:-1.5px}.app-header .brand span{color:var(--primary)}
.app-nav,.feed-home .app-nav{gap:24px}.app-nav a,.feed-home .app-nav a{color:var(--ink);font-size:var(--fs-xs);font-weight:550}.app-nav a:hover,.app-nav a[aria-current],.feed-home .app-nav a:hover,.feed-home .app-nav a[aria-current]{color:var(--ink);border-color:var(--primary)}
.header-login,.feed-home .header-login{color:var(--primary-ink);font-weight:600;padding-inline:12px}.header-signup.button{min-width:108px;min-height:40px;color:white;padding:8px 24px;font-size:var(--fs-xs)}
.button,.feed-home .button,.feed-home .question-entry .button{background:linear-gradient(180deg,#ce3910,#c82f08);color:#fff;border:1px solid #b82d0d;box-shadow:inset 0 1px 1px #ffad7b66,0 4px 10px #d7441210}.button:hover{background:var(--primary-hover);color:#fff}
.button--secondary,.feed-home .button--secondary{background:white;color:var(--primary-ink);border-color:#f0a18b;box-shadow:none}
.header-search,.feed-home .header-search{width:40px;background:transparent;border:0;padding:0;position:relative;color:var(--ink)}
.header-search-trigger{width:40px;height:40px;border:0;background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer}
.header-search input{position:absolute;right:42px;top:0;width:0;opacity:0;pointer-events:none;background:white;color:var(--ink);border:0;height:40px;border-radius:8px;transition:width .15s}
.header-search:focus-within input{width:240px;opacity:1;pointer-events:auto;padding:8px 12px;border:1px solid var(--line)}.header-search input::placeholder{color:var(--muted)}
.site-menu summary{color:var(--ink);border-color:var(--line)}.app-header a:focus-visible,.app-header summary:focus-visible{outline-color:var(--primary)}
.app-footer{background:var(--ink)}.app-footer .brand span{color:var(--accent-soft)}
/* Homepage */
.feed-home main.page,.feed-home.signed-in main{width:min(1600px,100%);max-width:1600px;margin:auto;padding:0 16px 32px 0}
.feed-home .feed-layout{display:grid;grid-template-columns:minmax(0,2.04fr) minmax(330px,1fr);gap:16px;align-items:start}
.feed-home .feed-left{position:relative;top:auto;display:block}.feed-home .feed-center{padding-top:16px}
.lab-hero{position:relative;overflow:hidden;--card-h:200px;padding-bottom:calc(var(--card-h) + 16px)}.lab-discovery{aspect-ratio:1/1.05;position:relative;z-index:1;display:grid;grid-template-columns:34% 27% 39%;align-items:start;background:radial-gradient(ellipse 330px 270px at 46% 28%,#fdfaf6 0 34%,#fdfaf6cc 62%,#fdfaf600 100%),radial-gradient(ellipse 340px 150px at 210px calc(100% - 80px),#04101a 0 26%,#04101ab8 56%,#04101a00 100%)}
.lab-portrait{position:absolute;inset:0;background:url('/static/stemdust/lab-hero-v2-optimized.webp') left top/cover no-repeat;z-index:0}
.lab-manifesto{grid-column:2;z-index:3;position:relative;padding-top:96px;text-align:center}.lab-manifesto h2{font-size:var(--fs-h1);font-weight:800;line-height:1.05;letter-spacing:-.045em;margin:0;color:var(--ink)}.lab-manifesto em{color:var(--primary-ink);font-style:normal;white-space:nowrap}.lab-manifesto h2 span{display:block;text-align:right;padding-right:24px;color:var(--primary);font-size:var(--fs-3xl);margin-top:12px}.lab-manifesto>p{font-style:italic;color:var(--text);font-size:var(--fs-base);line-height:1.45;margin:64px 0 0}
.lab-fields{grid-column:3;position:relative;z-index:3;padding:80px 0 0 12px}.lab-fields nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.lab-fields nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#ffffffb8;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 18px #12213604;text-decoration:none;padding:12px 4px 12px;min-height:145px;color:var(--ink)}.lab-fields img{width:84px;height:90px;object-fit:contain;mix-blend-mode:multiply;border-radius:8px}.lab-fields nav span{font-size:var(--fs-micro);font-weight:750;white-space:nowrap}.lab-fields nav a:hover{border-color:#f28c63;transform:translateY(-2px)}.lab-explore{display:flex;justify-content:center;gap:12px;align-items:center;min-height:46px;width:85%;margin:20px auto;border:1px solid var(--line);background:var(--wash);border-radius:var(--r-pill);text-decoration:none;font-size:var(--fs-xs);font-weight:600;color:var(--primary-ink);box-shadow:0 3px 8px #432e1d06}
.lab-purpose{position:absolute;left:32px;bottom:24px;color:white;z-index:3}.lab-purpose>p{font-size:var(--fs-micro);letter-spacing:.23em;line-height:1.8;margin-bottom:24px}.lab-purpose>div{display:flex;gap:20px}.lab-purpose>div>span{font-size:var(--fs-micro);letter-spacing:.01em;padding-right:20px;border-right:1px solid #ffffff45}.lab-purpose>div>span:last-child{border:0}.lab-purpose strong{display:block;font-size:var(--fs-xs);font-weight:550;letter-spacing:0;margin-top:8px}
.lab-banner{position:absolute;left:24px;right:24px;bottom:16px;z-index:2;display:flex;align-items:center;justify-content:space-between;min-height:200px;padding:32px 32px;border-radius:20px;background:radial-gradient(ellipse at 90% 140%,#3c3340 0,#072338 42%,#071725 68%);border:1px solid #a7907c;box-shadow:0 -3px 8px #ff92534d;overflow:hidden;color:white;text-decoration:none}.lab-banner:after{content:"";position:absolute;right:-100px;top:68px;width:530px;height:530px;border-radius:50%;border-top:2px solid #ffa563;box-shadow:0 -5px 18px #ff8f4244;transform:rotate(-15deg);pointer-events:none;z-index:0}.lab-banner:before{content:"";position:absolute;inset:0 0 0 auto;width:min(46%,420px);background:linear-gradient(to right,#04101a00,#04101ae6 62%);z-index:1;pointer-events:none}.lab-banner>div,.lab-banner>span{position:relative;z-index:2}.lab-banner p{font-size:var(--fs-micro);letter-spacing:.01em;}.lab-banner p:before{content:"";display:inline-block;width:20px;height:2px;background:#f56224;vertical-align:middle;margin-right:20px}.lab-banner h2{font-size:var(--fs-2xl);color:#fff;font-weight:450;line-height:1.1;margin:16px 0 0}.lab-banner>span{display:flex;flex-direction:column;align-items:flex-start;font-size:var(--fs-micro);letter-spacing:.01em;line-height:2.2}.lab-banner b{font-size:var(--fs-lg);display:block}
.feed-home .question-entry{display:block;padding:20px;background:#ffffffc9;border:1px solid var(--line);border-radius:20px;box-shadow:0 5px 20px #35231204;margin:0 0 20px}
.question-entry h2{display:flex;align-items:center;gap:12px;font-size:var(--fs-md);color:var(--ink);margin:0 0 12px}.question-entry h2>span{color:var(--primary);background:var(--wash);border-radius:50%;padding:4px 8px;font-size:var(--fs-xl)}
.feed-home .question-entry .composer-placeholder{border:1px solid var(--line);border-radius:14px;min-height:64px;padding:12px;font-size:var(--fs-xs);color:var(--muted);background:var(--surface);letter-spacing:0}
.feed-home .question-entry .composer-kinds{display:flex;gap:12px;border:0;padding:12px 0 0;justify-content:flex-start;flex-wrap:wrap}.composer-kinds a{font-size:var(--fs-micro);color:var(--muted);text-decoration:none}
.feed-home .question-entry .composer-action{display:flex;justify-content:flex-end;border:0;padding-top:12px}.feed-home .question-entry .button{font-size:var(--fs-xs);min-height:40px;min-width:155px;padding:8px 20px}
.feed-home .stream-panel{background:transparent;border:0;border-radius:0}.feed-home .stream-heading{padding:0 12px 8px}.feed-home .stream-heading .eyebrow{font-size:var(--fs-micro);letter-spacing:.2em;color:var(--muted);margin-bottom:8px}.feed-home .stream-heading h1{font-size:var(--fs-xl);color:var(--ink);font-weight:700}.feed-home .stream-heading>a{display:none}
.feed-home .feed-search{margin:0 12px 4px;background:var(--surface);border-color:var(--line);border-radius:14px}.feed-home .feed-search input{height:38px;font-size:var(--fs-xs)}.feed-home .feed-search button{color:var(--ink);font-size:var(--fs-micro)}
.feed-home .stream-tabs{padding:0 12px;gap:20px;border-color:var(--line)}.feed-home .stream-tabs a{min-height:46px;min-width:24px;justify-content:center;font-size:var(--fs-micro);color:var(--muted)}.feed-home .stream-tabs a[aria-current]{color:var(--primary-ink);border-color:var(--primary);border-width:2px}
.feed-home .feed-records{padding:12px 4px;background:transparent}
.feed-home .feed-records .compact-post,.compact-post{border:1px solid var(--line);border-radius:14px;background:white;box-shadow:0 3px 8px #182d4805;padding:16px;margin-bottom:12px;position:relative}
.feed-home .feed-records .compact-post .post-thumbnail,.compact-post .post-thumbnail{width:68px;height:68px;float:right;margin:0 0 8px 12px;border-radius:14px;object-fit:cover}
.feed-home .feed-records .compact-post h2,.compact-post h2{font-size:var(--fs-md);line-height:1.22;letter-spacing:-.035em;margin:8px 0 8px}.feed-home .feed-records .compact-post h2 a,.compact-post h2 a{color:var(--ink)}
.feed-home .feed-records .post-type{font-size:var(--fs-micro);margin:0;display:flex;gap:8px;flex-wrap:wrap}.feed-home .feed-records .post-type span:first-child{padding:4px 8px;border:1px solid #f5a38d;background:#fff9f5;color:var(--primary-ink);border-radius:20px}.feed-home .feed-records .post-type span:nth-child(2){background:#f5f6f7;color:#394960;padding:4px 8px;border-radius:14px}
.feed-home .feed-records .post-excerpt{font-size:var(--fs-xs);line-height:1.5;color:var(--muted);margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post-foot,.feed-home .post-foot{display:flex;align-items:center;gap:8px;clear:both;font-size:var(--fs-micro);color:var(--muted);margin:8px 0 0;flex-wrap:wrap}.post-author{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-micro);color:var(--ink);font-weight:600}.post-author-avatar{display:grid;place-items:center;width:28px;height:28px;background:#082033;color:white;border-radius:50%;font-size:var(--fs-xs)}.feed-home .post-foot a{margin-left:auto;font-size:var(--fs-micro);color:var(--primary-ink)}
.feed-home .question-guide{margin:4px 4px 20px;border-radius:14px;border-color:var(--line)}.feed-home .feed-left--member{padding:20px}
/* Full project */
.project-page{background:var(--canvas)}.project-page .project-breadcrumb{background:transparent;color:var(--muted);max-width:1440px;margin:auto;padding:20px 32px;min-height:auto;gap:12px;font-size:var(--fs-xs)}.project-page .project-breadcrumb a{color:var(--text)}
.project-page main.page{width:min(1376px,100% - 64px);padding:0 0 56px}.project-page .project-overview{grid-template-columns:minmax(0,1fr) 280px;gap:0;border-radius:20px;background:#ffffffa8;border:1px solid var(--line);overflow:visible}
.project-page .research-heading{display:block;padding:24px;border:0;background:transparent;position:relative;margin:0}.project-labels{display:flex;gap:8px;align-items:center;padding-right:128px;flex-wrap:wrap}.project-page .project-kind{display:inline-block;background:#fff1e8;color:var(--primary-ink);border-radius:20px;padding:4px 12px;font-size:var(--fs-xs)}.project-progress{display:inline-block;color:#b8320e;background:#fff6ef;border-radius:20px;padding:4px 8px;font-size:var(--fs-micro)}
.project-page .research-heading h1{font-size:var(--fs-h1);line-height:1.12;letter-spacing:-.045em;max-width:820px;margin:24px 0 12px;color:var(--ink)}.project-page .research-heading .lede{color:light-dark(#1f2937,#e8e1da);font-size:16px;font-weight:400;line-height:1.65;font-family:Inter,"Helvetica Neue",-apple-system,BlinkMacSystemFont,Roboto,system-ui,sans-serif;font-optical-sizing:auto;max-width:70ch;margin:0 0 1.25rem}.project-page .project-meta{font-size:var(--fs-xs);color:var(--ink);margin:12px 0 0}.project-page .project-meta small{font-size:var(--fs-micro);color:var(--muted);margin-top:4px}.project-page .account-avatar{background:#092336;color:#fff}
.project-visual{padding:20px;border-left:1px solid var(--line);display:flex;align-items:flex-start;justify-content:center}.project-visual img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;height:auto}
.project-reading-menu{position:absolute;right:22px;top:28px;z-index:5;font-size:var(--fs-xs)}.project-reading-menu>summary{border:1px solid #eb8d72;border-radius:20px;padding:4px 12px;color:var(--primary-ink);cursor:pointer;list-style:none}.project-reading-menu[open]{background:white;border-radius:14px;box-shadow:0 10px 40px #14203622;width:min(350px,85%);padding:16px}.project-reading-menu .reading-controls{display:block}.project-reading-menu .reading-controls form{margin:12px 0}.project-reading-menu .reading-controls button{font-size:var(--fs-xs)}
.project-page .tab-nav{margin:8px 0 16px;padding:0 12px;gap:32px;border-color:var(--line)}.project-page .tab-nav a{font-size:var(--fs-xs);color:var(--muted)}.project-page .tab-nav a[aria-current]{color:var(--primary-ink);border-color:var(--primary)}
.project-page .research-columns{grid-template-columns:minmax(0,1fr) 290px;gap:20px}.project-page .research-body{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:14px;font-size:var(--fs-base);color:var(--muted)}.project-page .research-body h2{font-size:var(--fs-lg);color:var(--ink)}.project-page .read-section{margin-top:24px;padding-top:24px}.project-page .read-section:first-child{margin:0;padding:0;border:0}.project-page .research-rail .community-card{padding:20px;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 12px #14203004}.project-page .research-rail h2{font-size:var(--fs-md);color:var(--ink);margin:12px 0}.project-page .research-rail .button{width:100%;justify-content:center;font-size:var(--fs-xs)}.project-page .research-rail p{font-size:var(--fs-xs);line-height:1.55}.project-page .research-rail .rail-link{font-size:var(--fs-xs);display:block;margin-top:8px}.project-author-card .project-meta{gap:8px}.project-page .project-edit{font-size:var(--fs-xs)}
@media(min-width:1600px){.lab-fields nav a{min-height:162px}}
@media(max-width:1180px){.app-header__inner,.feed-home .app-header__inner{gap:24px}.app-nav,.feed-home .app-nav{gap:20px}.lab-hero{--card-h:166px}.lab-manifesto{padding-top:80px}.lab-manifesto h2{font-size:var(--fs-xl)}.lab-manifesto>p{font-size:var(--fs-xs);margin-top:56px}.lab-fields{padding-top:64px}.lab-fields nav{gap:8px}.lab-fields nav a{min-height:116px;padding:8px 4px;gap:8px}.lab-fields img{width:65px;height:70px}.lab-fields nav span{font-size:var(--fs-micro)}.lab-purpose{left:24px}.lab-purpose>div{gap:12px}.lab-purpose>div>span{padding-right:12px}.lab-purpose strong{font-size:var(--fs-micro)}.lab-banner{padding:24px;min-height:166px}.lab-banner h2{font-size:var(--fs-xl)}.feed-home .feed-layout{grid-template-columns:minmax(0,1.8fr) minmax(310px,1fr);gap:12px}.feed-home .question-entry{padding:16px}.question-entry h2{font-size:var(--fs-base)}.feed-home .stream-heading h1{font-size:var(--fs-lg)}.project-page .project-overview{grid-template-columns:minmax(0,1fr) 240px}}
@media(max-width:900px){.feed-home .feed-layout{grid-template-columns:minmax(0,1fr)}.feed-home main.page{padding:0 16px 32px}.feed-home .feed-center{padding:20px 0}.lab-hero{--card-h:166px}.lab-manifesto h2{font-size:var(--fs-2xl)}.lab-fields nav a{min-height:135px}.lab-fields img{width:80px;height:85px}.lab-fields nav span{font-size:var(--fs-micro)}.lab-banner{margin-left:0}.feed-home .feed-left--member{padding:16px 0}.project-page .project-overview{grid-template-columns:minmax(0,1fr) 200px}.project-page .research-columns{grid-template-columns:minmax(0,1fr)}.project-page .research-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-labels{padding-right:96px}}
@media(max-width:600px){.app-header__inner,.feed-home .app-header__inner{min-height:68px;gap:12px;width:calc(100% - 32px)}.app-header .brand,.feed-home .app-header .brand{font-size:var(--fs-lg)}.app-header__actions{gap:4px}.header-signup.button{min-width:70px;padding:8px 12px;font-size:var(--fs-xs)}.header-login,.feed-home .header-login{font-size:var(--fs-xs);padding:0 8px}.header-search{display:none}.site-menu summary{width:34px;height:38px}.lab-discovery{aspect-ratio:auto;min-height:0;grid-template-columns:minmax(0,1fr);background:none;padding-top:24px}.lab-hero{padding-bottom:0}.lab-banner{position:relative;left:auto;right:auto;bottom:auto}.lab-banner:before{inset:0;width:auto;background:linear-gradient(to right,#04101a8c,#04101ad9)}.lab-portrait{position:relative;inset:auto;height:300px;background-position:left 8%;background-size:130% auto;-webkit-mask-image:none;mask-image:none}.lab-manifesto{grid-column:1;padding-top:0}.lab-manifesto h2{font-size:var(--fs-xl)}.lab-manifesto h2 span{display:inline-block;text-align:left;font-size:var(--fs-xl);margin:0 0 0 8px;padding:0;vertical-align:-3px}.lab-manifesto>p{margin-top:16px;font-size:var(--fs-xs)}.lab-fields{grid-column:1;padding:24px 0 0;align-self:auto;margin-top:0}.lab-fields nav{grid-template-columns:repeat(3,1fr);gap:8px}.lab-fields nav a{min-height:94px;padding:8px;gap:4px}.lab-fields img{height:55px;width:60px}.lab-purpose{display:none}.lab-explore{margin:12px auto;width:75%}.lab-banner{flex-direction:column;align-items:flex-start;gap:16px;margin-top:8px;padding:24px;min-height:160px}.lab-banner h2{font-size:var(--fs-xl)}.lab-banner>span{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 16px;font-size:var(--fs-micro);line-height:1.6}.lab-banner p{font-size:var(--fs-micro)}.project-page main.page{width:calc(100% - 28px)}.project-page .project-breadcrumb{padding:16px;font-size:var(--fs-micro);white-space:normal;line-height:1.5}.project-page .project-overview{grid-template-columns:minmax(0,1fr)}.project-page .research-heading{padding:20px}.project-page .research-heading h1{font-size:var(--fs-xl);margin-top:20px}.project-visual{border-left:0;padding:0 20px 20px;justify-content:flex-start}.project-visual img{width:150px}.project-reading-menu{top:22px;right:16px}.project-labels{padding-right:96px;gap:4px}.project-page .project-kind,.project-progress{font-size:var(--fs-micro)}.project-page .research-rail{grid-template-columns:minmax(0,1fr)}.project-page .research-body{padding:20px}.project-page .tab-nav{gap:24px}.tab-nav,.project-page .tab-nav{flex-wrap:wrap;overflow-x:visible}.feed-home .stream-tabs{gap:16px}.header-search:focus-within input{width:160px}}
.feed-home{--primary:#d8320b;--primary-hover:#b82908;--primary-ink:#b82908;--ink:#07182e;--text:#25334a;--muted:#606b7b;--canvas:#f8f7f5;--line:#ece9e5}
.project-page .project-breadcrumb{justify-content:flex-start;width:min(1440px,100%)}
.project-page .project-breadcrumb span{color:#536178}
.project-page .project-breadcrumb span:last-child{color:var(--text)}
.project-page .research-rail .rail-link{padding:0;border:0;min-height:28px;color:var(--primary-ink)}
.project-page .research-rail .button{border-radius:20px}
.project-idea-summary p{white-space:pre-line;margin:0 0 16px}
.project-idea-summary .idea-callout{border-left:3px solid var(--primary);background:#faf7f4;color:var(--ink);padding:12px 16px;border-radius:0 8px 8px 0}
.app-header .site-menu summary,.feed-home .app-header .site-menu summary{color:var(--ink);border-color:var(--line)}
.app-header .site-menu[open] summary,.feed-home .app-header .site-menu[open] summary{background:var(--wash);color:var(--ink)}
.project-page{--primary:#d8320b;--primary-hover:#b82908;--primary-ink:#b82908;--ink:#07182e;--text:#25334a;--muted:#606b7b;--line:#ece9e5}
.project-page .research-body p{color:var(--muted)}
@media(max-width:600px){.feed-home .app-header .header-search{display:none}}

/* Compact layouts use the existing spacing scale and fluid content sizing.
   All desktop styles above remain unchanged. */
.mobile-lab-story{display:none}
@media(max-width:56.25em){
  .feed-home .header-login,.feed-home .header-search{display:none}
  .feed-home .app-header__inner{min-height:var(--sp-10);gap:var(--sp-3)}
  .feed-home .app-header__actions{gap:var(--sp-2)}
  .feed-home .site-menu summary{width:var(--tap);height:var(--tap)}
  .feed-home main.page{padding:0 var(--sp-3) var(--sp-7)}
  .feed-home .feed-layout{gap:var(--sp-3)}
  .feed-home .feed-left{min-width:0}
  .feed-home .lab-hero{padding:0;overflow:visible}
  .feed-home .lab-portrait{position:absolute;inset:0 0 auto;height:clamp(12rem,52vw,17rem);background-position:left top;background-size:cover;mask-image:none;-webkit-mask-image:none;border-radius:0 0 var(--sp-4) var(--sp-4)}
  .feed-home .lab-discovery{display:block;aspect-ratio:auto;min-height:0;padding:0;background:none}
  .feed-home .lab-discovery:before,.feed-home .lab-discovery:after{display:none}
  .feed-home .lab-manifesto{display:flex;align-items:center;justify-content:flex-end;min-height:clamp(12rem,52vw,17rem);padding:var(--sp-4);text-align:left;box-sizing:border-box}
  .feed-home .lab-manifesto h2{width:52%;font-size:clamp(1.125rem,4.8vw,2rem);line-height:1.08;letter-spacing:-.045em;text-shadow:0 0 1em #fff9}
  .feed-home .lab-manifesto h2 span{display:inline;margin:0 0 0 .25em;padding:0;font-size:1em;vertical-align:baseline}
  .feed-home .lab-manifesto>p,.feed-home .lab-purpose,.feed-home .lab-hero>.lab-banner{display:none}
  .feed-home .lab-fields{padding:var(--sp-3) 0 0;margin:0;display:flex;gap:var(--sp-2);align-items:stretch;min-width:0}
  .feed-home .lab-fields nav{display:flex;gap:var(--sp-2);overflow-x:auto;min-width:0;flex:1;scroll-snap-type:x proximity;padding-bottom:var(--sp-1);overscroll-behavior-x:contain}
  .feed-home .lab-fields nav a{flex:0 0 auto;min-height:0;min-width:5em;padding:var(--sp-2);gap:var(--sp-1);scroll-snap-align:start;border-radius:var(--sp-3)}
  .feed-home .lab-fields img{width:2.5rem;height:2.5rem}
  .feed-home .lab-fields nav span{font-size:var(--fs-micro)}
  .feed-home .lab-explore{width:auto;min-width:0;flex:0 0 4.5em;min-height:var(--tap);margin:0 0 var(--sp-1);padding:var(--sp-2);border-radius:var(--sp-3);text-align:center;font-size:var(--fs-xs);flex-direction:column;gap:var(--sp-1)}
  .feed-home .feed-center{padding:0;min-width:0}
  .feed-home .question-entry{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);padding:var(--sp-3);margin:0 0 var(--sp-4);border-radius:var(--sp-4)}
  .feed-home .question-entry h2{font-size:var(--fs-base);flex:1;min-width:10em;margin:0;gap:var(--sp-2)}
  .feed-home .question-entry h2>span{font-size:var(--fs-lg);padding:var(--sp-1) var(--sp-2)}
  .feed-home .question-entry .composer-placeholder,.feed-home .question-entry .composer-kinds{display:none}
  .feed-home .question-entry .composer-action{padding:0}
  .feed-home .question-entry .button{min-width:0;min-height:var(--tap);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-xs)}
  .feed-home .stream-heading{padding:0 0 var(--sp-2)}
  .feed-home .stream-heading .eyebrow{display:none}
  .feed-home .stream-heading h1{font-size:clamp(1.25rem,4vw,1.7rem)}
  .feed-home .feed-search{margin:0 0 var(--sp-1)}
  .feed-home .feed-search input{font-size:var(--fs-xs);min-height:var(--tap)}
  .feed-home .stream-tabs{padding:0;gap:var(--sp-4);overflow-x:auto}
  .feed-home .stream-tabs a{font-size:var(--fs-xs);min-height:var(--tap);white-space:nowrap}
  .feed-home .feed-records{padding:var(--sp-2) 0}
  .feed-home .feed-records .compact-post{padding:var(--sp-4);margin-bottom:var(--sp-3)}
  .feed-home .feed-records .compact-post h2{font-size:var(--fs-md)}
  .feed-home .feed-records .post-excerpt{font-size:var(--fs-sm)}
  .feed-home .post-foot,.feed-home .post-author,.feed-home .post-foot a{font-size:var(--fs-xs)}
  .feed-home .question-guide{margin:var(--sp-4) 0}
  .feed-home .mobile-lab-story{display:block;margin-top:var(--sp-6)}
  .mobile-lab-story>p{font-style:italic;text-align:center;color:var(--muted);padding:var(--sp-4)}
  .feed-home .mobile-lab-story .lab-banner{position:relative;inset:auto;margin:0;min-height:0;padding:var(--sp-6);gap:var(--sp-4);flex-wrap:wrap}
}
.lab-mobile-label{display:none}
@media(max-width:56.25em){
  .lab-explore .lab-desktop-label{display:none}
  .lab-explore .lab-mobile-label{display:inline}
}

@media(max-width:56.25em){.feed-home .lab-portrait{background-image:url('/static/stemdust/lab-hero-mobile.webp')}}

/* The guest artwork shares the feed's height; its content remains naturally sized. */
@media(min-width:56.251em){
  .signed-out.feed-home .feed-left{align-self:stretch;background:#04101a}
  .signed-out.feed-home .lab-hero{position:sticky;top:var(--lab-sticky-top,0)}
  .signed-out.feed-home main.page{padding-bottom:0}
}

/* Shared human/AI contribution workflow; scoped away from the homepage. */
.participation-page { max-inline-size: 64rem; margin-inline: auto; }
.participation-page .community-card { margin-block: 1.5rem; }
.participation-page label { display: block; margin-block: 1rem .5rem; font-weight: 600; }
.participation-page textarea,
.participation-page select { display: block; box-sizing: border-box; inline-size: 100%; max-inline-size: 100%; padding: .85rem; border: 1px solid #d8d2cd; border-radius: .75rem; background: #fff; color: #091a2b; font: inherit; }
.participation-page textarea { min-block-size: 18rem; resize: vertical; line-height: 1.55; }
.participation-page pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.participation-page code { overflow-wrap: anywhere; }
.participation-page button { margin-block: .5rem; }

/* READING TYPOGRAPHY -------------------------------------------------------
   Deliberately lives in modern.css, which base.html loads AFTER screens.css,
   so these win on source order rather than a specificity hack. The previous
   pairing (screens.css: 15px + var(--muted) #6f6763) measures 5.53:1 on white:
   it clears WCAG AA but reads as grey mush in long copy. #1f2937 is 14.68:1
   and clears AAA. light-dark() keeps the staged dark palette honest; today
   color-scheme is light only, so this resolves to #1f2937 exactly as asked.
   Body copy is Inter, not the Inter Tight used for headings and UI chrome. */
.project-page .research-body p,
.project-page .research-body li,
.project-idea-summary p,
.preserve-lines{
  color:light-dark(#1f2937,#e8e1da);
  font-size:16px;
  font-weight:400;
  line-height:1.65;
  font-family:Inter,"Helvetica Neue",-apple-system,BlinkMacSystemFont,Roboto,system-ui,sans-serif;
  font-optical-sizing:auto;
}
.project-page .research-body p,
.project-idea-summary p,
.preserve-lines{margin:0 0 1.25rem}
.project-page .research-body li{margin:0 0 .5rem}
